ReAct-agent
En ReAct-agent er en AI-agent, der skiftevis ræsonnerer (Reasoning) og handler (Acting) i en loop for at løse opgaver, ved at generere tanker, udføre handlinger og observere resultater.
Kort fortalt
En ReAct-agent er som en robot, der tænker højt, prøver noget, ser hvad der sker, og så tænker igen – gentagne gange – indtil opgaven er løst.
- Kategori
- teknik
- Niveau
- øvet
Betydninger
1- 1
En agentarkitektur, hvor en sprogmodel genererer ræsonnementstrin (tanker) og handlinger (værktøjskald) i en iterativ cyklus, og observationer fra handlingerne føres tilbage i modellen for at guide næste trin.
- ReAct-agenten fik spørgsmålet 'Hvor højt er Eiffeltårnet?', genererede tanken 'Jeg skal slå højden op', kaldte søgeværktøjet og observerede resultatet '300 meter', og svarede derefter. — Eksempel baseret på ReAct-papiret
Hvornår bruges det
ReAct-agenter bruges typisk i sprogmodel-baserede systemer, hvor modellen får adgang til eksterne værktøjer som søgemaskiner, regnemaskiner eller API'er. De anvendes til komplekse opgaver som informationssøgning, spørgsmål-besvarelse og automatisering af arbejdsgange, hvor modellen skal planlægge og tilpasse sig dynamisk.
Kodeeksempel
from langchain.agents import create_react_agent
from langchain.tools import tool
@tool
def search(query: str) -> str:
"""Simuleret søgning."""
return f"Resultat for '{query}': 42"
agent = create_react_agent(llm, tools=[search])
agent.run("Hvad er meningen med livet?")Eksempel på oprettelse af en ReAct-agent med LangChain. Agenten bruger et værktøj (search) og kører ReAct-loopet automatisk.
Oprindelse
Termen 'ReAct' er et akronym for 'Reasoning and Acting', introduceret af Shunyu Yao et al. i artiklen 'ReAct: Synergizing Reasoning and Acting in Language Models' (2023). Konceptet bygger videre på ideer fra Chain-of-Thought prompting og reinforcement learning.