ReAct Prompting (DE)
ReAct (Abkürzung für Reason + Act, zu Deutsch „Schlussfolgern und Handeln“) ist ein Paradigma des Promptings für große Sprachmodelle (LLMs), das es ihnen ermöglicht, komplexe Aufgaben durch den Wechsel von verbalen Schlussfolgerungen (Gedanken) und Aktionen, die mit einer externen Umgebung interagieren, zu lösen[1]. Die Methode wurde 2022 von Forschern von Google Research und der Princeton University vorgeschlagen und hat sich zu einem grundlegenden Ansatz bei der Entwicklung intelligenter Agenten entwickelt.
Die Schlüsselinnovation von ReAct liegt in der Kombination von logischen Schlussfolgerungen, wie sie für Techniken wie Chain-of-Thought (CoT) typisch sind, mit der Ausführung externer Aktionen, wie der Informationssuche oder der Interaktion mit Programmierschnittstellen (APIs). Dies ermöglicht es dem Modell, seinen Plan dynamisch anzupassen, Fakten zu überprüfen und die Grenzen seines eigenen, oft veralteten oder unvollständigen Wissens zu überwinden[2].
Hintergrund und Entstehungsgeschichte
Vor der Einführung von ReAct gab es zwei grundlegende, aber getrennte Ansätze, um LLMs zur Lösung komplexer Aufgaben einzusetzen:
- Chain-of-Thought (CoT): Das Modell generiert schrittweise logische Schlussfolgerungen, um eine Aufgabe zu lösen, tut dies jedoch in einem „Informationsvakuum“, indem es sich ausschließlich auf sein internes Wissen stützt. Dies führt häufig zu faktischen Fehlern und „Halluzinationen“[1].
- Act-Only: Das Modell generiert eine Abfolge von Aktionen zur Interaktion mit einer externen Umgebung (z. B. in textbasierten Spielen), jedoch ohne explizite übergeordnete Planung. Solche Systeme können schlecht mit Fehlern umgehen und ihre Strategie bei unvorhergesehenen Umständen nicht anpassen.
ReAct wurde entwickelt, um die Stärken beider Ansätze synergetisch zu vereinen. Es ermöglicht dem Modell nicht nur zu schlussfolgern, sondern auch seine Schlussfolgerungen mit Fakten aus der Außenwelt zu erden und seine Aktionen auf der Grundlage des erhaltenen Feedbacks anzupassen.
Funktionsweise: Der Zyklus „Gedanke – Aktion – Beobachtung“
ReAct arbeitet in einem iterativen Zyklus, der drei Schlüsselkomponenten umfasst. Das Modell generiert sequenziell eine Trajektorie, die aus den Schritten Thought, Action und Observation besteht.
Beispiel für eine Prompt-Struktur:
Frage: Welche Hauptstadt ist die Stadt, in der der Erfinder geboren wurde, der für den Wechselstrom bekannt ist?
Thought 1: Ich muss herausfinden, wer den Wechselstrom erfunden hat. Dann muss ich seinen Geburtsort finden und prüfen, ob diese Stadt eine Hauptstadt ist.
Action 1: Search[Erfinder Wechselstrom]
Observation 1: Der Wechselstrom (AC) wurde von Nikola Tesla entwickelt und vorangetrieben.
Thought 2: Jetzt muss ich herausfinden, wo Nikola Tesla geboren wurde.
Action 2: Search[Geburtsort Nikola Tesla]
Observation 2: Nikola Tesla wurde im Dorf Smiljan, Österreichisches Kaiserreich (heutiges Kroatien), geboren.
Thought 3: Smiljan ist keine Hauptstadt. Daher hat die Frage in dieser Formulierung keine eindeutige Antwort. Tesla lebte und arbeitete jedoch lange in den USA. Vielleicht ist die Hauptstadt des Landes gemeint, in dem er seine wichtigsten Entdeckungen machte. Das ist eine komplexere Frage. Ich sollte die Fakten basierend auf dem Geburtsort darlegen. Sein Geburtsort ist keine Hauptstadt.
Final Answer: Der mit dem Wechselstrom in Verbindung gebrachte Erfinder, Nikola Tesla, wurde in Smiljan (Kroatien) geboren, das keine Hauptstadt ist.
Gedanke (Thought)
Das Modell generiert eine interne Schlussfolgerung, in der es die Aufgabe analysiert, sie in Teilaufgaben zerlegt, einen Handlungsplan erstellt oder anpasst und den aktuellen Zustand bewertet. Dieser Schritt beeinflusst nicht die externe Umgebung, sondern dient der internen Planung.
Aktion (Action)
Basierend auf seiner Schlussfolgerung führt das Modell eine externe Aktion aus, indem es auf eines der verfügbaren Werkzeuge zugreift. Beispiele für Aktionen:
- Search[Suchanfrage] — zur Suche nach Informationen in einer Wissensdatenbank (z. B. Wikipedia).
- Click[Element] — zur Navigation auf einer Webseite.
- API_call[Parameter] — zum Aufrufen einer externen API.
Beobachtung (Observation)
Das System oder ein externes Werkzeug führt die Aktion aus und gibt das Ergebnis (die Beobachtung) zurück. Dies kann ein Textfragment, eine API-Antwort oder eine Fehlermeldung sein. Das Modell nutzt diese Beobachtung, um den nächsten Gedanken zu formen und so den Rückkopplungskreislauf zu schließen[2].
Experimentelle Ergebnisse und Effektivität
Die Autoren von ReAct testeten die Methode bei einer Vielzahl von Aufgaben und zeigten ihre Überlegenheit gegenüber den CoT- und Act-Only-Ansätzen.
| Benchmark | Aufgabe | ReAct (Erfolg/Genauigkeit) | Chain-of-Thought (Erfolg/Genauigkeit) | Act-Only (Erfolg/Genauigkeit) |
|---|---|---|---|---|
| FEVER | Faktenprüfung | 87.6% | 82.8% | 70.1% |
| HotpotQA | Multi-Hop-Fragen | 31.8% | 36.3% | 17.0% |
| ALFWorld | Textbasiertes Spiel (Planung) | 71% | 10% | 13% |
| WebShop | Web-Navigation | 40% | - | 30.1% |
- Bei Aufgaben, die eine Faktenprüfung erfordern (FEVER), übertrifft ReAct CoT deutlich, da es Informationen verifizieren kann.
- Bei Aufgaben zur interaktiven Planung (ALFWorld, WebShop) zeigt ReAct einen enormen Vorteil, da es sich an eine sich verändernde Umgebung anpassen kann.
- Bei Aufgaben, die reines Schlussfolgern erfordern (HotpotQA), kann CoT vergleichbare oder sogar bessere Ergebnisse erzielen. Der hybride Ansatz ReAct+CoT zeigte jedoch die beste Leistung und erreichte 35 % bei HotpotQA[1].
Kritik und Einschränkungen
rotz seiner Effektivität weist ReAct eine Reihe von Einschränkungen und Schwachstellen auf.
- „Zerbrechlichkeit“ (Brittleness): Spätere Studien haben gezeigt, dass der Erfolg von ReAct möglicherweise weniger auf einer echten Synergie von Schlussfolgern und Handeln beruht, sondern eher auf der syntaktischen Ähnlichkeit zwischen den Beispielen im Prompt und der aktuellen Aufgabe. Das Modell könnte dem `Thought-Action-Observation`-Muster folgen, ohne die Semantik der Schlussfolgerungen vollständig zu verstehen[3].
- Rechenaufwand: Jeder ReAct-Zyklus erfordert mindestens einen Aufruf des LLM und einen Zugriff auf ein externes Werkzeug, was ihn im Vergleich zum Standard-Prompting langsam und kostspielig macht.
- Abhängigkeit von Werkzeugen: Die Effektivität des Agenten hängt direkt von der Qualität und Zuverlässigkeit der verfügbaren Werkzeuge ab. Eine falsche oder verrauschte Antwort von einer API kann die Schlussfolgerungen des Modells in die falsche Richtung lenken.
Bedeutung und Weiterentwicklung
ReAct wurde zu einem wichtigen Meilenstein in der Entwicklung der KI und markierte den Übergang von generativen Systemen zu agentenbasierten Systemen. Es legte die konzeptionelle und praktische Grundlage für die meisten modernen Frameworks zur Erstellung von Agenten, wie zum Beispiel:
- LangChain
- LlamaIndex
- AutoGen
Die Ideen von ReAct dienten als Ausgangspunkt für komplexere Schlussfolgerungsarchitekturen wie Reflexion (fügt nach Misserfolgen einen Selbstreflexionszyklus hinzu) und Tree of Thoughts (ToT) (untersucht mehrere Schlussfolgerungspfade parallel).
Weblinks
- Offizielle Projektseite von ReAct
- Beschreibung von ReAct im Learn Prompting Guide
- Google Research (2022). ReAct: Synergizing Reasoning and Acting in Language Models (blog post). Google Research Blog.
Literatur
- Yao, S. et al. (2022). ReAct: Synergizing Reasoning and Acting in Language Models. arXiv:2210.03629.
- Yao, S. et al. (2023). Tree of Thoughts: Deliberate Problem Solving with Large Language Models. arXiv:2305.10601.
- Shinn, N. et al. (2023). Reflexion: Language Agents with Verbal Reinforcement Learning. arXiv:2303.11366.
- Verma, V. et al. (2024). On the Brittle Foundations of ReAct Prompting for Agentic Large Language Models. arXiv:2405.13966.
- Yao, S. et al. (2022). WebShop: Towards Scalable Real-World Web Interaction with Grounded Language Agents. arXiv:2207.01206.
- Shridhar, M. et al. (2020). ALFWorld: Aligning Text and Embodied Environments for Interactive Learning. arXiv:2010.03768.
- Qin, L. et al. (2023). AutoGen: Enabling Next-Gen LLM Applications via Multi-Agent Collaboration. arXiv:2308.08155.
- Thorne, J. et al. (2018). FEVER: A Large-Scale Dataset for Fact Extraction and Verification. arXiv:1803.05355.
- Yang, Z. et al. (2018). HotpotQA: A Dataset for Diverse, Explainable Multi-hop Question Answering. arXiv:1809.09600.
Einzelnachweise
- ↑ 1.0 1.1 1.2 1.3 Yao, S., Zhao, J., Yu, D., et al. (2022). «ReAct: Synergizing Reasoning and Acting in Language Models». arXiv preprint arXiv:2210.03629. [1]
- ↑ 2.0 2.1 «ReAct: Synergizing Reasoning and Acting in Language Models». Google Research Blog. [2]
- ↑ Verma, V., et al. (2024). «On the Brittle Foundations of ReAct Prompting for Agentic Large Language Models». arXiv preprint arXiv:2405.13966. [3]