Der Kontext wird zusammengesetzt
Ein Auftrag nennt eine Aufgabe, einen Zweck und die Objekte, um die es geht. Daraus bildet die Laufzeit einen Kontextplan: welche Objekttypen, welche Eigenschaften und welche Beziehungen bis zu welcher Tiefe in den Kontext gehören. Der Plan gehört zur Art des Auftrags und liegt als versionierte Konfiguration vor. Er wird nicht vom Sprachmodell geschrieben.
Die Abfragen gegen die Ontologie führt die Laufzeit mit dem Token des Auftrags aus, also mit der Schnittmenge aus dem Recht der Person und dem der Agentenrolle. Das Sprachmodell hat keinen eigenen Zugang zu Datenbanken. Will es mehr wissen, ruft es ein Werkzeug zum Lesen auf, und auch dieser Aufruf läuft durch die Rechteprüfung. Auch Lesen ist eine Handlung.
Der Kontext besteht aus Auftrag und Regeln auf der einen Seite und Inhalten auf der anderen: Objekte, Dokumente, Nachrichten. Die erste Seite kommt aus dem System, die zweite aus den Daten und gilt nie als Anweisung.
Kontext im Schnitt
Unten die Ontologie mit ihren Objekten. Darüber prüft die Laufzeit Recht, Markierung und Zweck. Was durchgeht, bildet den Kontext, den das Sprachmodell liest.
- Sprachmodell (liest und schlägt vor): Prompt.
- Kontext (Auszug mit Herkunft): Objekt, Eigenschaft.
- Rechteprüfung (vor dem Prompt): Rolle, Markierung, Zweck.
- Ontologie (führend): Objekt.
- nur gefiltert: fließt von ontologie nach modell.
Filtern vor dem Prompt
Gefiltert wird auf der Ebene des Feldes, bevor etwas in den Prompt gelangt. Ein Feld ohne Leserecht, mit einer Markierung, die der Auftrag nicht trägt, oder ohne passenden Zweck fehlt im Kontext. Es wird nicht ausgeblendet, nachdem das Sprachmodell es gelesen hat, und nicht durch eine Bitte im Prompt geschützt. Was fehlt, kann nicht weitergegeben werden.
Wo schon die Existenz eines Objekts vertraulich ist, fehlt das ganze Objekt. Ein Platzhalter wie gesperrt würde verraten, dass es etwas gibt. Wo ein Agent über die Identität einer Person nachdenken muss, ohne ihren Namen zu brauchen, setzt die Laufzeit ein Pseudonym je Auftrag ein; die Rückabbildung geschieht erst beim Handeln, in der Laufzeit, und nicht im Sprachmodell.
Zugangsdaten zu Zielsystemen stehen in keinem Kontext. Sie liegen in der Laufzeit und werden einem Aufruf erst im Moment der Ausführung beigegeben.
Eigenschaft mal Rolle
Eine Eigenschaft kommt in den Kontext, wenn die Person sie lesen darf und die Rolle des Agenten sie lesen darf. Die Reiter wechseln den Zweck: Personenbezogenes gibt es nur zur Bearbeitung.
- Offene Eigenschaft: Person selbst, Agentenrolle selbst, Im Kontext selbst.
- Vertraulich: Person selbst, Agentenrolle nie, Im Kontext nie.
- Personenbezogen: Person selbst, Agentenrolle selbst, Im Kontext selbst.
- Zugangsdaten: Person nie, Agentenrolle nie, Im Kontext nie.
Jeder Eintrag trägt seine Herkunft
Der Kontext besteht nicht aus losem Text. Jeder Eintrag ist ein strukturierter Satz: Kennung des Objekts, Objekttyp, Eigenschaft, Wert, Herkunft mit Quelle und Zeile, Gültigkeitszeit und Erfassungszeit und die Version der Ontologie. Das Sprachmodell erhält ihn in einer festen Schreibweise und kann sich auf ihn über seine Kennung beziehen.
Antworten und Vorschläge, die Tatsachen behaupten, nennen die Kennungen der Einträge, auf die sie sich stützen. Die Laufzeit prüft, dass jede genannte Kennung im Kontext des Auftrags steht. Eine Behauptung ohne Beleg im Kontext gilt als unbelegt und wird als solche markiert oder abgewiesen. Das ist keine Garantie, dass das Sprachmodell richtig liest, aber es macht erfundene Quellen sichtbar.
Weil jeder Eintrag seine Zeiten trägt, lässt sich später der Stand nachvollziehen, auf dem ein Agent entschied. Der Kontext eines Auftrags ist ein Schnitt durch beide Zeitachsen der Ontologie.
Anweisung und Inhalt getrennt
Inhalte aus Dokumenten, Nachrichten und Feldern stehen im Kontext in einem gekennzeichneten Datenbereich. Das Sprachmodell erhält die Regel, dass Sätze darin Daten sind. Das senkt das Risiko einer Prompt Injection, schließt es aber nicht aus; die OWASP-Liste der Risiken für Anwendungen mit Sprachmodellen führt sie als LLM01.
Darum hängt die Sicherheit nicht an dieser Kennzeichnung. Ein Werkzeugaufruf, der aus einem Inhalt folgt, läuft mit dem Recht des Auftrags und mit keinem größeren, und seine Wirkung nach außen wartet auf eine Freigabe. Welche Werkzeuge ein Agent nach dem Lesen unvertrauter Inhalte noch hat, beschreibt die Seite zu den Werkzeugen.
Umfang und Protokoll
Das Kontextfenster eines Sprachmodells ist endlich. Passt der Auszug nicht hinein, wählt die Laufzeit innerhalb des erlaubten Raums nach Relevanz und Aktualität aus, nach einer festen Rangfolge und nicht nach der Stelle, an der der Text zufällig endet. Zusammenfassungen, die ältere Einträge ersetzen, tragen die Kennungen der Einträge weiter, aus denen sie entstanden.
Zu jedem Aufruf des Sprachmodells hält das Protokoll fest, welche Objekte und Eigenschaften in welcher Version in den Kontext gingen, dazu einen SHA-256-Prüfwert über die kanonische Form des Kontexts. Das Protokoll enthält die Kennungen und den Prüfwert, nicht die Inhalte. Weil die Ontologie beide Zeitachsen führt, lässt sich der Kontext aus den Kennungen und der Erfassungszeit rekonstruieren, und der Prüfwert zeigt, dass es derselbe ist.
So lässt sich später zeigen, was der Agent zu einem Zeitpunkt gesehen hat und was nicht. Das gilt für Rückfragen einer Aufsicht ebenso wie für die Auskunft an eine betroffene Person, und es gilt, ohne dass das Protokoll selbst Vertrauliches vervielfältigt.
Eckdaten
- Kontextplan
- je Art des Auftrags, versioniert; nennt Typen, Eigenschaften, Beziehungen und Tiefe
- Abfrage
- mit dem Token des Auftrags, Schnittmenge aus Recht der Person und Recht der Rolle
- Filter
- auf Feldebene vor dem Prompt: Leserecht, Markierung, Zweck; Objekte ganz weggelassen, wo die Existenz vertraulich ist
- Pseudonyme
- je Auftrag; Rückabbildung nur in der Laufzeit beim Handeln
- Eintrag
- Kennung, Typ, Eigenschaft, Wert, Herkunft, Gültigkeitszeit, Erfassungszeit, Version der Ontologie
- Belege
- Antworten nennen Kennungen; die Laufzeit prüft, dass sie im Kontext stehen
- Zugangsdaten
- nie im Kontext
- Protokoll
- Kennungen und SHA-256 über die kanonische Form, nicht die Inhalte
Weiter
- AXON · TechnikRechteWie AXON vor jedem Werkzeugaufruf im Server prüft, ob ein Agent handeln darf, und warum er nie mehr Recht hat als die Person, die ihn beauftragt.
- AXON · TechnikWerkzeugeWie ein Sprachmodell einen Werkzeugaufruf nur vorschlägt, die Laufzeit Schema und Recht prüft und Eingangstexte als Daten behandelt, nie als Anweisung.
- AXON · TechnikFreigabeWie der gebaute Prototyp ein Ja mit HMAC-SHA256 an eine Handlung bindet, es beim Einlösen verbraucht und jeden Eintrag an den Prüfwert des vorigen kettet.
- AXON · TechnikBewertungWie AXON Agenten mit festen Testfällen an Endzustand, Werkzeugaufrufen und Rechten misst, Streuung offenlegt und eine Änderung erst nach dem Vergleich einsetzt.
- AXON · TechnikSprachmodelleWie AXON Sprachmodelle über eine eigene Schnittstelle bindet, nach Markierung der Daten zulässt und beim Wechsel Rechte und Verlauf unverändert lässt.
- ProduktAXONAgenten arbeiten Vorgänge ab, mit Rechten und Verlauf
Welche Felder darf bei Ihnen nie ein Sprachmodell zu sehen bekommen? Daran legen wir mit Ihnen die erste Kontextregel fest.