Naar inhoud
lightbulb Welkom op de nieuwe kennisbank | We hebben de docs volledig vernieuwd met meer dan 160 features. Bekijk wat nieuw isarrow_forward

ReAct-framework voor AI-agents

Leer het ReAct-framework: combineer redeneren en handelen in AI-agents die tools gebruiken, resultaten evalueren en zelfstandig complexe meerstapstaken uitvoeren.

Wat is ReAct?

ReAct (Reasoning + Acting) is een framework voor AI-agents waarbij het model afwisselt tussen redeneren en handelen. De agent denkt hardop na over wat het moet doen, voert een actie uit (zoals een zoekopdracht of een API-aanroep), observeert het resultaat en past zijn redenering aan op basis van die observatie.

Dit cyclische patroon van Thought, Action, Observation en opnieuw Thought maakt het mogelijk dat een AI-agent complexe meerstapstaken uitvoert waarbij externe informatie nodig is die niet in de trainingsdata van het model aanwezig is.

ReAct werd in 2022 geïntroduceerd door onderzoekers van Princeton University en Google Research (Yao e.a., "ReAct: Synergizing Reasoning and Acting in Language Models", arXiv 2210.03629). Het patroon heeft sindsdien de basis gelegd voor vrijwel alle moderne AI-agentframeworks, inclusief de tool-calling functionaliteit in ChatGPT, Claude en Gemini.

De ReAct-cyclus

Een typische ReAct-cyclus ziet er zo uit:

Vraag: Wat is de huidige bevolking van Amsterdam?

Thought: Ik moet de actuele bevolking van Amsterdam opzoeken.
Action: search("Amsterdam aantal inwoners 2026")
Observation: "Amsterdam heeft begin 2026 ongeveer 941.000 inwoners."

Thought: Ik heb de informatie. Ik kan nu antwoorden.
Action: Finish("Amsterdam heeft begin 2026 ongeveer 941.000 inwoners.")

Elke stap is zichtbaar, traceerbaar en aanpasbaar. Dat is het grote voordeel van ReAct vergeleken met een directe vraag: je ziet precies hoe de agent tot zijn antwoord komt.

Beschikbare acties

Een ReAct-agent heeft een set beschikbare acties (tools). Typische tools zijn:

  • Zoeken: doorzoek het internet of een kennisbank.
  • Lezen: haal de inhoud van een URL op.
  • Berekenen: voer een berekening uit.
  • Schrijven: sla informatie op in het geheugen.
  • Uitvoeren: voer code of een commando uit.
  • API-aanroepen: praat met externe services.

De kracht van ReAct zit in de combinatie: het model kiest de juiste tool, voert die uit en verwerkt het resultaat in zijn redenering.

info

ReAct is de basis onder moderne agents

ReAct is de technische basis onder moderne functionaliteit zoals het webzoeken van ChatGPT, het computergebruik van Claude en de tool-calling van Gemini. De cyclus van denken, handelen en observeren is universeel.

Een ReAct-agent implementeren

De basisprompt voor een ReAct-agent ziet er zo uit:

Je bent een assistent die toegang heeft tot de volgende tools:
- search(query): Zoek op het internet
- calculate(expression): Bereken een wiskundige expressie
- read_url(url): Lees de inhoud van een webpagina

Voor elke taak:
1. Schrijf "Thought:" gevolgd door je redenering
2. Schrijf "Action:" gevolgd door de tool en parameters
3. Wacht op "Observation:" met het resultaat
4. Herhaal totdat je klaar bent
5. Schrijf "Answer:" gevolgd door je definitieve antwoord

Vraag: [gebruikersvraag]

Zo bouw je een ReAct-agent op

  1. Definieer de beschikbare tools: lijst ze op met naam, parameters en een korte beschrijving.
  2. Schrijf de cyclus-instructie: leg het patroon Thought, Action, Observation vast.
  3. Geef een stopcriterium: maak expliciet wanneer de taak klaar is en de agent moet stoppen.
  4. Implementeer de tool-aanroepen: zorg dat de agent tools daadwerkelijk kan aanroepen via de function calling van de API.
  5. Voeg foutafhandeling toe: bepaal wat de agent doet als een tool faalt of leeg terugkomt.
  6. Stel een iteratielimiet in: stop de loop na een vast maximumaantal stappen om eindeloze cycli te voorkomen.

