Was ist ein ReAct-Agent?

Autoren

Dave Bergmann

Senior Staff Writer, AI Models

IBM Think

Was ist ein ReAct-Agent?

Ein ReAct-Agent ist ein KI-Agent, der auf dem Framework „Reasoning and Acting“ (ReAct) basiert, um die Gedankenkette (Chain of Thought, CoT) mit der Verwendung externer Tools zu kombinieren. Das ReAct-Framework verbessert die Fähigkeit eines großen Sprachmodells (LLM) zur Entscheidungsfindung in Agenten-Workflows.

ReAct wurde erstmals von Yao und anderen in dem Artikel „ReACT: Synergizing Reasoning and Acting in Language Models“ aus dem Jahr 2023 vorgestellt und kann im Allgemeinen als Paradigma des maschinellen Lernens (ML) verstanden werden, um die Argumentations- und Handlungsfähigkeiten von LLMs zu integrieren.

Genauer gesagt ist ReAct ein konzeptionelles Framework für den Aufbau von KI-Agenten, die auf strukturierte, aber anpassungsfähige Weise mit ihrer Umgebung interagieren können, indem sie ein LLM als „Gehirn“ des Agenten verwenden, um alles von einfacher Retrieval Augmented Generation (RAG) bis hin zu komplizierten Multiagenten-Workflows zu koordinieren .

Im Gegensatz zu herkömmlichen Systemen der künstlichen Intelligenz (KI) trennen die ReAct-Agenten die Entscheidungsfindung nicht von der Aufgabenausführung. Daher war die Entwicklung des ReAct-Paradigmas ein wichtiger Schritt in der Entwicklung der generativen KI über rein dialogorientierte Chatbots hinaus und hin zur komplexen Problemlösung.

ReAct-Agenten und abgeleitete Ansätze treiben weiterhin KI-Anwendungen an, die autonom planen, ausführen und sich an unvorhergesehene Umstände anpassen können.

Die neuesten KI-Trends, präsentiert von Experten

Erhalten Sie kuratierte Einblicke in die wichtigsten – und faszinierendsten – KI-Neuheiten. Abonnieren Sie unseren wöchentlichen Think-Newsletter. Weitere Informationen in der IBM Datenschutzerklärung.

Vielen Dank! Sie haben ein Abonnement abgeschlossen.

Ihr Abonnement wird auf Englisch geliefert. In jedem Newsletter finden Sie einen Abmeldelink. Hier können Sie Ihre Abonnements verwalten oder sich abmelden. Weitere Informationen finden Sie in unserer IBM Datenschutzerklärung.

Wie funktionieren ReAct-Agenten?

Das ReAct-Framework ist von der Art und Weise inspiriert, wie Menschen bei der schrittweisen Planung und Ausführung komplexer Aufgaben intuitiv natürliche Sprache verwenden können – oft durch unseren eigenen inneren Monolog.

Statt vorgefertigter Workflows umzusetzen, verlassen sich ReAct-Agenten bei der Anpassung ihres Vorgehens auf die reasoning-Fähigkeiten ihres LLM, die es ihnen ermöglichen, auf neue Informationen oder die Ergebnisse vorheriger Schritte zu reagieren.

Stellen Sie sich vor, Sie packen für eine kurze Reise. Sie könnten damit beginnen, wichtige Überlegungen zu identifizieren („Wie wird das Wetter sein, während ich dort bin?“) und dann aktiv externe Quellen zu konsultieren („Ich überprüfe die lokale Wettervorhersage“).

Anhand dieser neuen Informationen („Es wird kalt sein“), bestimmen Sie Ihre nächste Überlegung („Welche warmen Kleidungsstücke habe ich?“) und Ihre nächste Aktion („ Ich sehe in meinen Schrank“). Dabei treffen Sie möglicherweise auf ein unerwartetes Hindernis („Alle meine warmen Kleidungsstücke sind eingelagert“) und passen Ihren nächsten Schritt entsprechend an („Welche Kleidungsstücke kann ich übereinander tragen? “).

In ähnlicher Weise verwendet das ReAct-Framework Prompt Engineering, um die Aktivität eines KI-Agenten in einem formalen Muster abwechselnder Gedanken, Handlungen und Beobachtungen zu strukturieren:

  • Die verbalisierten CoT-Argumentationsschritte (Gedanken) helfen dem Modell, die größere Aufgabe in überschaubarere Teilaufgaben zu zerlegen.

  • Vordefinierte Aktionen ermöglichen es dem Modell, Tools zu verwenden, Programmierschnittstellen (API) -Aufrufe durchzuführen und weitere Informationen aus externen Quellen (z. B. Suchmaschinen) oder Wissensdatenbanken (z. B. einem internen Docstore) zu sammeln.

  • Nachdem das Modell eine Maßnahme ergriffen hat, bewertet es den Fortschritt neu und nutzt diese Beobachtung, um entweder eine endgültige Antwort zu liefern oder den nächsten Gedanken zu entwickeln. Bei der Beobachtung könnten im Idealfall auch frühere Informationen berücksichtigt werden, sei es von früheren Informationen im Standardkontextfenster des Modells oder von einer externen Speicherkomponente.

