
Frühe Programmieragenten offenbarten etwas überraschend Mächtiges: Gewähren Sie einem Agenten Zugriff auf Bash, und es kann fast alles tun – vom Schreiben von Code über das Sammeln von Kontext bis hin zur Verwaltung vollständiger Git-Workflows.
Diese Erkenntnis trug dazu bei, eine breitere Bewegung hin zu CLI-First-Software voranzutreiben. Befehlszeilenschnittstellen erschienen zunehmend als Standardmethode, um KI-Agenten komplexe Anwendungen zugänglich zu machen, was zu einem bekannten Slogan führte:
CLI ist alles, was Sie brauchen.
Aber es gibt versteckte Kosten. Agenten verwenden ein Terminal oft ähnlich wie ein Mensch: Führen Sie einen kurzen Befehl aus, prüfen Sie das Ergebnis und entscheiden Sie dann, was als nächstes zu tun ist. Wenn Aufgaben komplexer werden, führt dies zu mehr Hin und Her zwischen dem Modell und seinen Tools, was mehr LLM-Aufrufe, mehr Kontextverschwendung und mehr Wartezeit bedeutet.
Anstatt Agenten zu bitten, komplizierte Shell-Skripte zusammenzustellen, würden wir es vorziehen, dass sie Aufgaben in einer Programmiersprache koordinieren, die sie bereits verstehen. Dies führt zu einer etwas anderen Architektur:
Behalten Sie die CLI als universellen Einstiegspunkt bei, verwenden Sie jedoch Code als eigentliche Möglichkeit zur Interaktion mit der Software.
Der Agent übermittelt einen Codeblock, der die Vorgänge, Entscheidungen und Datenverarbeitung enthält, die andernfalls über mehrere Interaktionsrunden verteilt wären. Die lokale Laufzeit führt dann den Workflow aus.
ego-browser wurde um diese Idee herum aufgebaut. Seine CLI startet eine programmierbare Umgebung, der Browser stellt seine Fähigkeiten durch einen kleinen Satz von Funktionen zur Verfügung und der Agent nutzt seine vorhandenen Programmierkenntnisse, um diese Funktionen zu erstellen und zu erstellen orchestrieren sie.
In diesem Artikel vergleichen wir Heredoc und REPL, zwei Möglichkeiten, Code über eine CLI auszuführen, und teilen Sie die experimentellen Ergebnisse von ego-browser. Mit Heredoc erledigte der Agent die gleichen Aufgaben in 44 % weniger Ausführungsrunden, mit 35,5 % weniger Tool-Aufrufen und 21,6 % geringeren Kosten.
„CLI ist alles, was Sie brauchen“ – was dann?
Die Behauptung „CLI ist alles, was Sie brauchen“ setzt voraus, dass das Modell bereits weiß, wie diese CLI verwendet wird.
Bei bekannten Tools wie Git, Docker und FFmpeg ist dies in der Regel kein Problem. Modelle haben während des Trainings unzählige Befehle, Tutorials, Skripte und Fehlermeldungen gesehen und kennen bereits die Argumente und wissen, wie die Befehle zusammenpassen.
Aber wenn wir eine brandneue CLI für Agenten erstellen, ändert sich das Bild. Jede CLI verfügt über eigene Unterbefehle, Argumente, Ausgabeformate und Fehlersemantik. Für das Modell handelt es sich im Wesentlichen um eine neue Minisprache. Auch bei vollständiger Dokumentation muss das Modell zunächst die Regeln lernen und dann durch wiederholte Aufrufe herausfinden, wie die Befehle zusammenpassen.
Stellen Sie stattdessen dieselben Funktionen wie eine JavaScript-API oder eine API in einer anderen Sprache bereit, und das Modell muss weiterhin die neuen Domänenkonzepte erlernen, aber es muss den Kontrollfluss, die Datenstrukturen oder die Zusammensetzung nicht mehr neu erlernen. Schleifen, Bedingungen, Ausnahmebehandlung und Datenverarbeitung bleiben alle in einer Programmiersprache, die es bereits kennt.
Nehmen Sie eine einfache Aufgabe: Öffnen Sie eine Webseite und lesen Sie deren Hauptüberschrift. Wenn ego-browser eine herkömmliche Schnittstelle im Befehlsstil offenlegt, benötigt der Agent möglicherweise mehrere Schritte, um sie fertigzustellen:
# First call: open the page
ego-browser open https://example.com
# Tool response: the page is open
# Second call: locate the main heading
ego-browser find --role heading
# Tool response: a heading was found
# Third call: read the heading
ego-browser read --role headingNach jedem Schritt wartet der Agent auf das Tool, liest das Ergebnis und entscheidet, was als nächstes zu tun ist.
Die tatsächlich von ego-browser verwendete Codeschnittstelle ermöglicht es, den gesamten Workflow auf einmal auszudrücken:
await taskSpaces.useOrCreate("read example page");
await browser.openOrReuseTab("https://example.com", { wait: true });
const heading = await page.getByRole("heading").textContent();
console.log(heading);Mit beiden Ansätzen wird das Gleiche erreicht. Die Schnittstelle im Befehlsstil unterteilt den Prozess in mehrere Runden der Modell-Werkzeug-Interaktion. Über die Codeschnittstelle kann der Agent den gesamten Prozess einmal ausschreiben und an die lokale Laufzeit übergeben.
Dies ist genau die zuvor erwähnte Designidee: Behalten Sie die CLI als universellen Einstiegspunkt bei, verwenden Sie jedoch Code als eigentliche Schnittstelle zur Software. Dadurch bleibt der Vorteil der CLI erhalten, dass sie einfach aufzurufen und zu integrieren ist, während das Modell gleichzeitig die bereits vorhandenen Programmierfähigkeiten für die Komposition und Orchestrierung nutzen kann.
Wenn die CLI zum Gateway zum Code wird
Sobald eine CLI Code akzeptiert, stellt sich als Nächstes die Frage, wie der Agent diesen Code an die Ausführungsumgebung übergeben soll.
Streng genommen handelt es sich bei Heredoc um die Shell-Eingabesyntax und bei REPL um den Ausführungsmodus eines Interpreters. Die beiden befinden sich nicht auf derselben Abstraktionsebene. Was dieser Artikel tatsächlich vergleicht, ist die einmalige Codeausführung, die über ein Heredoc in ego-browser eingegeben wird, mit einer dauerhaften interaktiven Sitzung, die auf einer REPL basiert. Der Kürze halber nennen wir sie von nun an nur noch Heredoc und REPL.
Eine Option ist das Heredoc. In ego-browser übermittelt der Agent einen gesamten JavaScript-Block auf einmal:
ego-browser nodejs <<'EOF'
await taskSpaces.useOrCreate("read example page");
await browser.openOrReuseTab("https://example.com", { wait: true });
const heading = await page.getByRole("heading").textContent();
console.log(heading);
EOFDie Shell übergibt den Code an ego-browser, wartet auf dessen Abschluss, empfängt das Ergebnis und wird beendet. Für den Agenten verhält sich dies wie ein herkömmlicher Tool-Aufruf:
Submit command → wait for process → receive resultEin REPL funktioniert anders. Der Interpreter bleibt aktiv, sodass der Agent wiederholt Code eingeben kann, während Variablen und Sitzungsstatus erhalten bleiben:
> await browser.openOrReuseTab("https://example.com", { wait: true })
< Tab {...}
> await page.getByRole("heading").textContent()
< "Example Domain"Hinsichtlich der Ausdruckskraft sind die beiden im Wesentlichen gleichwertig. Ein REPL kann ein komplettes Programm mit Schleifen, Bedingungen und Ausnahmebehandlung auf einmal ausführen, und ein Heredoc kann nur eine einzige Zeile übermitteln.
Der deutliche Unterschied liegt im Prozesslebenszyklus. Bei einem Heredoc wird der Prozess beendet, sobald die Ausführung des Codes abgeschlossen ist. Eine REPL hält den Interpreterprozess am Leben und wartet auf weitere Eingaben. Dies bedeutet auch, dass beide unterschiedliche Anforderungen an die Agententools stellen. Ein Heredoc läuft direkt auf dem bekannten Anfrage-Antwort-Modell:
submit the command → wait for the process to exit → get the resultREPL stellt mehr Anforderungen an das Tool: persistente Prozesse, Sitzungsverwaltung, kontinuierliche Eingabe, Unterbrechung und Wiederherstellung. Die integrierten Bash-Tools der meisten Agenten verfügen nicht über diese Funktionen. Unter den heutigen Mainstream-Produkten werden sie nur von Codex einigermaßen gut unterstützt. Und die Werkzeugunterstützung ist nur eine notwendige Voraussetzung für die Verwendung eines REPL. Es entscheidet nicht, wie das Modell eines tatsächlich verwenden wird. Auch wenn in beiden Umgebungen derselbe Code ausgeführt werden kann, kann es sein, dass das Modell den Code in beiden Umgebungen unterschiedlich schreibt.
Wie Modelle Code in jeder Umgebung schreiben
Theoretisch verfügt ein Modell in beiden Umgebungen über die gleichen Programmierfähigkeiten. In der Praxis konnten wir einen konsistenten Verhaltensunterschied beobachten:
- In einer REPL tendiert das Modell dazu, den Code schrittweise einzugeben.
- In einem Heredoc ist es wahrscheinlicher, dass in einem Durchgang ein vollständiges Programm generiert wird.
Software für Menschen muss Ergonomie berücksichtigen. Software für Agenten erfordert eine ähnliche Disziplin: Nennen Sie es Model-Experience-Engineering. Eine Schnittstelle sollte mit den während des Trainings entwickelten Verhaltensmustermodellen funktionieren.
Der Kontrast zwischen REPL und Heredoc spiegelt die Verteilung ihrer Trainingsdaten wider.
REPL-Beispiele stammen normalerweise aus Tutorials, Debugging-Sitzungen und Frage-und-Antwort-Austauschen. Ihr typisches Muster ist explorativ:
> Get the page
< Return page information
> Find an element
< Return element information
> Read its contents
< Return the textHeredoc-Codeblöcke ähneln eher Skripten oder Quelldateien. Sie haben explizite Anfangs- und Endgrenzen, was das Modell dazu ermutigt, einen kontinuierlichen Arbeitsablauf zu erzeugen:
const page = await openPage();
const element = await findElement(page);
const text = await readText(element);
console.log(text);Dies bedeutet nicht, dass ein REPL nicht in der Lage ist, vollständige Programme auszuführen. Das Modell könnte denselben Codeblock in einem Schritt an eine REPL senden.
Die Unterscheidung ist kontextbezogen. Eine REPL fördert eine ausführen, beobachten, fortfahren Muster. Ein Heredoc ermutigt zu einem Zuerst organisieren, dann ausführen Muster.
Diese Tendenz bestimmt auch, wo der Kontrollfluss stattfindet. Bei einem REPL ist es wahrscheinlicher, dass das Modell die Aufgabe in mehrere Phasen aufteilt und nach jedem Ergebnis entscheidet, was zu tun ist. In einem Heredoc ist es wahrscheinlicher, Schleifen, Bedingungen, Filterung und Datenverarbeitung direkt in das Programm zu integrieren und die lokale Laufzeit damit zu beauftragen.
Was die Experimente zeigten
Unter den Mainstream-Agent-Tools, die wir zuverlässig integrieren konnten, Codex vorausgesetzt, dass sie über die Ausführungsfähigkeiten verfügen, die eine persistente REPL erfordert. Deshalb haben wir einen automatisierten Benchmark für das Codex SDK erstellt: Derselbe Agent hat über REPL und Heredoc vier Arten echter Browseraufgaben ausgeführt und wir haben die Ergebnisse über wiederholte Läufe zum Vergleich zusammengefasst.
Die Aufgaben waren:
- X-Trending-Post-Analyse: Sammeln Sie die Originalbeiträge von OpenAI aus den letzten sieben Tagen, schließen Sie angepinnte Beiträge, Reposts und Antworten aus, ordnen Sie die Top 5 nach Aufrufen ein und berechnen Sie deren Engagement-Raten und den Gesamtdurchschnitt.
- OpenAI Bewerbung: Finden Sie die richtige Stelle im Bereich Cloud-Infrastruktur in San Francisco, laden Sie einen Lebenslauf hoch, füllen Sie das Bewerbungsformular aus und warten Sie, bis die endgültige Einreichung erfolgt ist.
- Berechnung der Redfin-Hypothek: Filtern Sie Immobilien in Austin nach Haustyp und Preis, öffnen Sie das erste Ergebnis nach der Sortierung, ändern Sie die Anzahlung auf 20 % und rufen Sie die aktualisierte geschätzte monatliche Zahlung ab.
- Expedia-Flugsuche: Finden Sie einen einfachen Nonstop-Flug von JFK nach MIA, wählen Sie die günstigste Option einer bestimmten Fluggesellschaft, geben Sie die Passagierdaten ein und stoppen Sie vor der Zahlung.

