Wer ist wofür zuständig
Sprachmodell, Laufzeit, Werkzeuge, Daten, Mensch: Jedes Teil beantwortet genau eine Frage. Das ist die Landkarte, mit der man jede Störung einordnet.
Die drei Begriffe, über die alle reden
Ein Programm, das aus einem Text den nächsten wahrscheinlichen Text erzeugt. Mehr nicht — und das ist wörtlich gemeint.
Es merkt sich nichts zwischen zwei Aufrufen. Dass ein Chatfenster sich „erinnert“, liegt nur daran, dass der bisherige Verlauf jedes Mal komplett neu mitgeschickt wird. Es tut auch nichts: Es kann keine Datei öffnen und keine Mail senden. Es kann nur sagen, dass es das gern täte — ausführen muss es Ihr Programm.
Ihr eigenes Programm — das, was die Schleife dreht. Es ruft das Modell, führt die gewünschten Werkzeuge aus, gibt die Ergebnisse zurück und zählt mit, wie oft das schon geschehen ist.
Ein SDK ist dabei nur eine fertige Hilfsbibliothek, die einem diese Schleife abnimmt. Es ist kein eigenes System und keine Wolke — es ist ein Paket, das Sie installieren, wie jedes andere auch.
Eine Vereinbarung, wie ein Programm einem Agenten Werkzeuge anbietet. Nicht mehr. Statt jedes Fremdsystem selbst anzubinden, spricht man ein einheitliches Format, und der Anbieter des Systems liefert die Werkzeuge mit.
Das spart Arbeit und öffnet zugleich eine Tür: Mit den Werkzeugen kommen auch deren Beschreibungen herein — Text, den jemand anderes geschrieben hat und den Ihr Agent liest, als käme er von Ihnen. Station 03 zeigt, wo diese Grenze verläuft.
Wozu diese Aufteilung gut ist
Die häufigste Frage im Betrieb lautet „Warum hat er das getan?“ — und sie ist unbeantwortbar, weil sie zu groß ist. Mit dieser Landkarte wird daraus eine kleine Frage: Welches Teil hat wann was gemacht? Und die steht im Protokoll (Station 04).
TiefeWas bei einem einzelnen Aufruf tatsächlich über die Leitung geht
Ein Aufruf ist eine gewöhnliche HTTPS-Anfrage mit einem JSON-Körper. Darin stehen im Wesentlichen vier Dinge:
- der Modellname und die Obergrenze für die Antwortlänge
- der Auftrag als Systemtext
- die Werkzeugbeschreibungen — Name, Beschreibung, Felder, jedes Mal vollständig
- der gesamte bisherige Verlauf: jede Frage, jede Antwort, jeder Werkzeugaufruf, jedes Werkzeugergebnis
Zurück kommt entweder Text („ich bin fertig, hier ist das Ergebnis“) oder ein Wunsch: „Ruf beleg_lesen mit dieser Datei auf.“ Ausgeführt wird nichts — der Anbieter hat keinen Zugriff auf Ihren Ordner. Ihr Programm führt aus und schickt das Ergebnis in der nächsten Anfrage mit.
Daraus folgen unmittelbar zwei Dinge, die sonst rätselhaft bleiben. Erstens die Kosten: Der Verlauf wächst, und er wird jedes Mal komplett neu übertragen und neu bezahlt. Zweitens die Vergesslichkeit: Zwischen zwei Aufrufen existiert beim Anbieter nichts. Was Sie nicht mitschicken, ist weg — deshalb ist das „Gedächtnis“ eines Agenten immer etwas, das Ihr Programm mitführt.