ReAct, kurz für „reasoning and acting“ (Schlussfolgern und Handeln), ist ein Prompting-Muster, bei dem ein Modell zwischen dem Nachdenken darüber, was zu tun ist, und dem Tun mit einem Werkzeug wechselt. Es wurde 2022 von Yao und Kollegen vorgestellt und ist heute die Grundschleife in den meisten KI-Agenten.
Die Schleife
Ein ReAct-Agent wiederholt drei Schritte, bis er antworten kann.
- Gedanke. Das Modell überlegt, was es weiß und was es als Nächstes braucht.
- Aktion. Es wählt ein Werkzeug und die Argumente für den Aufruf.
- Beobachtung. Die Anwendung führt das Werkzeug aus und gibt das Ergebnis an das Modell zurück.
Dann beginnt der Zyklus von vorn, wobei die Beobachtung nun Teil des Kontexts ist.
Question: Is order 8841 eligible for a refund?
Thought: I need the order date and the refund window.
Action: get_order(order_id="8841")
Observation: {"date": "2026-09-02", "status": "delivered", "custom": false}
Thought: Delivered and not custom. I need the policy window.
Action: get_policy(topic="refunds")
Observation: "Refunds within 30 days of delivery, excluding custom items."
Thought: 36 days have passed, so it is outside the window.
Answer: No. The 30-day refund window ended on 2 October 2026.
Schlussfolgern ohne Handeln erreicht keine Fakten außerhalb des Modells. Handeln ohne Schlussfolgern ruft Werkzeuge blind auf. Beides zu verschränken lässt jede Beobachtung die nächste Entscheidung prägen.
ReAct mit modernem Tool Calling
Die ursprüngliche Technik nutzte ein Textformat, das die Anwendung auswertete. Heutige Modell-APIs haben Tool Calling eingebaut: Sie beschreiben jedes Werkzeug mit Namen, Beschreibung und einem JSON Schema für seine Parameter, und das Modell liefert eine strukturierte Aufrufanforderung. Die Schleife ist dieselbe; die Mechanik übernimmt die API.
Das verlagert das Prompt Engineering an drei Stellen.
1. Der System-Prompt
Beschreiben Sie das Ziel, die Grenzen und wann aufzuhören ist.
You are an order support agent. Use the tools to answer questions
about a customer's orders.
- Look up facts with tools. Do not guess order details.
- Call a tool only when its result is needed for the answer.
- If a tool returns an error, try once more with corrected arguments,
then tell the customer what could not be checked.
- Never issue a refund above $200. Escalate instead.
- Stop and answer as soon as you have enough information.
2. Die Werkzeugbeschreibungen
Ein Modell wählt Werkzeuge allein anhand ihrer Beschreibungen. Behandeln Sie jede Beschreibung wie einen Prompt.
- Schwach:
get_order: gets an order - Besser:
get_order: Returns date, status, items, and total for one order. Use when the customer mentions an order number. Does not include payment details.
Sagen Sie, was das Werkzeug zurückgibt, wann es zu verwenden ist und was es nicht tut. Benennen Sie Parameter eindeutig und beschreiben Sie ihre Formate.
3. Die Werkzeugergebnisse
Beobachtungen fließen zurück in den Kontext, daher kommt es auf ihre Form an. Geben Sie kompakte, beschriftete Daten zurück, keine rohe HTML-Seite. Fügen Sie eine ausdrückliche Fehlermeldung bei, mit der das Modell etwas anfangen kann: „No order with that ID“ ist nützlich, ein Stacktrace nicht.
Fehlerbilder
Schleifen. Der Agent wiederholt denselben Aufruf. Legen Sie eine maximale Schrittzahl fest und sagen Sie dem Modell, was es tun soll, wenn es die Grenze erreicht.
Werkzeug-Übernutzung. Es ruft Werkzeuge für Dinge auf, die es bereits weiß. Sagen Sie, wann nicht aufzurufen ist.
Falsche Argumente. Es erfindet eine ID oder ein Format. Verschärfen Sie das Parameterschema und geben Sie Fehler zurück, die das erwartete Format erklären.
Kontextwachstum. Jede Beobachtung wird bei jedem Schritt erneut gelesen, die Kosten wachsen also quadratisch mit der Schrittzahl. Kürzen oder fassen Sie alte Beobachtungen zusammen. Siehe Token-Optimierung.
Injection über Beobachtungen. Eine von einem Werkzeug zurückgegebene Webseite oder ein Dokument kann Anweisungen enthalten. Das Modell kann ihnen folgen. Das ist indirekte Prompt Injection und das Hauptsicherheitsrisiko von Agenten. Markieren Sie Werkzeugergebnisse als Daten, beschränken Sie, was Werkzeuge tun können, und verlangen Sie Freigabe für irreversible Aktionen.
Voreilige Antworten. Es antwortet, bevor es prüft. Verlangen Sie, dass Tatsachenbehauptungen aus einem Werkzeugergebnis stammen.
Wann ReAct sinnvoll ist
| Situation | Verwenden |
|---|---|
| Die Schritte stehen vorab fest | Eine Prompt-Kette: günstiger und vorhersagbar |
| Der Weg hängt vom Gefundenen ab | ReAct |
| Die Aufgabe braucht aktuelle oder private Daten | ReAct mit Retrieval-Werkzeugen |
| Die Aufgabe führt Aktionen in anderen Systemen aus | ReAct, mit Freigabe für riskante Aktionen |
| Eine einzelne Abfrage, dann eine Antwort | Ein Retrieval-Schritt, keine Schleife |
Ein Agent ist die flexibelste Option und die am schwersten verlässlich zu machende. Setzen Sie ihn ein, wenn die Flexibilität nötig ist.
Agenten Werkzeuge mit MCP geben
Das Model Context Protocol ist ein Standardweg, Agenten Werkzeuge anzubieten, sodass ein Werkzeugserver mit vielen KI-Anwendungen funktioniert. Der PromptFlowEngine-MCP-Server stellt Prompt-Analyse, Umstrukturierung und Bereinigung als schreibgeschützte Werkzeuge bereit. Ein Agent kann sie in seiner eigenen Schleife nutzen, etwa um Kontext zu bereinigen, bevor er ihn weitergibt, oder um eine vage Aufgabe vor dem Start in eine Spezifikation zu verwandeln.
Zum übergreifenden Entwurf von Agentenanweisungen geht es weiter mit den Prompts für KI-Agenten.