Gib Claude eine große Aufgabe, und es wird auf halbem Weg aufhören, überzeugt, dass es fertig ist. Die Arbeit ist nicht erledigt. Es kann sich nur nicht mehr an den Anfang erinnern.
Ein Agent arbeitet nicht so an einer langen Aufgabe, wie du denkst. Er arbeitet in Schichten.
Stell dir ein Softwareprojekt vor, das von Ingenieuren in Schichten betrieben wird, wobei jeder Neue ohne Erinnerung an das, was in der letzten Schicht passiert ist, erscheint. Das ist keine Metapher dafür, wie sich Agenten fühlen. Es ist mechanisch das, was sie sind. Der Kontextfenster ist endlich, die meiste echte Arbeit passt nicht in eines, also arbeitet der Agent in diskreten Sitzungen – und jede neue Sitzung beginnt ohne Erinnerung an die vorherige.
Anthropic hat genau dieses Experiment durchgeführt und veröffentlicht, was kaputtging. Das ist der Teil, der lesenswert ist, denn es ist kein Blogger, der sagt, das Tool sei schwach. Es ist das Team, das Claude baut, das dokumentiert, wo Claude auseinanderfällt.
Warum ein Fenster die Arbeit nicht erledigen kann
Gib einem hochmodernen Codierungsmodell eine übergeordnete Eingabeaufforderung – „Baue einen Klon von claude.ai" – setze es in einer Schleife über viele Kontextfenster hinweg, und es scheitert daran, eine funktionierende App zu produzieren. Nicht manchmal, sondern zuverlässig. Und das ist Opus, das auf Anthropics eigenem Agenten-Framework läuft, mit aktivierter Kontextkomprimierung, das gesamte Setup darauf ausgelegt, es am Laufen zu halten.
Es scheitert auf zwei bestimmte Arten, und beide sind Schichtübergabeprobleme.
Das erste: Der Agent versucht, alles auf einmal zu erledigen. Er versucht, die gesamte App in einem einzigen Fenster auf einmal zu erstellen, der Kontext geht mitten in einer Funktion aus, und die Sitzung endet mit etwas halb Gebautem und Undokumentiertem. Die nächste Schicht kommt, sieht ein Chaos, das sie nicht verursacht hat, und muss raten, was los war. Also verbringt sie ihre gesamte Sitzung damit, die grundlegende App wieder zum Laufen zu bringen, anstatt voranzukommen.

Das zweite zeigt sich später, sobald einige Funktionen existieren. Ein frischer Agent schaut sich um, sieht, dass echte Fortschritte erzielt wurden, und entscheidet, dass das Ganze fertig ist. Aber das ist es nicht – die Hälfte der Funktionen wurde nie gebaut, und niemand hat aufgeschrieben, welche. Die Schicht hat es für erledigt erklärt, ohne die Liste zu überprüfen.
Beide Fehlschläge haben dieselbe Ursache. Die abgehende Schicht hat nichts hinterlassen, also fliegt die ankommende Schicht blind. Die Lösung ist kein schlaueres Modell. Es ist das, was die Schicht aufschreibt, bevor sie ausstempelt.
Was die abgehende Schicht aufschreibt
Die Antwort, auf die Anthropic gekommen ist, hat zwei Teile: einen Agenten, der die Umgebung einrichtet, bevor die Arbeit beginnt, und dann die Schichtarbeiter, die Sitzung für Sitzung auftauchen, um Fortschritte zu machen.
Der Einrichtungsagent läuft einmal, ganz am Anfang. Seine ganze Aufgabe ist es, die Umgebung in einem Zustand zu hinterlassen, in dem jede zukünftige Schicht weiß, wie „erledigt" aussieht. Das Schlüsselelement, das er schreibt, ist eine Funktionsliste – eine strukturierte Datei, die genau auflistet, was die fertige App tun muss.

Für den Klon von claude.ai bedeutete das über 200 Funktionen. Dinge wie „Ein Benutzer kann einen neuen Chat öffnen, eine Anfrage eingeben, die Eingabetaste drücken und eine Antwort sehen." Jede einzelne davon war am Anfang als fehlschlagend markiert. Jeder Eintrag sah ungefähr so aus:
1{2 "description": "Neuer-Chat-Button erstellt eine neue Unterhaltung",3 "steps": ["Klicke auf 'Neuer Chat'", "Überprüfe neue Unterhaltung", "Überprüfe Begrüßungszustand"],4 "passes": false5}
Dieses „passes": false bei jedem Eintrag ist der ganze Punkt. Es ist ein nicht angekreuztes Kästchen, und es gibt 200 davon.
Diese fehlschlagende Liste ist das, was einen Agenten daran hindert, vorzeitig den Sieg zu erklären. Eine Schicht kann nicht umhersehen und entscheiden, dass die Arbeit erledigt ist, denn dort liegt eine Datei mit 200 nicht angekreuzten Kästchen. Die Arbeit ist definiert, bevor die erste Zeile davon geschrieben wird.
Ein kleines Detail, das zeigt, wie vorsichtig das sein musste: Sie haben JSON für diese Datei verwendet, nicht Markdown. Der Grund ist, dass das Modell weniger wahrscheinlich eine JSON-Datei stillschweigend umschreibt oder löscht als eine Markdown-Datei. Und die Anweisungen dazu sind bewusst deutlich – es ist inakzeptabel, Tests zu entfernen oder zu bearbeiten, denn das Löschen eines Tests ist der Weg, wie eine Funktion stillschweigend verschwindet. Die Schicht darf ein Kästchen anhaken. Sie darf keines löschen.
Die Notiz auf dem Schreibtisch
Die Arbeit einzurichten ist die Hälfte. Die andere Hälfte ist sicherzustellen, dass jede Schicht den Ort sauber genug hinterlässt, damit die nächste hineinkommen kann.
Zwei Dinge tun das. Der Agent committet seine Arbeit mit einer echten Nachricht, die beschreibt, was sich geändert hat, und er schreibt eine einfache Fortschrittsdatei – ein laufendes Protokoll dessen, was getan wurde. Dieses Protokoll zusammen mit der Git-Historie ermöglicht es einem neuen Agenten, der von null startet, den Zustand der Dinge in wenigen Minuten zu verstehen, anstatt ihn stundenlang zurückzuentwickeln.

