Agentes Especialistas Sobre Prompts Gigantes
Recentemente, eu estava trabalhando em um bot de suporte, e ele deveria lidar com uma ampla gama de consultas de usuários, desde perguntas frequentes simples até questões de solução de problemas mais complexas. A ideia inicial era usar um único prompt gigante que cobriria todos os cenários possíveis, e o modelo LangGraph magicamente descobriria o contexto e responderia de acordo. Parece simples, certo? Bem, não funcionou bem assim.
O bot frequentemente ficava confuso e fornecia respostas irrelevantes ou até contraditórias. Por exemplo, se um usuário perguntasse sobre a política de devolução e depois seguisse com uma pergunta sobre envio, o bot às vezes respondia com uma resposta sobre envio que não levava em conta a conversa anterior sobre devoluções. Era como se o bot tivesse esquecido o contexto da conversa. Isso era frustrante, não apenas para os usuários, mas também para mim, já que eu tinha que passar horas depurando e tentando descobrir o que estava dando errado.
O problema, percebi, era que eu estava tentando colocar muita funcionalidade em um único agente. O prompt gigante estava tentando cobrir muitas áreas, e o modelo estava ficando sobrecarregado. É aqui que entra o conceito de agentes especialistas. Em vez de ter um único agente gigante que tenta fazer tudo, muitas vezes é melhor ter vários agentes especialistas, cada um focado em uma tarefa ou domínio específico.
No caso do bot de suporte, eu poderia ter um agente que lida com perguntas frequentes, outro que lida com devoluções e reembolsos, e outro que lida com envio e logística. Cada agente teria seu próprio prompt, adaptado ao seu domínio específico, e seria responsável por lidar com um conjunto específico de consultas de usuários. Essa abordagem tem várias vantagens. Para começar, permite que cada agente se concentre em uma tarefa específica, sem ficar sobrecarregado pela complexidade de todo o sistema. Também facilita a atualização e manutenção do sistema, já que mudanças podem ser feitas em agentes individuais sem afetar todo o sistema.
Aqui está um exemplo de como eu poderia implementar isso usando LangGraph e MCP:
import langgraph as lg
from mcp import ModelContextProtocol
# Defina os agentes especialistas
faqs_agent = lg.StateGraph()
faqs_agent.add_node("start", "Bem-vindo às nossas FAQs! Como posso ajudá-lo?")
faqs_agent.add_node("returns", "Nossa política de devolução é...")
returns_agent = lg.StateGraph()
returns_agent.add_node("start", "Devoluções e reembolsos...")
shipping_agent = lg.StateGraph()
shipping_agent.add_node("start", "Envio e logística...")
# Defina os prompts MCP para cada agente
faqs_prompt = MCP.tools.prompt("Qual é a sua pergunta sobre nosso produto?")
returns_prompt = MCP.tools.prompt("Qual é a sua pergunta sobre devolução ou reembolso?")
shipping_prompt = MCP.tools.prompt("Qual é a sua pergunta sobre envio ou logística?")
# Use o protocolo MCP para interagir com os agentes
mcp = ModelContextProtocol()
mcp.add_agent(faqs_agent, faqs_prompt)
mcp.add_agent(returns_agent, returns_prompt)
mcp.add_agent(shipping_agent, shipping_prompt)
# Teste o sistema
user_input = "Qual é a sua política de devolução?"
response = mcp.interact(user_input)
print(response)
Neste exemplo, definimos três agentes especialistas, cada um com seu próprio prompt e gráfico de estado. Em seguida, usamos o protocolo MCP para interagir com os agentes, direcionando a entrada do usuário para o agente relevante com base no prompt.
Uma armadilha prática a ser observada ao usar agentes especialistas é garantir que os prompts sejam específicos o suficiente para direcionar a entrada do usuário para o agente correto. Se os prompts forem muito gerais, o sistema pode ficar confuso e direcionar a entrada para o agente errado. Por exemplo, se os prompts para os agentes de devoluções e envio forem muito semelhantes, o sistema pode erroneamente direcionar uma pergunta sobre envio para o agente de devoluções.
À medida que continuamos a construir sistemas de IA mais complexos, precisaremos considerar como coordenar e gerenciar vários agentes especialistas e como garantir que eles trabalhem juntos de forma coesa para fornecer uma experiência de usuário integrada. Amanhã, exploraremos alguns dos desafios e oportunidades de construir esses tipos de sistemas e como LangGraph e MCP podem nos ajudar a superá-los.
Para empresas brasileiras, a implementação de agentes especialistas pode otimizar o atendimento ao cliente, reduzindo confusões e melhorando a satisfação do usuário. Essa abordagem permite uma gestão mais eficiente dos recursos e uma experiência mais fluida para os clientes.

