Der Codex-Agentenloop: Ein Blick hinter die Kulissen der Codex CLI
Die Codex CLI ist ein plattformübergreifender lokaler Software-Agent, der entwickelt wurde, um qualitativ hochwertige und zuverlässige Softwareänderungen zu erzeugen, während er sicher und effizient auf den Maschinen der Benutzer arbeitet. In diesem ersten Teil einer Serie von Beiträgen wird untersucht, wie Codex funktioniert, wobei der Fokus auf dem Agentenloop liegt, der die Kernlogik darstellt, die für die Orchestrierung der Interaktion zwischen dem Benutzer, dem Modell und den Werkzeugen, die das Modell zur Durchführung von Arbeiten aufruft, verantwortlich ist.
Der Agentenloop
Im Herzen jedes KI-Agenten befindet sich etwas, das als „Agentenloop“ bezeichnet wird. Eine vereinfachte Darstellung des Agentenloops sieht folgendermaßen aus:
- Der Agent nimmt Eingaben vom Benutzer entgegen, die in die Menge der Textanweisungen einfließen, die er für das Modell vorbereitet, bekannt als Prompt.
- Der nächste Schritt besteht darin, das Modell abzufragen, indem die Anweisungen gesendet werden, um eine Antwort zu generieren, ein Prozess, der als Inferenz bekannt ist.
- Während der Inferenz wird der Textprompt zunächst in eine Sequenz von Eingabetoken übersetzt – ganze Zahlen, die in das Vokabular des Modells indexieren.
- Diese Tokens werden dann verwendet, um das Modell zu sampeln, was eine neue Sequenz von Ausgabetokens produziert.
- Die Ausgabetokens werden zurück in Text übersetzt, der zur Antwort des Modells wird.
Da Tokens inkrementell erzeugt werden, kann diese Übersetzung stattfinden, während das Modell läuft, was der Grund ist, warum viele LLM-basierten Anwendungen Streaming-Ausgaben anzeigen. In der Praxis ist die Inferenz normalerweise hinter einer API gekapselt, die auf Text arbeitet und die Details der Tokenisierung abstrahiert.
Modell-Inferenz
Die Codex CLI sendet HTTP-Anfragen an die Responses API, um die Modellinferenz durchzuführen. Die Responses API ist konfigurierbar, sodass sie mit jedem Endpunkt verwendet werden kann, der die Responses API implementiert. Wenn die Codex CLI mit ChatGPT-Login verwendet wird, verwendet sie den Endpunkt https://chatgpt.com/backend-api/codex/responses.
Erstellung des initialen Prompts
Als Endbenutzer geben Sie nicht den Prompt an, der verwendet wird, um das Modell wörtlich zu sampeln, wenn Sie die Responses API abfragen. Stattdessen geben Sie verschiedene Eingabetypen als Teil Ihrer Abfrage an, und der Responses API-Server entscheidet, wie diese Informationen in einen Prompt strukturiert werden, den das Modell konsumieren kann.
Leistungsüberlegungen
Eine häufige Frage könnte sein: „Ist der Agentenloop nicht quadratisch in Bezug auf die Menge an JSON, die im Laufe der Konversation an die Responses API gesendet wird?“ Das ist korrekt. Während die Responses API einen optionalen previous_response_id-Parameter unterstützt, um dieses Problem zu mildern, verwendet Codex dies derzeit nicht, hauptsächlich um die Anfragen vollständig zustandslos zu halten und Konfigurationen mit Zero Data Retention (ZDR) zu unterstützen.
Fazit
Der Agentenloop bildet die Grundlage für Codex und ist nur der Anfang. In zukünftigen Beiträgen werden wir die Architektur der CLI näher untersuchen, wie die Werkzeugnutzung implementiert ist und einen genaueren Blick auf das Sandboxing-Modell von Codex werfen.










Hinterlasse einen Kommentar
An der Diskussion beteiligen?Hinterlasse uns deinen Kommentar!