Git tut hier noch etwas anderes. Wenn eine Schicht eine schlechte Änderung vornimmt, kann die nächste zur letzten funktionierenden Version zurückgehen, anstatt zu versuchen, den Schaden zu entwirren. Die Fortschrittsdatei sagt, wo wir sind. Die Commit-Historie ist der Rückgängig-Button.
Und „sauber" hat eine bestimmte Bedeutung. Es bedeutet die Art von Code, den du problemlos in einen Hauptzweig mergen würdest – keine größeren Fehler, ordentlich, dokumentiert. Nicht „technisch gesehen habe ich Fortschritte gemacht." Der Standard ist: Die nächste Person könnte eine neue Funktion starten, ohne zuerst dein Chaos aufräumen zu müssen.
Wie die nächste Schicht einstempelt
Setze diese beiden Dinge ein, und jede Schicht beginnt auf die gleiche Weise. Bevor es etwas Neues anfasst, führt der Agent eine feste Eröffnungsroutine aus, um sich zu orientieren – dasselbe, was ein guter Ingenieur tut, wenn er in ein Projekt kommt, das er eine Weile nicht gesehen hat.
1führe pwd aus, um zu sehen, in welchem Verzeichnis du dich befindest - das ist der einzige Ort, den du bearbeiten kannst2lies die Fortschrittsdatei und das Git-Protokoll, um zu sehen, was kürzlich passiert ist3lies die Funktionsliste und wähle das Element mit der höchsten Priorität, das noch nicht erledigt ist4starte die App und führe eine grundlegende Überprüfung durch, dass die Kernfunktionen noch funktionieren5erst dann, beginne mit dem Bauen
Dieser vierte Schritt ist wichtiger, als es aussieht. Bevor auch nur eine neue Funktion geschrieben wird, startet der Agent die App und bestätigt, dass die Basics noch funktionieren – öffnet einen Chat, sendet eine Nachricht, erhält eine Antwort. Wenn die letzte Schicht etwas kaputt hinterlassen hat, wird das sofort erkannt, bevor die neue Schicht neue Arbeit auf ein kaputtes Fundament stapelt und es noch schlimmer macht.

Das ist der ganze Trick, und es ist fast langweilig, wie einfach er ist. Die abgehende Schicht schreibt auf, was sie getan hat und was noch übrig ist. Die ankommende Schicht liest das, bevor sie etwas tut. Die Übergabe ist das gesamte Spiel.
Deine langen Aufgaben haben auch Schichten
Nichts davon dreht sich wirklich um das Erstellen von Web-Apps. Anthropic hat es an Code getestet, weil Code leicht zu überprüfen ist, aber die darunterliegende Form ist die Form jeder langen Aufgabe, die du einem Agenten übergibst.
Alles, was nicht in ein Fenster passt, hat Schichten. Einen langen Bericht Kapitel für Kapitel schreiben. Ein Forschungsprojekt über ein Dutzend Chats hinweg durchführen. Eine große Analyse über Tage hinweg bearbeiten. Jedes Mal, wenn du eine neue Sitzung zu derselben Aufgabe startest, stempelt ein neuer Arbeiter ein, ohne Erinnerung an den letzten – und wenn du keine Übergabe hinterlassen hast, beginnt er mit Raten.

Also hinterlasse eine. Bevor eine lange Sitzung endet, lass das Modell aufschreiben, was erledigt wurde, was noch offen ist und was die nächste Sitzung zuerst aufnehmen soll. Bewahre diese Notiz an einem Ort auf, den es beim Eintreten liest. Es ist der Unterschied zwischen einem Projekt, das bei jeder Sitzung vorankommt, und einem, das immer wieder dasselbe neu aufbaut.
Dasselbe Modell heute Abend und morgen. Das Einzige, was sich ändert, ist, ob die morgige Sitzung blind hereinkommt oder hereinkommt, während sie die Notiz von letzter Nacht liest.
Es ging nie darum, wie schlau die Schicht ist. Es geht darum, was sie für die nächste hinterlässt.
Mehr Aufschlüsselungen wie diese - https://t.me/+xYv1MgmIuds5YTli





