Sofortantwort
ReAct Prompting einfach erklärt
Framework, das Denken und Handeln in LLMs kombiniert.
- Kurz gesagt
- Kombiniert Chain-of-Thought Reasoning mit Tool-Nutzung
- Typischer Einsatz
- Recherche-Agents, Komplexe Problemlösung, Interaktive Assistenten
- Wichtig zu wissen
- Grundlage für moderne Agent-Frameworks wie LangChain
ReAct Prompting im Überblick
ReAct steht für Reasoning + Acting – ein Framework, bei dem das LLM abwechselnd denkt und handelt. Es kombiniert das “laute Denken” von Chain-of-Thought mit der Fähigkeit, Tools zu nutzen.
Der ReAct-Zyklus:
Thought: Ich muss das aktuelle Wetter in Berlin herausfinden.
Action: get_weather("Berlin")
Observation: 18°C, sonnig
Thought: Der User fragte auch nach München. Das prüfe ich als nächstes.
Action: get_weather("München")
Observation: 15°C, bewölkt
Thought: Ich habe beide Wetterdaten. Jetzt kann ich antworten.
Answer: In Berlin sind es 18°C und sonnig, in München 15°C und bewölkt.
Warum ist das wichtig?
ReAct macht LLM-Entscheidungen nachvollziehbar und ermöglicht komplexe, mehrstufige Aufgaben mit Zwischenergebnissen.
Technisch betrachtet
ReAct Prompt Template
Du bist ein hilfreicher Assistent mit Zugriff auf folgende Tools:
- search(query): Websuche durchführen
- calculator(expression): Mathematische Berechnung
- lookup(term): Begriff in Wissensdatenbank nachschlagen
Beantworte die Frage des Users. Nutze dieses Format:
Thought: [Dein Gedankengang]
Action: [tool_name(parameter)]
Observation: [Ergebnis der Aktion - wird vom System eingefügt]
... (wiederhole Thought/Action/Observation nach Bedarf)
Thought: Ich habe genug Informationen.
Answer: [Finale Antwort]
Frage: {user_question}
Vergleich mit anderen Ansätzen
| Ansatz | Reasoning | Tool Use | Nachvollziehbarkeit |
|---|---|---|---|
| Direct Prompting | ❌ | ❌ | ❌ |
| Chain-of-Thought | ✅ | ❌ | ✅ |
| Function Calling | ❌ | ✅ | ❌ |
| ReAct | ✅ | ✅ | ✅ |
Herausforderungen
- Schleifen: Modell wiederholt dieselbe Aktion ohne Fortschritt
- Halluzinierte Actions: Modell erfindet Tools, die nicht existieren
- Ineffizienz: Zu viele Zwischenschritte für einfache Aufgaben
Lösungen: Max-Iterations-Limit, Tool-Validierung, Fallback zu direkter Antwort.