Diese Aufgaben umfassten mehr als das Öffnen von Seiten und das Lesen von Texten. Dazu gehörten strukturierte Extraktion, bedingte Filterung, Navigation über mehrere Seiten, Datei-Uploads, das Ausfüllen von Formularen, Änderungen am Seitenstatus und Berechnungen. Damit deckten sie die meisten typischen Browserabläufe von KI-Agenten ab.
Beide Ansätze erledigten die meisten Aufgaben. Heredoc erreichte eine Erfolgsquote von 77,5 %, verglichen mit 75,0 % bei REPL. Der Unterschied in der Zuverlässigkeit war bescheiden.
Der größere Unterschied war die Effizienz:
- Die durchschnittliche Fertigstellungszeit sank um 35.0%.
- Die mittlere Fertigstellungszeit sank um 30.7%.
- Werkzeugaufrufe gingen zurück 35.5%.
- Der Token-Verbrauch ging um zurück 29.8%.
- Die durchschnittlichen Kosten sanken um 21.6%.
Obwohl eine REPL den Laufzeitstatus wiederverwenden kann, führte dieser Vorteil nicht zu weniger Interaktionen. In der Praxis führte der Heredoc-Agent weniger Toolaufrufe durch.
Die Ergebnisse stimmten mit unseren früheren Beobachtungen überein. Sobald der Agent sich in einer REPL befand, führte er oft einen kleinen Codeabschnitt aus, untersuchte das Ergebnis und entschied dann, was als nächstes zu tun war. Schleifen, Filter und Entscheidungen, die in einem einzigen Programm hätten gehandhabt werden können, wurden stattdessen auf mehrere Modell-Tool-Austausche verteilt.
Die beiden Umgebungen bieten eine ähnliche Ausdruckskraft. Ihr Effizienzunterschied ergibt sich hauptsächlich aus der Art und Weise, wie ihre Interaktionsmuster das Verhalten der Agenten beeinflussen. Zumindest für diese vier Browser-Agent-Aufgaben hat Heredoc das Modell konsequenter dazu ermutigt, ein vollständiges Programm zu organisieren, Schleifen, Filter und Entscheidungen in den Code zu übertragen und die zusätzlichen Umwege einer schrittweisen Entscheidungsfindung zu vermeiden.
Wir untersuchten auch, ob das gleiche Muster in einem größeren Maßstab gilt, indem wir ego-browser mit einem ähnlichen REPL-basierten Browser-Automatisierungsprodukt im Odysseys-Datensatz verglichen. Im Gegensatz zum oben genannten kontrollierten Experiment umfasste dieser Vergleich zwei vollständige Produkte und nicht dasselbe Modell, das über zwei Schnittstellen betrieben wurde. Es ist daher als Gesamteffizienzvergleich nützlich, seine Unterschiede können jedoch nicht ausschließlich auf Heredoc und REPL zurückgeführt werden.

