← 返回列表

Sèrie d'entrevistes d'IA 6: Digueu les tres metodologies bàsiques de l'Agent d'IA: ReAct, Plan-and-Solve i Reflection

Tres metodologies bàsiques de l'Agent d'IA: ReAct, Plan-and-Solve i Reflection

Un Agent d'IA és un agent intel·ligent capaç de percebre l'entorn de manera autònoma, prendre decisions i executar accions. Les seves metodologies bàsiques són principalment tres: ReAct, Plan-and-Solve i Reflection. A continuació es presenten per separat, acompanyades de diagrames de flux i exemples de codi.

1. ReAct (Raonament + Acció)

Idea central: Intercalar el raonament (Reasoning) i l'acció (Acting). L'agent primer pensa sobre l'estat actual i el següent pla (raonament) a cada pas, després executa una acció (com cridar una eina, buscar informació), i continua raonant segons el resultat.

Diagrama de flux:

[Estat inicial] → [Raonament: pensar el següent pas] → [Acció: executar acció] → [Observar resultat] → [Raonament: actualitzar pla] → ... → [Resposta final]

Codi d'exemple (pseudocodi):

def react_agent(question):
    context = []
    while not solved:
        # Raonament: generar pas de pensament
        thought = llm.generate_thought(question, context)
        # Acció: triar acció segons el pensament
        action = llm.choose_action(thought)
        # Executar acció, obtenir observació
        observation = execute_action(action)
        # Afegir pensament, acció, observació al context
        context.append((thought, action, observation))
    return final_answer

Exemple:
- L'usuari pregunta: "Com està el temps avui a Pequín?"
- L'Agent raona: "Necessito consultar l'API del temps, necessito el nom de la ciutat i la data."
- Acció: Cridar l'API del temps (paràmetres: Pequín, avui)
- Observació: Retorna "Assolellat, 25°C"
- Raonament: "Ja tinc la informació, puc respondre."
- Sortida: "Avui a Pequín fa assolellat, 25°C."

2. Plan-and-Solve

Idea central: Primer elaborar un pla complet (Plan), després executar-lo pas a pas (Solve). La fase de planificació descompon la tasca complexa en subpassos, i la fase d'execució els completa en ordre, possiblement ajustant el pla segons els resultats intermedis.

Diagrama de flux:

[Tasca] → [Elaborar pla: descompondre en subpassos] → [Executar pas 1] → [Executar pas 2] → ... → [Executar pas N] → [Resposta final]

Codi d'exemple:

def plan_and_solve(task):
    # Fase de planificació
    plan = llm.generate_plan(task)  # Per exemple: ["Cercar informació", "Organitzar informació", "Redactar informe"]
    context = {}
    for step in plan:
        # Executar cada pas
        result = execute_step(step, context)
        context[step] = result
    # Sintetitzar resultats
    final = llm.synthesize(context)
    return final

Exemple:
- Tasca: "Escriure un blog sobre Agents d'IA"
- Pla:
1. Cercar definició d'Agent d'IA i avenços recents
2. Llegir i organitzar punts clau
3. Redactar esbós del blog
4. Omplir contingut
5. Revisar i publicar
- Execució: Completar cada pas seqüencialment, finalment obtenir el blog.

3. Reflection

Idea central: L'agent reflexiona (Reflection) sobre el seu propi comportament durant o després de l'execució, avalua els resultats i millora les accions posteriors. Normalment inclou autocrítica, correcció d'errors o optimització d'estratègies.

Diagrama de flux:

[Acció] → [Observar resultat] → [Reflexionar: avaluar si ha tingut èxit] → [Si falla: ajustar estratègia] → [Tornar a actuar] → ... → [Èxit]

Codi d'exemple:

def reflection_agent(task):
    max_attempts = 3
    for attempt in range(max_attempts):
        action = llm.generate_action(task)
        result = execute(action)
        # Reflexionar
        reflection = llm.reflect(task, action, result)
        if reflection['success']:
            return result
        else:
            # Ajustar la descripció de la tasca o l'estratègia segons la reflexió
            task = reflection['improved_task']
    return None

Exemple:
- Tasca: "Calcular 1234 * 5678"
- Acció: Calcular directament, obtenir resultat 7006652
- Reflexió: Revisar el procés de càlcul, detectar error de portar
- Ajust: Recalcular, obtenir resultat correcte 7006652 (realment correcte)
- Si encara és erroni, continuar reflexionant fins a ser correcte.

Resum comparatiu

Metodologia Característiques Escenaris d'aplicació
ReAct Raonament i acció intercalats, ajust dinàmic Tasques que requereixen interacció d'informació en temps real (com preguntes i respostes, cerca)
Plan-and-Solve Primer planificar, després executar, descomposició estructurada Tasques complexes de múltiples passos (com escriptura, anàlisi de dades)
Reflection Autoreflexió i correcció, optimització iterativa Tasques que requereixen alta precisió (com càlculs matemàtics, generació de codi)

En aplicacions pràctiques, sovint es combinen les tres, per exemple, afegir mecanisme de reflexió a ReAct, o reflexionar després de cada pas a Plan-and-Solve.

评论

暂无已展示的评论。

发表评论(匿名)