← 返回列表

AI-serie intervjuspørsmål 6: Forklar de tre kjernemetodene for AI Agent: ReAct, Plan-and-Solve og Reflection

AI Agent tre kjernemetoder: ReAct, Plan-and-Solve og Reflection

AI Agent er en intelligent enhet som kan oppfatte miljøet, ta beslutninger og utføre handlinger på egen hånd. De tre kjernemetodene er: ReAct, Plan-and-Solve og Reflection. Nedenfor presenteres de med flytskjemaer og kodeeksempler.

1. ReAct (Reasoning + Acting)

Kjerneidé: Å veksle mellom resonnering (Reasoning) og handling (Acting). Agenten tenker først på gjeldende tilstand og neste trinn (resonnering), utfører deretter en handling (f.eks. kalle et verktøy, søke informasjon), og fortsetter resonneringen basert på resultatet.

Flytskjema:

[Starttilstand] → [Resonnering: tenk neste steg] → [Handling: utfør handling] → [Observer resultat] → [Resonnering: oppdater plan] → ... → [Endelig svar]

Eksempelkode (pseudokode):

def react_agent(question):
    context = []
    while not solved:
        # Resonnering: generer tanketrinn
        thought = llm.generate_thought(question, context)
        # Handling: velg handling basert på tanke
        action = llm.choose_action(thought)
        # Utfør handling, få observasjon
        observation = execute_action(action)
        # Legg tanke, handling, observasjon til kontekst
        context.append((thought, action, observation))
    return final_answer

Eksempel:
- Bruker spør: "Hvordan er været i Beijing i dag?"
- Agent resonnerer: "Jeg må spørre vær-API, trenger bynavn og dato."
- Handling: Kall vær-API (parametere: Beijing, i dag)
- Observasjon: Returnerer "Sol, 25°C"
- Resonnering: "Har fått informasjon, kan svare."
- Svar: "Beijing i dag: sol, 25°C."

2. Plan-and-Solve

Kjerneidé: Lag først en fullstendig plan (Plan), utfør deretter trinnvis (Solve). I planleggingsfasen deles komplekse oppgaver opp i deltrinn, i utførelsesfasen fullføres de i rekkefølge, med mulighet for justering basert på delresultater.

Flytskjema:

[Oppgave] → [Lag plan: del opp i deltrinn] → [Utfør trinn 1] → [Utfør trinn 2] → ... → [Utfør trinn N] → [Endelig svar]

Eksempelkode:

def plan_and_solve(task):
    # Planleggingsfase
    plan = llm.generate_plan(task)  # f.eks.: ["Søk etter informasjon", "Organiser informasjon", "Skriv rapport"]
    context = {}
    for step in plan:
        # Utfør hvert trinn
        result = execute_step(step, context)
        context[step] = result
    # Syntetiser resultater
    final = llm.synthesize(context)
    return final

Eksempel:
- Oppgave: "Skriv en blogg om AI Agent"
- Plan:
1. Søk etter definisjon og siste nytt om AI Agent
2. Les og organiser nøkkelpunkter
3. Skriv bloggdisposisjon
4. Fyll inn innhold
5. Korrekturles og publiser
- Utførelse: Fullfør hvert trinn i rekkefølge, til slutt leveres bloggen.

3. Reflection

Kjerneidé: Agenten reflekterer over egne handlinger under eller etter utførelse, evaluerer resultater og forbedrer videre handlinger. Inkluderer ofte selvkritikk, feilretting eller strategioptimalisering.

Flytskjema:

[Handling] → [Observer resultat] → [Reflekter: vurder suksess] → [Hvis feil: juster strategi] → [Handling igjen] → ... → [Suksess]

Eksempelkode:

def reflection_agent(task):
    max_attempts = 3
    for attempt in range(max_attempts):
        action = llm.generate_action(task)
        result = execute(action)
        # Reflekter
        reflection = llm.reflect(task, action, result)
        if reflection['success']:
            return result
        else:
            # Juster oppgavebeskrivelse eller strategi basert på refleksjon
            task = reflection['improved_task']
    return None

Eksempel:
- Oppgave: "Beregn 1234 * 5678"
- Handling: Direkte beregning, får resultat 7006652
- Refleksjon: Sjekk beregningsprosessen, oppdager feil i overføring
- Justering: Beregn på nytt, får korrekt resultat 7006652 (faktisk korrekt)
- Hvis fortsatt feil, fortsett refleksjon til korrekt.

Oppsummering og sammenligning

Metode Egenskaper Anvendelsesområder
ReAct Veksling mellom resonnering og handling, dynamisk justering Oppgaver som krever sanntids interaksjon (f.eks. spørsmål-svar, søk)
Plan-and-Solve Planlegg først, utfør deretter, strukturert oppdeling Komplekse flertrinnsoppgaver (f.eks. skriving, dataanalyse)
Reflection Selvrefleksjon og korrigering, iterativ optimalisering Oppgaver som krever høy nøyaktighet (f.eks. matematikk, kodegenerering)

I praksis kombineres ofte de tre metodene, for eksempel å legge til refleksjonsmekanisme i ReAct, eller reflektere etter hvert trinn i Plan-and-Solve.

评论

暂无已展示的评论。

发表评论(匿名)