Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Projeto] Faça como eu fiz: grafo multiagentes

Nesta atividade, implementei um grafo multiagentes utilizando LangGraph, organizando o fluxo em agentes especializados para planejamento, pesquisa, escrita, crítica e pesquisa complementar. O objetivo foi simular uma arquitetura mais próxima de um processo real de geração assistida por IA, na qual cada agente possui uma responsabilidade específica e contribui para a construção progressiva da resposta final.

O estado do agente foi estruturado com as chaves task, plan, draft, critic e content, além de campos de controle para número de revisões. O grafo foi construído com nós sequenciais, iniciando pelo planejador, seguindo para o pesquisador, escritor e crítico. Após a crítica, uma aresta condicional verifica se o fluxo deve ser encerrado ou se deve continuar para uma pesquisa complementar, retornando posteriormente ao agente escritor.

A solução também reaproveitou conceitos trabalhados anteriormente, como busca agêntica com Tavily, persistência com SQLite, streaming dos eventos do grafo e possibilidade de intervenção humana para orientar o plano antes da geração final. Para reduzir consumo de recursos, utilizei limite baixo de resultados na busca, máximo de uma revisão e uma alternativa com busca simulada para validar o grafo antes de acionar APIs externas.

Com isso, foi possível compreender como o LangGraph permite organizar fluxos complexos de IA em uma estrutura clara, controlada e extensível, aproximando o uso de agentes de uma arquitetura profissional baseada em responsabilidades, estados, decisões condicionais e persistência.

Segue o link do código desenvolvido e com as evidências:
https://github.com/Moquiuti/LangGraph_Orquestrando_agentes_e_multiagentes/blob/main/grafo_multiagentes.ipynb

2 respostas

Olá, Leandro. Como vai?

Parabéns pelo excelente projeto! Implementar uma arquitetura de grafos multiagentes com o LangGraph é um marco importante no domínio de IA generativa, pois tira o modelo do paradigma de resposta única e o coloca em um fluxo de trabalho iterativo e especializado.

Sua estruturação do estado (State) utilizando chaves específicas como plan, draft e critic demonstra uma ótima compreensão de como manter a persistência e a memória compartilhada entre os nós do grafo. Essa separação de responsabilidades é o que garante a escalabilidade do sistema.

Para agregar valor ao seu desenvolvimento, gostaria de destacar alguns pontos técnicos da sua arquitetura:

  • Arestas Condicionais: O uso de arestas condicionais após o nó do crítico é o que realmente define o "poder" do LangGraph. Em sistemas profissionais, essa lógica permite que o agente decida se a qualidade é suficiente ou se precisa gastar mais tokens em uma nova iteração, otimizando custo e tempo.
  • Intervenção Humana (Human-in-the-loop): Você mencionou a possibilidade de intervir no plano. Isso é fundamental para evitar que o grafo entre em loops infinitos ou desvie do objetivo inicial, garantindo que a IA atue como um copiloto sob supervisão.
  • Persistência com SQLite: O uso do Checkpointer (SQLite) é uma excelente prática, pois permite que o estado do grafo sobreviva a reinicializações e possibilita funcionalidades de "viagem no tempo" (Time Travel), onde você pode retomar a execução de qualquer ponto anterior.

Como sugestão de boa prática para seus próximos passos:
Ao lidar com múltiplos agentes, você pode explorar o conceito de Supervisor Node. Em vez de uma sequência rígida, você cria um nó "gerente" que decide, com base na tarefa, qual agente deve ser acionado a seguir, tornando o grafo ainda mais dinâmico.

Seu repositório no Colab está muito bem organizado e as evidências comprovam a execução correta do fluxo. Continue explorando essas arquiteturas, elas são o futuro das aplicações corporativas de IA.

Espero que possa ter lhe ajudado!

solução!

Olá Evandro, obrigado pelo feedback e pela orientação do Supervisor Node, irei aplicá-lo, eu observei que coloquei o link do collab, editei para o o git! obrigado mais uma vez.