Fortgeschrittene Technik: ReAct (Reason & Act)
Dieser Premium-Inhalt hat noch mehr zu bieten!
Melde dich für unseren Newsletter an, um den vollständigen Artikel und Zugang zu allen Premium-Inhalten zu erhalten.
Fortgeschrittene Technik: ReAct (Reason & Act)
Bisher konzentrierten sich die Techniken darauf, wie LLMs intern “denken” und schlussfolgern können. Doch was, wenn das Modell externe Informationen benötigt oder Aktionen in der Welt ausführen soll? Das ReAct-Framework (für Reasoning + Acting) schlägt hier eine Brücke. Es ermöglicht LLMs, auf intelligente Weise ihr internes Denken mit dem Handeln durch externe Werkzeuge (wie Suchmaschinen, APIs oder Datenbanken) zu kombinieren.
Was ist ReAct?
ReAct ist ein Paradigma, das LLMs befähigt, Aufgaben zu lösen, indem sie einen synergetischen Zyklus aus Denken (Reason) und Handeln (Act) durchlaufen. Das Modell generiert nicht nur Gedankenschritte (ähnlich wie bei Chain-of-Thought), sondern auch spezifische Aktionen, die es ausführen möchte, um Informationen zu sammeln oder Aufgaben zu erledigen. Die Ergebnisse dieser Aktionen – die Beobachtungen – fließen dann wieder in den Denkprozess ein.
Dieser iterative Prozess erlaubt es dem LLM, dynamisch auf neue Informationen zu reagieren und seine Strategie anzupassen, ähnlich wie ein Mensch, der recherchiert oder Werkzeuge benutzt, um ein Problem zu lösen.
Wie funktioniert der ReAct-Zyklus?
ReAct folgt typischerweise diesen Schritten in einer Schleife:
-
Thought (Gedanke): Das LLM analysiert die Aufgabe, den bisherigen Fortschritt und die letzte Beobachtung. Es plant den nächsten logischen Schritt oder überlegt, welche Information als Nächstes benötigt wird.
- Beispiel: “Ich soll das Wetter in Berlin vorhersagen. Ich brauche die aktuelle Wettervorhersage für Berlin.”
-
Action (Aktion): Basierend auf dem Gedanken formuliert das LLM eine konkrete Aktion, meist einen Aufruf an ein externes Werkzeug (Tool), das ihm zur Verfügung steht.
- Beispiel:
WetterAPI[Ort="Berlin"]
- Beispiel:
-
Observation (Beobachtung): Das Ergebnis der ausgeführten Aktion (z.B. die Wetterdaten von der API, Suchergebnisse, Inhalt einer Webseite) wird dem LLM als neue Information präsentiert.
- Beispiel: “Temperatur: 15°C, Bewölkt, Leichter Regen erwartet.”
-
Nächster Thought: Das LLM verarbeitet die Beobachtung und plant den nächsten Schritt (z.B. die Antwort formulieren, eine weitere Aktion planen), bis das ursprüngliche Ziel erreicht ist.
- Beispiel: “Die Beobachtung zeigt Regen an. Ich kann jetzt die Antwort formulieren: In Berlin wird es heute bei 15°C bewölkt sein, mit leichtem Regen.”
Warum ist das nützlich? (Vorteile)
- Überwindung von Wissensgrenzen: LLMs können auf aktuelle, sich ändernde oder sehr spezifische Informationen zugreifen, die über ihre Trainingsdaten hinausgehen.
- Nutzung externer Werkzeuge: Ermöglicht die Integration von Suchmaschinen, Taschenrechnern, Kalendern, Datenbankabfragen, Code-Interpretern und anderen APIs.
- Verbesserte Faktentreue & Aktualität: Antworten können auf extern verifizierten, aktuellen Daten basieren, was das Risiko von Halluzinationen (falschen Informationen) reduziert.
- Lösung komplexer, interaktiver Aufgaben: Befähigt LLMs, mehrstufige Probleme zu lösen, die Recherche, Berechnungen oder Interaktionen erfordern.
Beispiel: Frage zur Geographie
Frage: “Welchen Höhenbereich deckt das Gebiet ab, durch das der Colorado River fließt?”
ReAct-Zyklus (vereinfacht):
Thought 1: Ich muss Informationen über den Colorado River finden, insbesondere seinen Start- und Endpunkt, um den Höhenbereich ableiten zu können.
Action 1: Search[Colorado River Verlauf Start Ende]
Observation 1: [Suchergebnisse erwähnen den Start in den Rocky Mountains (Colorado) und das Ende im Golf von Kalifornien (Mexiko).]
Thought 2: Der Fluss beginnt also in den Rocky Mountains und endet im Golf von Kalifornien. Ich benötige die typische Höhe dieser beiden Regionen.
Action 2: Search[Höhe Rocky Mountains Colorado]
Observation 2: [Suchergebnisse geben Höhen bis über 4.000 Meter an.]
Thought 3: Der Startpunkt liegt also sehr hoch. Nun zur Mündung im Golf von Kalifornien.
Action 3: Search[Höhe Golf von Kalifornien]
Observation 3: [Suchergebnisse zeigen, dass der Golf von Kalifornien auf Meereshöhe liegt (0 Meter).]
Thought 4: Der Colorado River fließt also von einer Höhe von bis zu über 4.000 Metern in den Rocky Mountains hinunter bis auf Meereshöhe (0 Meter) am Golf von Kalifornien.
Final Answer: Der Höhenbereich des Gebiets, durch das der Colorado River fließt, erstreckt sich von über 4.000 Metern bis auf Meereshöhe (0 Meter).
Anwendungstipps
- Fähiges LLM: Das verwendete Sprachmodell muss in der Lage sein, die Struktur von Thought, Action und Observation zu verstehen und korrekt formatierte Aktionen zu generieren.
- Ausführungsumgebung (“Agent”): Es wird ein System benötigt, das die Aktionen des LLMs entgegennimmt, die entsprechenden Tools aufruft (z.B. die Websuche durchführt) und die Ergebnisse als Beobachtung zurückgibt.
- Tool-Definition: Dem LLM muss klar sein, welche Tools verfügbar sind und wie sie aufgerufen werden (z.B. Search[query], Calculator[expression]).
- Prompting: Der initiale Prompt muss das LLM oft anleiten, dem ReAct-Zyklus zu folgen. Few-Shot-Beispiele, die den T-A-O-Ablauf demonstrieren, sind hier sehr effektiv.
Fazit
ReAct ist ein bahnbrechendes Framework, das LLMs von reinen Textgeneratoren zu interaktiven Agenten macht. Durch die Kombination von internem Denken und externem Handeln können sie dynamisch auf Informationen zugreifen, Werkzeuge nutzen und so eine neue Klasse von komplexen Problemen lösen, die zuvor außerhalb ihrer Reichweite lagen.
Nächster Schritt: Ein sehr häufiger und wichtiger Anwendungsfall für LLMs ist die Arbeit mit Code. Sieh dir Code Prompting genauer an.