ReAct en hallucinaties

Een van de grootste voordelen van ReAct is dat het hallucinaties vermindert. In plaats van informatie te genereren uit zijn trainingsdata, zoekt de agent actief naar actuele, accurate informatie en onderbouwt hij zijn antwoord met wat hij waarneemt.

Dat is essentieel voor taken waarbij de trainingsdata verouderd of onvolledig is, zoals actuele prijzen, recente nieuwsgebeurtenissen of domeinspecifieke bedrijfsdata.

warning

ReAct elimineert hallucinaties niet

ReAct vermindert hallucinaties, maar haalt ze niet volledig weg. Het model kan nog steeds fouten maken in zijn redenering of zoekresultaten verkeerd interpreteren. Valideer kritieke outputs altijd zelf.

Toepassingen van ReAct

Klantenservice-agents. Een agent die klantvragen beantwoordt door te zoeken in de CRM, kennisbank en bestelhistorie. Elk antwoord is onderbouwd door echte data.

Onderzoeksassistenten. Een agent die meerdere bronnen raadpleegt, informatie vergelijkt en een samenvatting schrijft met bronvermeldingen.

Data-analyse. Een agent die SQL-queries uitvoert, resultaten interpreteert en vervolganalyses start op basis van wat hij ontdekt.

Automatisering. Een agent die externe services aanroept, formulieren invult of systemen bedient via API's.

ReAct versus directe aanroep

Aspect Directe aanroep ReAct
Transparantie Geen zichtbare redenering Volledig zichtbaar
Actualiteit Beperkt tot trainingsdata Toegang tot actuele info
Foutdetectie Moeilijk Eenvoudig via de trace
Complexiteit Laag Hoog
Geschikt voor Eenvoudige taken Meerstaps, tool-gebruikende taken
lightbulb

Begin klein en bouw stap voor stap uit

Test je agent eerst met één tool en een korte taak. Werkt de Thought-Action-Observation-cyclus betrouwbaar, voeg dan pas extra tools, foutafhandeling en een hoger iteratiebudget toe. Zo houd je de trace leesbaar en de fouten vindbaar.

Heeft ReAct altijd tools nodig?

Nee. Je kunt ReAct gebruiken als pure denkstructuur (Thought, Analysis, Conclusion) zonder externe tools. Maar de echte kracht komt pas vrij met tools die het model toegang geven tot externe informatie en systemen.

Hoe implementeer ik ReAct-toolaanroepen?

Via de function calling of tool use van de API (OpenAI, Anthropic, Google). De API handelt de tool-executie af, het model besluit wanneer een tool nodig is en verwerkt het resultaat in de volgende redeneerstap.

Kan een ReAct-agent in een loop blijven hangen?

Ja. Zet altijd een maximumaantal iteraties in. Heeft de agent na dat aantal stappen nog geen antwoord, dan stop je de loop en geef je een nette foutmelding terug.

Is ReAct hetzelfde als een AI-agent?

Nee. ReAct is een framework om AI-agents te implementeren. Niet alle agents gebruiken ReAct, maar het is het meest gebruikte en best beschreven patroon voor tool-gebruikende agents.

Wat is het verschil tussen ReAct en chain-of-thought?

Chain-of-thought laat het model alleen redeneren in tekst. ReAct voegt daar acties aan toe: het model mag tussen de redeneerstappen door tools aanroepen en de uitkomsten observeren. Daardoor kan ReAct met actuele, externe informatie werken in plaats van alleen met trainingsdata.

Welke modellen werken goed met ReAct?

Vrijwel elk modern model met function calling, zoals de Gemini-, GPT- en Claude-families. Belangrijker dan de modelkeuze zijn duidelijke tool-beschrijvingen, een strak stopcriterium en goede foutafhandeling.

ReAct is de brug tussen een passief taalmodel en een actieve, autonome agent. Door redeneren en handelen te combineren in een transparante cyclus, worden taken mogelijk die ver buiten het bereik van conventionele prompting liggen.