Dies ist kein dauerhafter Sieg für Heredoc
Wir glauben nicht, dass Heredoc REPL grundsätzlich überlegen ist.
Unsere Schlussfolgerung hängt von den Fähigkeiten der Modelle, der Verteilung ihrer Trainingsdaten und dem Design der Agententools ab, wie sie im Jahr 2026 existieren.
Heutige Agenten sind im Allgemeinen besser darin, einen vollständigen Codeblock in einem Durchgang zu erstellen. Ihre Shell-Tools basieren ebenfalls auf einem einfachen Lebenszyklus: Senden Sie einen Befehl, warten Sie, bis er beendet wird, und geben Sie das Ergebnis zurück. Unter diesen Bedingungen erleichtert Heredoc die Reduzierung von Interaktionsrunden und die Verlagerung des Kontrollflusses in lokal ausgeführten Code.
Diese Bedingungen können sich schnell ändern.
Zukünftige Agententools können zuverlässige dauerhafte Sitzungen, strukturierte Ausgaben und eine robuste Zustandswiederherstellung bereitstellen. Agenten müssen sich möglicherweise nicht mehr selbst um REPL-Eingabeaufforderungen, den Prozessstatus und unterbrochene Sitzungen kümmern. Durch gezielte Schulungen könnten Modellen auch beigebracht werden, komplette Programme proaktiv innerhalb einer REPL einzureichen, anstatt in unnötige Schritt-für-Schritt-Interaktionen zu verfallen.
In diesem Fall könnten REPLs die Vorteile der Wiederverwendung von Zuständen und des sofortigen Feedbacks bewahren, ohne dass weitere Modellaufrufe erforderlich wären. Sie könnten sogar die bessere Wahl für Aufgaben mit teurer Initialisierung, langlebigem Zustand oder einem wirklich explorativen Arbeitsablauf sein.
Deshalb gibt der Titel an 2026. Wir behaupten nicht, ein dauerhaftes Gesetz entdeckt zu haben. Hierbei handelt es sich um eine technische Beurteilung zu einem bestimmten Zeitpunkt, die auf den heute verfügbaren Modellen und Agententools basiert.