← 返回列表

Întrebări de interviu AI Seria 6: Spune-ne despre cele trei metodologii de bază ale AI Agent: ReAct, Plan-and-Solve și Reflection

Cele trei metodologii de bază ale AI Agent: ReAct, Plan-and-Solve și Reflection

AI Agent este un agent inteligent capabil să perceapă autonom mediul, să ia decizii și să execute acțiuni. Metodologiile sale de bază sunt în principal trei: ReAct, Plan-and-Solve și Reflection. Mai jos le prezentăm pe fiecare, însoțite de diagrame de flux și exemple de cod.

1. ReAct (Raționare + Acțiune)

Ideea centrală: Intercalarea raționamentului (Reasoning) cu acțiunea (Acting). Agentul, la fiecare pas, gândește mai întâi starea curentă și planul următor (raționament), apoi execută o acțiune (de exemplu, apelarea unui instrument, căutarea de informații), iar apoi continuă raționamentul pe baza rezultatelor.

Diagrama de flux:

[Stare inițială] → [Raționament: gândește următorul pas] → [Acțiune: execută acțiunea] → [Observă rezultatul] → [Raționament: actualizează planul] → ... → [Răspuns final]

Exemplu de cod (pseudocod):

def react_agent(question):
    context = []
    while not solved:
        # Raționament: generează pasul de gândire
        thought = llm.generate_thought(question, context)
        # Acțiune: alege acțiunea pe baza gândirii
        action = llm.choose_action(thought)
        # Execută acțiunea, obține observația
        observation = execute_action(action)
        # Adaugă gândirea, acțiunea și observația în context
        context.append((thought, action, observation))
    return final_answer

Exemplu:
- Utilizatorul întreabă: „Cum este vremea astăzi în Beijing?”
- Agentul raționează: „Trebuie să interoghezi API-ul meteo, ai nevoie de numele orașului și data.”
- Acțiune: apelează API-ul meteo (parametri: Beijing, astăzi)
- Observație: returnează „Senin, 25°C”
- Raționament: „Am obținut informațiile, pot răspunde.”
- Ieșire: „Astăzi în Beijing este senin, 25°C.”

2. Plan-and-Solve

Ideea centrală: Mai întâi se elaborează un plan complet (Plan), apoi se execută pas cu pas (Solve). În faza de planificare, sarcina complexă este descompusă în sub-pași, iar în faza de execuție se parcurg în ordine, putând ajusta planul pe baza rezultatelor intermediare.

Diagrama de flux:

[Sarcină] → [Elaborează plan: descompune în sub-pași] → [Execută pasul 1] → [Execută pasul 2] → ... → [Execută pasul N] → [Răspuns final]

Exemplu de cod:

def plan_and_solve(task):
    # Faza de planificare
    plan = llm.generate_plan(task)  # de exemplu: ["Caută informații", "Organizează date", "Scrie raportul"]
    context = {}
    for step in plan:
        # Execută fiecare pas
        result = execute_step(step, context)
        context[step] = result
    # Sinteză rezultate
    final = llm.synthesize(context)
    return final

Exemplu:
- Sarcină: „Scrie un blog despre AI Agent”
- Plan:
1. Caută definiția AI Agent și cele mai recente progrese
2. Citește și organizează punctele cheie
3. Scrie schița blogului
4. Completează conținutul
5. Corectează și publică
- Execuție: parcurge fiecare pas în ordine, rezultând blogul final.

3. Reflection

Ideea centrală: Agentul, în timpul sau după execuție, reflectează asupra propriilor acțiuni (Reflection), evaluează rezultatele și îmbunătățește acțiunile ulterioare. Include de obicei autocritică, corectarea erorilor sau optimizarea strategiei.

Diagrama de flux:

[Acțiune] → [Observă rezultatul] → [Reflecție: evaluează dacă a reușit] → [Dacă eșuează: ajustează strategia] → [Acțiune din nou] → ... → [Succes]

Exemplu de cod:

def reflection_agent(task):
    max_attempts = 3
    for attempt in range(max_attempts):
        action = llm.generate_action(task)
        result = execute(action)
        # Reflecție
        reflection = llm.reflect(task, action, result)
        if reflection['success']:
            return result
        else:
            # Ajustează descrierea sarcinii sau strategia pe baza reflecției
            task = reflection['improved_task']
    return None

Exemplu:
- Sarcină: „Calculează 1234 * 5678”
- Acțiune: calculează direct, obține rezultatul 7006652
- Reflecție: verifică procesul de calcul, descoperă o eroare de transport
- Ajustare: recalculează, obține rezultatul corect 7006652 (de fapt corect)
- Dacă tot greșit, continuă reflecția până la corectitudine.

Rezumat comparativ

Metodologie Caracteristici Scenarii de aplicare
ReAct Raționament și acțiune intercalate, ajustare dinamică Sarcini care necesită interacțiune în timp real cu informații (de ex. întrebări-răspunsuri, căutare)
Plan-and-Solve Mai întâi plan, apoi execuție, descompunere structurată Sarcini complexe cu mai mulți pași (de ex. scriere, analiză de date)
Reflection Autoreflecție și corectare, optimizare iterativă Sarcini care necesită acuratețe ridicată (de ex. calcule matematice, generare de cod)

În aplicațiile practice, cele trei sunt adesea combinate, de exemplu ReAct cu mecanism de reflecție, sau Plan-and-Solve cu reflecție după fiecare pas.

评论

暂无已展示的评论。

发表评论(匿名)