Der Data Chat im Nakoa Brain beantwortet Fragen in natürlicher Sprache in zwei Stufen. In der ersten übersetzt ein Modell die Frage in SQL auf BigQuery; dafür bekommt es im System-Prompt den semantischen Katalog des Kunden mit Beschreibung, Granularität, Spalten und Verwendungshinweisen zu jeder View. In der zweiten interpretiert ein weiteres Modell das Abfrageergebnis im Kontext des Kunden, also vor dem Hintergrund seiner Ziele, KPI-Zielwerte und Strategie, erkennt Muster und formuliert daraus die Antwort mit Diagramm. Dieser Beitrag betrifft die erste Stufe. Mit jeder neuen Datenquelle ist der Katalog gewachsen, und mit ihm der Prompt für die SQL-Generierung.

Was die Messung gezeigt hat

Im Mittel umfasste der Prompt für die SQL-Generierung 157.000 Tokens, und 88 bis 95 Prozent davon waren Beschreibungen von Views. Die generierten Abfragen nutzten im Schnitt aber nur 1,1 bis 1,7 Views. Der weitaus größte Teil des Kontexts lag also bei jeder Frage ungenutzt im Prompt und kostete Latenz und Tokens.

Vorauswahl der Views

Der SQL-Generierung läuft deshalb inzwischen ein Routing-Schritt voraus. Ein kleines Sprachmodell bekommt pro View eine kompakte Karte mit Beschreibung, Granularität, Verwendungszweck, typischen Fragen und Spaltennamen und gibt per strukturierter Ausgabe die Views zurück, die die Abfrage brauchen könnte; zulässig sind dabei nur Views aus dem Katalog des Kunden. Ergänzt werden die Views der vorherigen Abfrage, damit Folgefragen funktionieren, und die zwei meistgenutzten Views des Kunden. Der SQL-Prompt enthält danach nur noch diese Auswahl. In unserer Messung trifft sie in 88 Prozent der Fälle genau die Views der tatsächlich ausgeführten Abfrage, und der Prompt schrumpft um rund 80 Prozent.

Rückweg zum vollständigen Katalog

Im Zweifel nimmt der Router eine View mehr, denn eine fehlende View macht die Frage unbeantwortbar. Findet die SQL-Generierung mit der Auswahl keine Antwort oder lehnt BigQuery die Abfrage ab, läuft ein zweiter Versuch mit dem vollständigen Katalog. Fachliche Bedeutung sichern wir zusätzlich mit festen Regeln ab: Eine Umsatzfrage ohne Werbebezug bekommt immer die Umsatz-Views des Shops, nachdem der Router dafür einmal nur Werbe-Views gewählt hatte.

Der nächste Schritt

Denselben Mechanismus wenden wir als Nächstes auf den Business-Kontext an. In die Interpretation geht heute der gesamte aktive Kontext eines Kunden ein, mit den kuratierten Aussagen zu Zielen, KPI-Zielwerten und Strategie. Die Hinweise zur Bedeutung der Spalten bekommt diese Stufe bereits nur für die Views, die die Abfrage tatsächlich genutzt hat. Auch beim Business-Kontext braucht eine einzelne Frage nur einen Ausschnitt, und auch dort soll eine Vorauswahl den Prompt verkleinern.

Für die Vorauswahl selbst evaluieren wir Decision Models, die gerade in den Markt kommen, etwa Jev von TypeSafe AI, die Decisions API von OpenAI oder das offene Modell Laya. Sie wählen aus einer festen Menge von Antworten und geben dazu eine Wahrscheinlichkeit an; die Anbieter nennen Antwortzeiten von wenigen hundert Millisekunden bei einem Bruchteil der Kosten eines Sprachmodells. Ob eine View oder ein Teil des Business-Kontexts in den Prompt kommt, ist genau eine solche Entscheidung.

Die Frage aus Kontextmodellierung ist die eigentliche Engineering-Aufgabe, wer den Kontext kuratiert, hat damit für die SQL-Generierung eine erste Antwort.