Zwischen dem 8. und 9. Juni haben drei Personen, die selten denselben Aufsatz schreiben, denselben Aufsatz geschrieben. [Addy Osmani](https://x.com/addyosmani/status/2064127981161959567), ein Direktor für KI bei Google Cloud, veröffentlichte „Loop Engineering“, eine Taxonomie der Systeme, die Codierungsagenten auffordern, sodass Sie dies nicht tun müssen. [Matt Van Horn](https://x.com/mvanhorn/status/2063865685558903149) veröffentlichte „WTF Is a Loop?“, eine Recherche über Reddit, Und [Lance Martin](https://x.com/RLanceMartin/status/2064397389189071163), ein technischer Mitarbeiter bei Anthropic, veröffentlichte „Designing Loops with Fable 5“, zwei Muster, um Grenzmodelle optimal zu nutzen, indem Schleifen entworfen werden, anstatt direkt Eingabeaufforderungen zu stellen.

Alle drei stimmen in der gleichen Richtung überein: Die Eingabeaufforderung weicht dem Entwerfen von Schleifen, die Agenten für Sie auffordern. Und alle drei benennen dieselbe Komponente als diejenige, die am wichtigsten ist. Osmani zählt fünf Bausteine ​​auf, fügt dann einen sechsten hinzu und gibt ihm den stärksten Satz in seinem Stück: „Die Staatsakte ist das Rückgrat des Ganzen.“ Van Horn argumentiert, dass die aktuelle Generation von Schleifen aus einem strukturellen Grund wirklich neu ist: „Die Haltbarkeit wurde explizit, mit Git-gestützter Zustands- und Absturzwiederherstellung.“ Martin beschreibt das Gedächtnis als „eine äußere Schleife, die sich über mehrere Sitzungen erstreckt“.

Die Diagnose ist mittlerweile Konsens. Der dauerhafte äußere Zustand ist der tragende Teil autonomer Agenten. Was mich überraschte, war, was als nächstes geschah. Alle drei übergaben den Auftrag an eine Textdatei.

## Kurz gesagt, was eine Schleife ist

Van Horns Definition ist die sauberste: Eine Schleife ist ein Cron plus ein Entscheidungsträger im Körper. Ein Cron-Job führt ein festes Skript aus. Eine Schleife führt ein Modell aus, das den aktuellen Status betrachtet, entscheidet, was zu tun ist, es ausführt, prüft, ob es funktioniert hat, und entscheidet, ob weitergemacht werden soll. Stapeln Sie diese, lassen Sie eine Schleife andere auslösen, und Sie haben das, was Boris Cherny meint, wenn er sagt, seine Aufgabe sei es, Schleifen zu schreiben.

Das Modell in dieser Schleife vergisst absichtlich alles zwischen den Durchläufen. Kontextfenster werden beendet. Sitzungen werden neu gestartet. Es darf also etwas im System nicht vergessen werden. Dieses Etwas liest die Schleife, um zu entscheiden, was als nächstes zu tun ist, und schreibt, um aufzuzeichnen, was passiert ist. Es ist die Wirbelsäule, und Osmani nennt sie zu Recht so.

## Der Substratkahn

Hier ist das vollständige Inventar der Spine-Kandidaten für alle drei Beiträge: eine Markdown-Datei, ein lineares Board, an Git übergebene Statusdateien und ein gemountetes Dateisystem, das über alle Sitzungen hinweg gemeinsam genutzt wird. Osmani bietet die ersten beiden an. Van Horn dokumentiert den dritten, den Gas Town von Steve Yegge nutzt, um zwanzig bis dreißig Claude-Instanzen zu koordinieren. Martin nutzt die vierte, die Speicherfunktion von Claude Managed Agents.

All dies löst Persistenz. Die Bytes überleben einen Neustart. Keiner von ihnen löst Integrität. Stellen Sie einem dieser Substrate die Frage, ob eine Schleife tatsächlich beantwortet werden muss: Welche dieser beiden widersprüchlichen Anmerkungen ist wahr, wer hat sie wann geschrieben und wurde sie jemals überprüft? Eine Prosadatei enthält beide Notizen nebeneinander und überlässt die Abstimmung dem Modell, das die Datei als nächstes liest. Git bewahrt jede historische Version der Mehrdeutigkeit, ohne sie aufzulösen. Bei einem gemeinsamen Mount werden die letzten Schreibzugriffe zusätzlich hinzugefügt.

Beharrlichkeit und Integrität sind unterschiedliche Eigenschaften. Der Diskurs hat das Erste vollständig aufgesogen und das Zweite noch nicht zur Kenntnis genommen.

## Wir haben dieses Experiment schon einmal durchgeführt

Anwendungen speicherten ihren Status jahrzehntelang in Flatfiles. Drei Kräfte beendeten diese Ära: Gleichzeitige Autoren beschädigten Dateien, angesammelte Widersprüche hatten keinen Lösungsmechanismus und die Beantwortung von Fragen bedeutete, alles zu analysieren. Datenbanken haben gewonnen, weil sie die Integrität zu einer Eigenschaft der Speicherschicht gemacht haben und nicht zu einer Disziplin, die von jedem Programm erwartet wird, das mit den Daten in Berührung kommt.

Jede dieser Kräfte ist bereits in den drei Beiträgen sichtbar.

Parallelität tritt in dem Moment ein, in dem Schleifen Schleifen überwachen, und das ist genau die Phase, in die wir laut Van Horn eintreten. Zwei Schleifen, die eine Statusdatei schreiben, sind der gleiche Fehler wie zwei Ingenieure, die sich wortlos auf dieselben Leitungen festlegen. Worktrees lösen dies für Code. Nichts in der aktuellen Toolchain löst das Problem für [shared state](/posts/when-agents-share-state-everything-breaks).

Der Widerspruch ist in Martins Benchmark-Ergebnissen dokumentiert. Bei einer kontinuierlichen Lernaufgabe hinterließ Sonnet 4.6 einen Speicher, den er als eine Liste von Fehlernotizen und offenen Vermutungen beschreibt, einschließlich Einträgen wie „vielleicht prc statt prc_usd?“ Die Vermutungen häufen sich. Nichts markiert eine Lösung. Die nächste Sitzung erbt den Stapel.

Rückfragen sind Van Horns eigene Pointe. Er argumentiert, dass der kostspielige Teil der Agentencodierung jetzt das Schleifenmanagement sei: Stoppbedingungen, keine Fortschrittserkennung und Budgetobergrenzen. Bei jedem dieser Schritte muss der aktuelle Lauf mit früheren Läufen verglichen werden. Auf einem Prosasubstrat bedeutet das, dass eine wachsende Datei bei jedem Tick erneut gelesen und analysiert wird, was eine symbolische Steuer darstellt, die mit dem Alter der Schleife skaliert.

## Was mir das Führen eines Schwarms beigebracht hat

Ich betreibe einen Schwarm benannter Agenten auf meinem eigenen Rechner: einen für Kundeninformationen, einen für Inhalte, einen für die Kontaktaufnahme und andere für den Betrieb. In der Anfangsphase machte sich jeder Notizen in seinen eigenen Dateien. Diese Dateien wurden verschoben. Dieselbe Person erschien unter drei Namen. Eine in einer Datei korrigierte Tatsache blieb in zwei anderen unkorrigiert bestehen, und aus keiner Aufzeichnung ging hervor, welche Version aktuell war oder woher sie stammte.

Der Schwarm teilt nun [einen strukturierten Speicher](/posts/from-memory-to-nervous-system), und dieser Beitrag selbst ist eine Quittung. Die Recherche dahinter wurde von meinem Customer-Intelligence-Agenten durchgeführt, der alle drei X-Posts abgerufen, jeden als getippten Datensatz mit Engagement-Zahlen und Herkunft gespeichert, die Wettbewerbsergebnisse in eine strukturierte Analyse geschrieben und Folgeaufgaben über den gemeinsamen Speicher an zwei andere Agenten weitergeleitet hat. Als ich eine Stunde später eine Folgefrage stellte, wurde der Vergleich an denselben Analysedatensatz mit eigener Herkunftsspur angehängt und nicht in eine neue Datei verstreut. Kein Agent leitete ab, was ein anderer bereits festgestellt hatte.

## Gedächtnisreife ist eine Substrateigenschaft

Die schärfsten Daten in allen drei Beiträgen stammen von Martin. Er beschreibt fünf Phasen der Speichernutzung: Ein Agent schlägt fehl, untersucht die Ursache, überprüft, was er gefunden hat, destilliert die Antwort in eine Regel und konsultiert diese Regel beim nächsten Mal. Ein Agent, der alle fünf Schritte ausführt, verwandelt Fehler in verifizierte, wiederverwendbare Regeln. Ein Agent, der früh aufhört, hinterlässt einen Haufen Vermutungen.

Seine Ergebnisse, alle auf demselben gemounteten Dateisystem: Sonnet 4.6 stoppt bei Stufe eins und zeichnet Fehler auf, ohne sie zu untersuchen. Opus 4.7 erreicht die Verifizierungsphase, prüft aber im Median nur etwa 17 Prozent seiner Ansprüche. Fable 5 vervollständigt den Fortschritt und bestätigt bis zu 73 Prozent.

Gleiches Dateisystem, völlig unterschiedliche Speicherqualität. Der Unterschied liegt ausschließlich in der Disziplin des Modells, denn das Dateisystem garantiert nichts: Jede Phase ist ein Verhalten, für dessen Ausführung sich das Modell entscheiden muss. Ein strukturierter Speicher wandelt diese Verhaltensweisen in Datenoperationen um. Ein Fehler ist eine gespeicherte Beobachtung. Die Untersuchung ruft die zugehörigen Datensätze ab. Bei der Verifizierung handelt es sich um eine Korrektur mit beigefügter Herkunft. Bei der Destillation wird eine getippte Regel geschrieben. Beratung ist eine begrenzte Abfrage. Wenn das Substrat den Fortschritt trägt, kann jedes Modell ihn abschließen.

## Was man von einer Schleifenzustandsschicht erwarten kann

Werkzeugunabhängig ausgedrückt sollte das Rückgrat einer Schleife sechs Dinge bereitstellen: typisierte Datensätze anstelle von Prosa-Blobs, Herkunft in jedem Feld, Korrekturen, die die aktuelle Wahrheit berechnen, anstatt Versionen zu akkumulieren, gleichzeitige Schreibvorgänge, die nicht in Konflikt geraten können, Abruf, der nur das zurückgibt, was der aktuelle Tick benötigt, und Zugriff von jedem Kabelbaum statt vom Stack eines Anbieters.

Um der Textdatei gerecht zu werden: Für eine Schleife in einem Repo ist [Markdown wirklich in Ordnung](/posts/the-markdown-memory-ceiling). Es ist lesbar, lesbar und kostenlos. Die erzwingende Funktion ist Schleife Nummer zwei, das erste Mal, dass sich zwei Prozesse um dieselbe Tatsache kümmern und keiner dem Schreiben des anderen vertrauen kann.

## Dateien erinnern sich, Aufzeichnungssysteme wissen es

Van Horn beendet seinen Aufsatz mit der Argumentation, dass es sich bei der Schleife um eine Rohrleitung handelt und dass der dauerhafte Vermögenswert die Fertigkeitsbibliothek ist, die sie aufruft. Halb richtig, denke ich. Fähigkeiten sind prozedurales Gedächtnis, das Wie wiederholter Arbeit. Darunter liegt die faktische Erinnerung, das, was gerade wahr ist, von dem jeder Fähigkeitsaufruf abhängt. Beides verbindet sich, aber nur, wenn die Faktenschicht nach tausend unbeaufsichtigten Schreibvorgängen vertrauenswürdig ist.

Ich habe [Neotoma](https://github.com/markmhendrickson/neotoma) erstellt, weil ich diese Ebene für meinen eigenen Schwarm brauchte: typisierte Beobachtungen, Herkunft pro Feld, Korrekturen, die sich auf die aktuelle Wahrheit beziehen, und gemeinsamer Zugriff für jeden Agenten, den ich ausführe. Der Schleifendiskurs hat gerade eine Woche damit verbracht, den Platz zu beschreiben, den er füllt, ohne etwas zu benennen, das ihn füllt.

Osmani schließt seinen Aufsatz mit dem Rat, den Kreislauf wie jemand aufzubauen, der Ingenieur bleiben will. Auf der Zustandsebene wird diese Absicht überprüfbar. Dateien erinnern. Ein Aufzeichnungssystem weiß es.