Da die Leistung eines ReAct-Agenten stark von der Fähigkeit seines zentralen LLM abhängt, sich „verbal“ durch komplexe Aufgaben zu denken, haben ReAct-Agenten einen großen Vorteil von hochleistungsfähigen Modellen mit fortschrittlicher Argumentation und der Fähigkeit, Anweisungen zu befolgen.

Um Kosten und Latenzzeiten zu minimieren, kann sich ein ReAct-Framework mit mehreren Agents in erster Linie auf ein größeres, leistungsfähigeres Modell stützen, das als zentraler Agent dient, dessen Argumentationsprozess oder Aktionen das Delegieren von Unteraufgaben an weitere Agenten umfassen können, die mit kleineren, effizienteren Modellen erstellt wurden.

ReAct-Agent Schleifen

Dieses Framework schafft inhärent eine Feedback-Schleife, in der das Modell Probleme löst, indem es diesen verschachtelten Prozess aus Gedanken, Handlungen und Beobachtungen iterativ wiederholt.

Jedes Mal, wenn diese Schleife abgeschlossen wird, d. h. jedes Mal, wenn der Agent eine Aktion durchgeführt und eine Beobachtung gemacht hat, die auf den Ergebnissen dieser Aktion basiert, muss der Agent entscheiden, ob die Schleife wiederholt oder beendet werden soll.

Diagramm eines Reaktionspfads

Wann und wie die Argumentationsschleife beendet wird, ist eine wichtige Überlegung bei der Entwicklung eines ReAct-Agenten. Das Festlegen einer maximalen Anzahl von Schleifeniterationen ist eine einfache Möglichkeit, Latenz, Kosten und Token-Nutzung zu begrenzen und die Möglichkeit einer Endlosschleife zu vermeiden.

Umgekehrt kann die Schleife so eingestellt werden, dass sie endet, wenn eine bestimmte Bedingung erfüllt ist, z. B. wenn das Modell eine potenzielle endgültige Antwort identifiziert hat, die eine bestimmte Vertrauensschwelle überschreitet.

Um diese Art von Argumentations- und Handlungsschleife zu implementieren, verwenden ReAct-Agents in der Regel eine Variante der ReAct-Prompts, sei es als vom LLM bereitgestellten System-Prompt, oder im Kontext der Benutzerabfrage selbst.

ReAct Prompting

ReAct-Prompting ist eine spezifische Prompting-Technik, die ein LLM dazu bringen soll, dem ReAct-Paradigma von Denk-, Handlungs- und Beobachtungs-Schleifen zu folgen. Während die explizite Verwendung herkömmlicher ReAct-Prompting-Methoden nicht unbedingt erforderlich ist, um einen ReAct-Agenten zu erstellen, implementieren die meisten ReAct-basierten Agenten sie oder lassen sich zumindest direkt davon inspirieren.

Die Hauptfunktion von ReAct Prompting, die erstmals im ursprünglichen ReAct Paper beschrieben wurde, besteht darin, einen LLM anzuweisen, der ReAct-Schleife zu folgen und festzulegen, welche Tools bei der Bearbeitung von Benutzeranfragen verwendet werden können, d. h. welche Aktionen durchgeführt werden können.

