Agentes especializados ou um agente que faz tudo? Uma comparação pragmática

Um agente só, com acesso a trinta ferramentas diferentes, parece a solução mais simples: menos peças móveis, menos coordenação, um único lugar para ajustar o comportamento. O problema aparece na hora de esse agente escolher, entre as trinta, qual ferramenta usar, e escolher errado fica mais provável do que a proposta de “um agente que faz tudo” costuma deixar claro de antemão.

O que degrada quando o número de ferramentas cresce

Modelos que decidem qual ferramenta chamar (function calling) fazem essa escolha com base na descrição de cada ferramenta disponível, comparando nome, descrição e parâmetros esperados contra o pedido recebido. Quanto mais ferramentas disponíveis numa única chamada, maior a superfície de escolha e maior a chance de duas ferramentas terem descrição parecida o suficiente para o modelo confundir uma pela outra, ou de parâmetros serem preenchidos com base na ferramenta errada. Isso não é uma limitação teórica: é uma das razões pelas quais provedores de modelo recomendam manter o conjunto de ferramentas expostas numa única chamada o mais enxuto possível, em vez de simplesmente registrar tudo que a aplicação sabe fazer.

O argumento a favor de agentes especializados

Dividir em agentes especializados ataca exatamente esse problema: cada agente enxerga só o subconjunto de ferramentas relevante para o próprio domínio, o que reduz a chance de confusão entre ferramentas parecidas e deixa a instrução de cada agente mais focada em explicar bem um conjunto menor de opções. Um Router (ou uma etapa de classificação anterior) decide qual agente especializado deve tratar aquele pedido, e cada agente, isolado, lida com uma fração muito menor de decisões possíveis do que um agente único lidaria sozinho.

O custo que aparece do outro lado

Isso resolve o problema de precisão às custas de outro problema: alguém precisa decidir, antes de qualquer ferramenta ser chamada, qual agente é o certo para aquele pedido, e esse próprio roteamento pode errar. Um pedido ambíguo, que poderia se encaixar em mais de um domínio, agora depende de uma decisão de roteamento acertar antes mesmo do problema original começar a ser resolvido. Trocar “escolher a ferramenta certa entre trinta” por “escolher o agente certo entre cinco, que depois escolhe a ferramenta certa entre seis” não elimina o risco de escolha errada. Redistribui esse risco em duas etapas em vez de uma.

Manutenção: onde cada abordagem cobra o preço

Um agente único com muitas ferramentas concentra manutenção num único lugar: uma instrução, um conjunto de testes, um ponto de ajuste quando o comportamento precisa mudar. O custo aparece quando esse conjunto cresce demais para caber numa instrução coerente, e mudanças num canto acabam afetando comportamento em outro canto sem relação aparente.

Agentes especializados distribuem esse custo: cada agente tem escopo menor, mais fácil de testar isoladamente e de ajustar sem efeito colateral nos demais. O preço fica no roteamento e na coordenação entre eles, que agora é uma peça a mais que também precisa ser mantida, testada e ajustada conforme o conjunto de agentes cresce.

Não existe resposta universal, existe limite prático

Não existe um número mágico de ferramentas a partir do qual dividir em agentes especializados passa a valer a pena, isso depende de quão distintas são as ferramentas entre si e de quão bem descritas elas estão. O que vale como critério prático é observar onde a precisão começa a cair: se um agente único está errando a escolha de ferramenta com frequência crescente conforme mais ferramentas são adicionadas, isso é sinal de que a superfície de decisão ficou grande demais para uma única instrução dar conta bem, e dividir por especialização deixa de ser sofisticação desnecessária e passa a ser resposta a um problema real de precisão.