← 返回列表

Perguntas de Entrevista sobre IA 6: Três Metodologias Principais do AI Agent: ReAct, Plan-and-Solve e Reflection

Três Metodologias Principais do AI Agent: ReAct, Plan-and-Solve e Reflection

AI Agent é um agente inteligente capaz de perceber o ambiente, tomar decisões e executar ações de forma autônoma. Suas metodologias principais são três: ReAct, Plan-and-Solve e Reflection. Abaixo, apresentamos cada uma, acompanhadas de fluxogramas e exemplos de código.

1. ReAct (Raciocínio + Ação)

Ideia central: Intercalar raciocínio (Reasoning) e ação (Acting). O agente, a cada passo, primeiro pensa sobre o estado atual e o próximo plano (raciocínio), depois executa uma ação (como chamar uma ferramenta, buscar informações) e, em seguida, continua raciocinando com base no resultado.

Fluxograma:

[Estado inicial] → [Raciocínio: pensar próximo passo] → [Ação: executar ação] → [Observar resultado] → [Raciocínio: atualizar plano] → ... → [Resposta final]

Exemplo de código (pseudocódigo):

def react_agent(question):
    context = []
    while not solved:
        # Raciocínio: gerar etapa de pensamento
        thought = llm.generate_thought(question, context)
        # Ação: escolher ação com base no pensamento
        action = llm.choose_action(thought)
        # Executar ação, obter observação
        observation = execute_action(action)
        # Adicionar pensamento, ação e observação ao contexto
        context.append((thought, action, observation))
    return final_answer

Exemplo:
- Usuário pergunta: "Como está o tempo em Pequim hoje?"
- Agente raciocina: "Preciso consultar a API de clima, preciso do nome da cidade e da data."
- Ação: chamar API de clima (parâmetros: Pequim, hoje)
- Observação: retorna "Ensolarado, 25°C"
- Raciocínio: "Informação obtida, posso responder."
- Saída: "Pequim hoje: ensolarado, 25°C."

2. Plan-and-Solve

Ideia central: Primeiro elaborar um plano completo (Plan), depois executá-lo passo a passo (Solve). Na fase de planejamento, a tarefa complexa é decomposta em subetapas; na fase de execução, as etapas são concluídas em ordem, podendo ajustar o plano com base em resultados intermediários.

Fluxograma:

[Tarefa] → [Elaborar plano: decompor em subetapas] → [Executar etapa 1] → [Executar etapa 2] → ... → [Executar etapa N] → [Resposta final]

Exemplo de código:

def plan_and_solve(task):
    # Fase de planejamento
    plan = llm.generate_plan(task)  # Exemplo: ["Pesquisar dados", "Organizar informações", "Escrever relatório"]
    context = {}
    for step in plan:
        # Executar cada etapa
        result = execute_step(step, context)
        context[step] = result
    # Sintetizar resultados
    final = llm.synthesize(context)
    return final

Exemplo:
- Tarefa: "Escrever um blog sobre AI Agent"
- Plano:
1. Pesquisar definição e avanços recentes de AI Agent
2. Ler e organizar pontos-chave
3. Escrever esboço do blog
4. Preencher conteúdo
5. Revisar e publicar
- Execução: concluir cada etapa sequencialmente, resultando no blog final.

3. Reflection

Ideia central: O agente reflete sobre seu próprio comportamento durante ou após a execução, avalia os resultados e melhora ações futuras. Geralmente inclui autocrítica, correção de erros ou otimização de estratégia.

Fluxograma:

[Ação] → [Observar resultado] → [Reflexão: avaliar se bem-sucedido] → [Se falha: ajustar estratégia] → [Agir novamente] → ... → [Sucesso]

Exemplo de código:

def reflection_agent(task):
    max_attempts = 3
    for attempt in range(max_attempts):
        action = llm.generate_action(task)
        result = execute(action)
        # Reflexão
        reflection = llm.reflect(task, action, result)
        if reflection['success']:
            return result
        else:
            # Ajustar descrição da tarefa ou estratégia com base na reflexão
            task = reflection['improved_task']
    return None

Exemplo:
- Tarefa: "Calcular 1234 * 5678"
- Ação: calcular diretamente, obtendo resultado 7006652
- Reflexão: verificar o processo de cálculo, descobrir erro de进位
- Ajuste: recalcular, obtendo resultado correto 7006652 (na verdade correto)
- Se ainda errado, continuar refletindo até acertar.

Resumo Comparativo

Metodologia Características Cenários de Aplicação
ReAct Raciocínio e ação intercalados, ajuste dinâmico Tarefas que exigem interação em tempo real (ex: perguntas e respostas, busca)
Plan-and-Solve Planejar primeiro, depois executar, decomposição estruturada Tarefas complexas com múltiplas etapas (ex: escrita, análise de dados)
Reflection Autorreflexão e correção, otimização iterativa Tarefas que exigem alta precisão (ex: cálculos matemáticos, geração de código)

Na prática, frequentemente combinam-se as três, como adicionar mecanismo de reflexão ao ReAct, ou refletir após cada etapa no Plan-and-Solve.

评论

暂无已展示的评论。

发表评论(匿名)