Ob durch explizite Anweisungen oder durch die Einbeziehung von Few-Shot-Beispielen, ReAct-Prompting sollte:

  • Fordern Sie das Modell auf, die Gedankenkette zu nutzen: Es soll dabei Schritt für Schritt denken und Gedanken mit Handlungen verknüpfen.

  • Maßnahmen definieren: Legen Sie die spezifischen Maßnahmen fest, die dem Modell zur Verfügung stehen. Eine Aktion kann die Generierung einer bestimmten Art von nächstem Gedanken oder einer Nebenaufforderung beinhalten, beinhaltet aber in der Regel die Verwendung externer Tools oder die Erstellung von APIs.

  • Weisen Sie das Modell an, Beobachtungen zu machen: Fordern Sie das Modell auf, nach jedem Handlungsschritt seinen Kontext neu zu bewerten und diesen aktualisierten Kontext als Grundlage für den nächsten Argumentationsschritt zu verwenden.

  • Schleife: Weisen Sie das Modell an, die vorherigen Schritte bei Bedarf zu wiederholen. Sie können bestimmte Bedingungen für das Beenden dieser Schleife bereitstellen, z. B. eine maximale Anzahl von Schleifen, oder den Agenten anweisen, seinen Denkprozess zu beenden, wenn er das Gefühl hat, die richtige Ausgabe erreicht zu haben.

  • Ausgabe ausgeben: Wann immer diese Endbedingungen erfüllt sind, stellen Sie dem Benutzer die endgültige Ausgabe als Antwort auf seine erste Anfrage zur Verfügung. Wie bei vielen Verwendungszwecken von LLMs werden die ReAct-Agenten als Argumentationsmodelle, die eine Gedankenkette verwenden, bevor ein endgültiges Output festgelegt wird, oft aufgefordert, ihren Denkprozess innerhalb eines „Scratchpad“ durchzuführen. 

Eine klassische Demonstration des ReAct-Prompting ist das Systemprompt für die vorgefertigteZERO_shot_REACT-BESCHREIBUNG ReACT-Agentenmodul in LangGraph von Langchain. Es heißt „Zero-Shot“, weil bei diesem vordefinierten Prompt das LLM, das mit dem Modul verwendet wird, keine weiteren Beispiele benötigt, um sich wie ein ReAct-Agent zu verhalten.

Answer the following questions as best you can. You have access to the following tools: 

Wikipedia: A wrapper around Wikipedia. Useful for when you need to answer general questions about people, places, companies, facts, historical events, or other subjects. Input should be a search query.
duckduckgo_search: A wrapper around DuckDuckGo Search. Useful for when you need to answer questions about current events. Input should be a search query.
Calculator: Useful for when you need to answer questions about math.

Use the following format:

Question: the input question you must answer
Thought: you should always think about what to do
Action: the action to take, should be one of [Wikipedia, duckduckgo_search, Calculator]
Action Input: the input to the action
Observation: the result of the action
... (this Thought/Action/Action Input/Observation can repeat N times)
Thought: I now know the final answer
Final Answer: the final answer to the original input question

Begin!

Question: {input}
Thought:{agent_scratchpad}
KI-Agenten

5 Arten von KI-Agenten: Autonome Funktionen und Anwendungen in der echten Welt

Erfahren Sie, wie sich zielgerichtete und dienstprogrammbasierte KI an Workflows und komplexe Umgebungen anpassen kann.

Vorteile von ReAct-Agenten

Die Einführung des ReAct-Frameworks war ein wichtiger Schritt bei der Weiterentwicklung von LLM-gesteuerten Agenten-Workflows. Von der Echtzeit-Einbindung externer Informationen aus der realen Welt in LLMs (RAG) bis hin zu Beiträgen zu nachfolgenden Durchbrüchen – wie beispielsweise Reflexion, das zu modernen Schlussfolgerungsmodellen geführt hat – hat ReAct dazu beigetragen, den Einsatz von LLMs für Aufgaben weit über die Textgenerierung hinaus zu fördern.

Der Nutzen der ReAct-Agenten beruht zu einem großen Teil auf einigen der inhärenten Eigenschaften des ReAct-Frameworks:

  • Vielseitigkeit: ReAct-Agenten können so konfiguriert werden, dass sie mit einer Vielzahl externer Tools und APIs arbeiten. Obwohl eine Feinabstimmung relevanter ReAct-Prompts (mithilfe relevanter Tools) die Leistung verbessern kann, ist keine vorherige Konfiguration des Modells erforderlich, um Tool-Aufrufe auszuführen.

  • Diese Vielseitigkeit, zusammen mit der dynamischen und situativen Art und Weise, wie sie das geeignete Tool oder die API für den Aufruf bestimmen, bedeutet, dass ReAct-Agenten ihren Argumentationsprozess nutzen können, um sich an neue Herausforderungen anzupassen. Insbesondere wenn sie in einem langen Kontextfenster arbeiten oder mit externem Speicher erweitert werden, können sie aus vergangenen Fehlern und Erfolgen lernen, um unvorhergesehene Hindernisse und Situationen zu bewältigen. Dies macht ReAct-Agenten flexibel und widerstandsfähig.

  • Erklärbarkeit: Der verbalisierte Argumentationsprozess eines ReAct-Agenten ist einfach zu befolgen, was die Fehlersuche erleichtert und dazu beiträgt, dass er relativ benutzerfreundlich zu erstellen und zu optimieren ist.

  • Genauigkeit: Nach dem ursprünglichen ReAct-Papier hat allein das Denken in der Denkkette (CoT) viele Vorteile für LLMs, birgt aber auch ein erhöhtes Risiko für Halluzinationen. Die Kombination von CoT in ReAct mit einer Verbindung außerhalb von Informationsquellen reduziert Halluzinationen erheblich, wodurch ReAct-Agenten genauer und vertrauenswürdiger werden.

