Introdução
Sistemas multiagentes estão se tornando um dos pilares da próxima geração de aplicações em inteligência artificial. Eles consistem em arquiteturas compostas por diferentes agentes especializados que interagem entre si para resolver tarefas complexas, dividindo responsabilidades. No centro dessa orquestração, frequentemente encontramos um supervisor, cuja função é coordenar os agentes e garantir que as decisões sejam tomadas de forma sequencial, lógica e eficiente.
Este tutorial mostra como construir um supervisor multiagente usando LangGraph, integrando dois agentes especialistas: um focado em pesquisa na internet com Tavily e outro especializado em operações matemáticas. Para orquestrar esses agentes, utilizamos o modelo Gemini 2.0 da Google.
Para obter o código e o tutorial deste exercício faça parte do Clube AM e receba toda semana os códigos em R/Python, vídeos, tutoriais e suporte completo para dúvidas.
Objetivos
- Construir dois agentes especializados:
- Um agente de pesquisa utilizando TavilySearch.
- Um agente de cálculo responsável por operações matemáticas básicas.
- Criar um agente supervisor com LangGraph capaz de delegar tarefas sequencialmente.
- Integrar o modelo Gemini 2.0 da Google como LLM central.
- Executar um fluxo de trabalho realista com uma pergunta econômica.
- Visualizar o grafo de execução, que representa o fluxo entre os agentes.
Por que usar um Supervisor?
Em um sistema multiagente, é comum que cada agente seja altamente especializado – alguns são bons em interpretação de linguagem natural, outros em cálculos ou buscas externas. No entanto, raramente um único agente consegue tomar decisões sobre como dividir a tarefa ou qual agente deve ser chamado em seguida. É aí que entra o supervisor.
O supervisor atua como um agente coordenador que:
- Decide a ordem de execução entre os agentes.
- Avalia se a resposta parcial é suficiente ou se precisa de mais contexto.
- Mantém o controle do histórico de interações.
- Permite composição modular, facilitando reuso de agentes em diferentes fluxos.
Utilizar um supervisor com LangGraph significa desenhar fluxos que podem ser visualizados e depurados graficamente, além de facilitar testes, simulações e extensões futuras.
Criação dos agentes especialistas
Agente de Pesquisa com Tavily
Vamos usar a API da Tavily, que permite fazer buscas otimizadas e sumarizadas na web. Esse agente será responsável por buscar dados econômicos diretamente na internet. É necessário obter uma chave API logando em uma conta no site do Tavily.
Agente de Cálculo
Criamos um agente com operações matemáticas básicas: soma, multiplicação e divisão. Ele será chamado sempre que for necessário calcular algum valor com base nos dados buscados.
Construção do Agente Supervisor com LangGraph
Com os agentes prontos, agora criamos o supervisor usando langgraph_supervisor
. Ele será responsável por decidir se a tarefa deve ser delegada ao agente de pesquisa ou ao agente de cálculo, de forma sequencial.
Ao final, temos o seguinte ambiente de execução do Agente:
Execução de um fluxo real
Vamos agora testar nosso sistema completo com a seguinte pergunta:
"Encontre o PIB Brasil e do estado de São Paulo em 2020. Qual foi a porcentagem do PIB dos Brasil representada pelo estado de São Paulo?"
O supervisor deverá:
- Acionar o
research_agent
para buscar os dois valores. - Enviar os valores ao
math_agent
para calcular a razão percentual. - Retornar o resultado final com os dados e o cálculo.
Considerações
Este tutorial demonstrou como construir uma arquitetura multiagente com LangGraph, utilizando o modelo Gemini da Google como cérebro central. Através de um supervisor bem definido, conseguimos coordenar tarefas complexas de forma modular e transparente.
Quer aprender mais?
Conheça nossa Formação do Zero à Análise de Dados Econômicos e Financeiros usando Python e Inteligência Artificial. Aprenda do ZERO a coletar, tratar, construir modelos e apresentar dados econômicos e financeiros com o uso de Python e IA.
Referências
Multi-agent supervisor. LangGraph. Acesso em: https://langchain-ai.github.io/langgraph/tutorials/multi_agent/agent_supervisor/