Reflexion: Sprach-Agenten, die aus Fehlern lernen, ohne neu trainiert zu werden
Ich habe darüber nachgedacht, was nötig wäre, um einen Beancount-Hauptbuch-Agenten zu bauen, der mit der Zeit besser wird, ohne jedes Mal neu trainiert werden zu müssen, wenn er einen Fehler macht. Shinn et al.'s „Reflexion: Language Agents with Verbal Reinforcement Learning“ (NeurIPS 2023) befasst sich direkt mit dieser Frage, und die Antwort ist sowohl vielversprechend als auch begrenzter, als die Schlagzeilen vermuten lassen.
Das Paper
Reflexion (Shinn, Cassano, Berman, Gopinath, Narasimhan, Yao; NeurIPS 2023) schlägt vor, dass man einen Agenten verbessern kann, indem man ihn seine eigene Fehleranalyse in natürlicher Sprache verfassen lässt, anstatt die Modellgewichte durch teures Reinforcement Learning anzupassen. Nach jedem Versuch liest ein Self-Reflection-Modell den Verlauf und das Belohnungssignal, erstellt ein verbales Post-Mortem und hängt es an einen episodischen Speicherpuffer an. Beim nächsten Versuch liest der Actor die gesammelten Reflexionen, bevor er handelt. Es wird kein Gradient berechnet. Es wird kein Modell feinabgestimmt. Das „Lernen“ findet vollständig im Kontextfenster statt.
Die dreiteilige Architektur – Actor, Evaluator, Self-Reflection – ist modular genug, um verschiedene Aufgabentypen zu unterstützen. Der Evaluator kann ein binäres Unit-Test-Ergebnis, ein LLM-Richter oder eine aufgabenspezifische Heuristik sein. Diese Flexibilität macht das Paper über Coding-Benchmarks hinaus interessant.
Kernideen
- Bei HumanEval Python pass@1 erreicht Reflexion + GPT-4 91 %, ausgehend von der 80-%-Basislinie von GPT-4 – eine echte und signifikante Lücke. Bei Leetcode Hard beträgt der Sprung 7,5 % → 15 %, was einen Fortschritt darstellt, aber auch daran erinnert, wie schwierig diese Probleme bleiben.
- Bei AlfWorld (textbasierte Haushaltsplanung) löst Reflexion 130/134 Aufgaben nach 12 Versuchen, verglichen mit 108/134 für die ReAct-Basislinie – das überzeugendste Ergebnis für Entscheidungsfindung in der Arbeit.
- Bei HotpotQA (Multi-Hop-QA) steigt CoT + Reflexion von 61 % auf 75 % Exact Match bei 100 Stichprobenfragen.
- Bei MBPP (einem zweiten Python-Benchmark) verschlechtert Reflexion die Leistung geringfügig: 80,1 % → 77,1 %. Das Paper erwähnt dies eher am Rande.
- Bei WebShop hilft Reflexion nicht. Die Autoren führen dies darauf zurück, dass die Aufgabe „erhebliche Diversität und Exploration“ erfordert – der Agent verfasst wenig hilfreiche Reflexionen, die sich nicht auf andere Produktsuchen übertragen lassen.
- Der Speicher ist auf 1–3 gespeicherte Erfahrungen begrenzt. Das ist angesichts der Kontextlänge pragmatisch, bedeutet aber, dass der Agent über einen langen Einsatz hinweg kein Wissen kumulieren kann.
Was Bestand hat – und was nicht
Die Kernbehauptung ist solide: Verbale Reflexion verbessert die Leistung bei Aufgaben mit klarem, verifizierbarem Feedback. Wenn man weiß, ob der Code seine Unit-Tests bestanden hat, hat das Reflexionsmodul eine konkrete Grundlage für Schlussfolgerungen. Die AlfWorld- und HumanEval-Ergebnisse sind real und aussagekräftig.
Aber das Scheitern bei WebShop ist lehrreich, und das Paper spielt es etwas herunter. Reflexion funktioniert, wenn der Evaluator ein klares, umsetzbares Signal liefern kann. Wenn der Fehlermodus darin besteht, dass „der Agent den falschen Teil eines großen Suchraums erkundet hat“, führt die Anweisung „versuche es beim nächsten Mal mit anderen Suchbegriffen“ nicht zur Konvergenz. Dies ist eine strukturelle Einschränkung: Verbales Bestärken ist kein Ersatz für Explorationsstrategien.
Die Coding-Experimente weisen zudem eine Zirkularität auf, die die Autoren in ihrem Blog-Post einräumen: Der Agent generiert seine eigenen Unit-Tests, um seinen eigenen Code zu bewerten. Eine fehlerhafte Testsuite führt zu falsch-positiven Ergebnissen. Die 91 % bei HumanEval halten stand, weil HumanEval Ground-Truth-Tests liefert, aber die Selbstevaluierungsschleife des Agenten ist bei neuartigen Problemen, für die kein externes Orakel existiert, weniger vertrauenswürdig.
Die Reproduzierbarkeit ist ein echtes Problem. Alle Hauptergebnisse verwenden GPT-4, und die starchat-beta-Experimente zeigen keine Verbesserung gegenüber der Basislinie, was bedeutet, dass die Technik von den Fähigkeiten des Modells abhängt. Teams, die kleinere oder Open-Weight-Modelle einsetzen, sollten nicht mit denselben Gewinnen rechnen.
Warum das für Finanz-KI wichtig ist
Der Beancount-Anwendungsfall hat genau die Eigenschaft, die Reflexion gut funktionieren lässt: einen klaren Evaluator. Wenn ein Agent eine Transaktion falsch kategorisiert, kann die Saldenprüfung des Hauptbuchs oder ein Abgleichsschritt ein binäres Signal erzeugen – die Bücher stimmen oder sie stimmen nicht. Das ist eine viel bessere Feedback-Oberfläche als die mehrdeutige Belohnung der Produktsuche bei WebShop.
Konkret kann ich mir einen Beancount-Schreibagenten vorstellen, der nach einem fehlgeschlagenen Buchungsversuch (ungültiges Konto, falsche Währung, Assert-Fehler) eine verbale Reflexion generiert: „Ich habe Expenses:Meals verwendet, aber dieses Konto erfordert eine Unterkategorie. Nächstes Mal werde ich die Kontohierarchie vor der Buchung prüfen.“ Diese Reflexion wird gespeichert und bei der nächsten ähnlichen Transaktion abgerufen. Der Agent baut effektiv eine sitzungsspezifische Richtlinie aus seinen eigenen Fehlern auf.
Die Speicherbegrenzung ist die größte architektonische Herausforderung. Ein Puffer für 1–3 Erfahrungen ist für eine einzelne Sitzung in Ordnung, aber ein eingesetzter Buchhaltungsagent muss über Tausende von Transaktionen und Wochen des Betriebs hinweg lernen. Die Erweiterung von Reflexion auf ein Langzeitgedächstnis – vielleicht durch Zusammenfassung oder Indizierung von Reflexionen – ist ein ungelöstes Problem. Das Paper liefert hierfür keine Lösung.
Nächste Lektüre
- Language Agent Tree Search (LATS) (Zhou et al., arXiv:2310.04406; ICML 2024) – erweitert Reflexion, indem eine Monte-Carlo-Baumsuche um die Reflexion-Wiederholungsschleife gelegt wird, wodurch Agenten mehrere Argumentationszweige erkunden können, anstatt sich auf einen Pfad festzulegen. Erreicht 92,7 % bei HumanEval mit GPT-4.
- Retroformer (Yao et al., arXiv:2308.02151; ICLR 2024) – anstatt sich auf dasselbe LLM zur Selbstreflexion zu verlassen, trainiert Retroformer ein separates, leichtgewichtiges retrospektives Modell via Policy Gradient, wodurch der Reflexionsprozess aufgabenübergreifend lernbar wird. Fundierter, erfordert aber Feinabstimmung.
- Self-Reflection in LLM Agents: Effects on Problem-Solving Performance (arXiv:2405.06682, 2024) – eine empirische Studie, die spezifisch untersucht, wann und warum Reflexion hilft, mit Ablationen über verschiedene Aufgabentypen hinweg. Nützlich, um abzuwägen, wann Reflexion gegenüber anderen Korrekturstrategien anzuwenden ist.
