Log de Implementação: Orquestração de Agentes (LangGraph + Pydantic AI)
Data: 19/04/2026
Status: Concluído
Resumo das Atividades
Nesta sessão, implementamos o "Cérebro" do Amon Claw, utilizando LangGraph para a orquestração de estados e Pydantic AI para a execução determinística dos agentes.
O que foi feito
- Interface Abstrata:
- Criada a interface
IBrain(src/amon_claw/application/interfaces/brain.py) para isolar a camada de apresentação da lógica do grafo. - Criada a interface
BaseAgent(src/amon_claw/infrastructure/llm/agents/base.py) para padronizar a criação de agentes com Pydantic AI.
- Criada a interface
- Estado do SDR:
- Atualizado o
SDRStatepara suportar controle de fluxo (adminvsuser) e autenticação.
- Atualizado o
- Roteamento Inteligente:
- Implementado nó de roteamento que identifica o comando
/admine chaveia o fluxo da conversa.
- Implementado nó de roteamento que identifica o comando
- Agente de Agendamento:
- Implementado o
SchedulingAgentcomo o primeiro executor real do fluxo de usuário.
- Implementado o
- Integração no Grafo:
- O
sdr_graph.pyfoi atualizado para conectar o roteador ao agente de agendamento.
- O
- Compatibilidade Pydantic AI:
- Corrigidas incompatibilidades com a versão
1.70.0dapydantic-ai(mudança deresult_typeparaoutput_typee de.datapara.output).
- Corrigidas incompatibilidades com a versão
Desafios e Soluções
- API da Pydantic AI: A versão instalada tinha mudanças significativas na assinatura da classe
Agente na estrutura doAgentRunResult. Realizamos uma investigação via scripts e corrigimos o código e os testes para garantir a conformidade. - Segurança do Grafo: Adicionadas proteções no
user_nodepara lidar com estados de mensagens vazias e evitar erros de índice.
Próximos Passos
- Implementar o
AdminFlowpara permitir que o dono do negócio configure o SDR via chat. - Injetar os repositórios reais (Beanie/MongoDB) nos agentes para persistência de dados de agendamento.
- Integrar o
LangGraphBrainnos controladores da API.