ReAct-Agenten vs. Funktionsaufrufe

Ein weiteres prominentes Paradigma für agentische KI ist der Funktionsaufruf, der ursprünglich von OpenAI im Juni 2023 eingeführt wurde, um die agentischen Fähigkeiten seiner GPT-Modelle zu ergänzen.

Das Funktionsaufrufparadigma beinhaltet eine Feinabstimmung von Modellen, um zu erkennen, wann eine bestimmte Situation zu einem Toolaufruf führen sollte, und gibt eine strukturierte JSON-Ausgabe aus, die die Argumente enthält, die zum Aufrufen dieser Funktionen erforderlich sind.

Viele proprietäre und Open-Source-LLM-Familien, darunter IBM® Granite, die Llama-Serie von Meta,Claude von Anthropic und Google Gemini, unterstützen jetzt den Aufruf von Funktionen.

Ob ReAct oder ein Funktionsaufruf „besser“ ist, hängt im Allgemeinen von der Art Ihres spezifischen Anwendungsfall ab. In Szenarien mit relativ einfachen (oder zumindest vorhersehbaren) Aufgaben kann ein Funktionsaufruf schneller ausgeführt werden, Token sparen und einfacher zu implementieren sein als ein ReAct-Agent.

Unter solchen Umständen könnte die Anzahl der Token, die für die iterative Schleife der CoT-Schlussfolgerungen eines ReAct-Agenten aufgewendet werden würden, als ineffizient angesehen werden.

Der damit verbundene Nachteil ist, dass es relativ schwierig ist, zu bestimmen, wie und wann das Modell das zu verwendende Werkzeug auswählt. Wenn ein Agent Aufgaben bearbeitet, die komplexes Denken erfordern, oder Szenarien, die dynamisch oder unvorhersehbar sind, kann die Starrheit des Funktionsaufrufs die Anpassungsfähigkeit des Agenten einschränken. In solchen Situationen ist es oft von Vorteil, die schrittweise Argumentation, die zu einem bestimmten Toolaufruf geführt hat, anzeigen zu können.

Erste Schritte mit ReAct-Agenten

ReAct-Agenten können auf verschiedene Weise entworfen und implementiert werden, unabhängig davon, ob sie von Grund auf in Python programmiert oder mithilfe von Open-Source-Frameworks wie BeeAI entwickelt wurden. Die Popularität und das Durchhaltevermögen des ReAct-Paradigmas haben zu umfangreicher Literatur und Tutorials für ReAct-Agenten auf GitHub und anderen Entwickler-Communities geführt.

Als Alternative zur Entwicklung eigener ReAct-Agenten bieten viele agentische KI-Frameworks, darunter BeeAI, LlamaIndex und LangGraph von LangChain, vorkonfigurierte ReAct-Agentenmodule für spezifische Anwendungsfälle.

Weiterführende Lösungen
Entwicklung von IBM KI-Agenten 

Ermöglichen Sie Entwicklern die Erstellung, Bereitstellung und Überwachung von KI-Agenten mit dem IBM watsonx.ai Studio.

watsonx.ai erkunden
IBM KI-Agenten und -Assistenten

Erzielen Sie bahnbrechende Produktivität mit einem der branchenweit umfassendsten Funktionenpakete, das Unternehmen bei der Erstellung, Anpassung und Verwaltung von KI-Agenten und KI-Assistenten unterstützt. 

Erkunden Sie KI-Agenten
IBM Granite

Erzielen Sie Kosteneinsparungen von über 90 % mit den kleineren und offenen Modellen von Granite, die auf Entwicklereffizienz ausgelegt sind. Diese auf Unternehmen abgestimmten Modelle bieten eine herausragende Leistung bei Sicherheitsbenchmarks und in einem breiten Spektrum von Unternehmensaufgaben von Cybersicherheit bis RAG.

Granite erkunden
Machen Sie den nächsten Schritt

Automatisieren Sie Ihre komplexen Workflows und erzielen Sie bahnbrechende Produktivität mit einem der branchenweit umfassendsten Funktionspakete, das Unternehmen bei der Erstellung, Anpassung und Verwaltung von KI-Agenten und KI-Assistenten unterstützt. 

watsonx.ai Agentenentwicklung erkunden Entdecken Sie watsonx Orchestrate