Use vários agentes somente quando o trabalho tiver responsabilidades, ferramentas, fronteiras de contexto ou ramos paralelos realmente diferentes e que se beneficiem de responsáveis independentes. Mantenha um fluxo determinístico ou um único agente quando a tarefa for curta, o mesmo contexto servir a todas as etapas e as falhas forem fáceis de diagnosticar. Adicione o orquestrador por último: a complexidade precisa produzir melhorias mensuráveis em confiabilidade, latência ou facilidade de manutenção.

Decida

Se a especialização supera uma referência mais simples

Artefato

Roteador executável com degradação contida

Pré-requisito

Contrato tipado da tarefa e casos representativos

Árvore de decisão de arquitetura
  1. P1
    A sequência é conhecida?Sim → fluxo tipado
  2. P2
    Um contexto dá conta?Sim → agente único
  3. P3
    Os ramos se especializam?Sim → multiagente
  4. CONTROLE
    A falha fica contida?Não → simplificar
Adicione autonomia apenas quando o ramo mais simples não cumprir o contrato e as transferências adicionais continuarem tipadas, observáveis e recuperáveis.

Espectro de arquitetura

Comece pelo fluxo; adicione autonomia onde a incerteza exigir#

Trilha de evidênciaFonte 1
  1. 01

    Fluxo determinístico

    Sequência conhecida, entradas tipadas, ramos explícitos e falha previsível.

  2. 02

    Agente único

    Um contexto, várias ferramentas e escolha dinâmica dentro de uma tarefa limitada.

  3. 03

    Sistema multiagente

    Contextos ou ferramentas especializados, ramos independentes, transferências e síntese explícitas.

Sinais positivos

Quatro razões para a especialização valer a pena#

Trilha de evidênciaFonte 1Fonte 2

A especialização ajuda quando um componente pesquisa, outro calcula, outro verifica política e um último sintetiza evidências. Também pode isolar ferramentas sensíveis ou paralelizar buscas independentes.

A fronteira precisa ser contratual: entrada, saída, acesso a ferramentas, limite de tempo, tentativas e responsável pela falha. “Deixe os agentes conversarem” não é arquitetura.

Padrões de coordenação

Escolha o padrão antes de escolher a ferramenta#

Trilha de evidênciaFonte 1
  1. 01

    Cadeia de instruções

    Use uma sequência fixa quando cada etapa transforma e valida o resultado anterior.

  2. 02

    Paralelismo com agregação

    Execute análises independentes em conjunto e agregue apenas evidências que atendam ao mesmo contrato.

  3. 03

    Roteador e especialistas

    Classifique o pedido, envie-o a um especialista limitado e mantenha uma alternativa explícita.

  4. 04

    Avaliador e otimizador

    Um componente propõe e outro critica com uma rubrica, sempre com limite rígido de iterações.

Padrão sanitizado de produto

Um sistema de análise conversacional é mais que chat#

Em um produto de análise conversacional em produção, um pedido pode exigir classificação de intenção, recuperação de dados, cálculo estatístico, comparação e explicação. A interface parece uma conversa, mas as responsabilidades por trás dela são diferentes.

O padrão útil não é a quantidade de agentes. É resolver cedo caminhos baratos ou determinísticos, preservar continuidade em perguntas seguintes e exigir que a resposta final carregue as evidências produzidas pelos especialistas.

Contenção de falha

Projete transferências para falhas parciais#

Trilha de evidênciaFonte 3

Cada agente adicional cria outro lugar para perder contexto, estourar o tempo ou produzir contradição. Dê ao orquestrador um prazo, um orçamento de novas tentativas e uma resposta degradada.

Rastreie cada transferência e resultado de ferramenta com identificadores estáveis. Se a resposta estiver errada, o time precisa separar roteamento ruim, evidência ruim, saída ruim do especialista e síntese ruim.

Experimento de arquitetura

Faça o desenho complexo superar uma referência simples#

Execute o mesmo conjunto representativo no fluxo tipado, na versão com agente único e no desenho multiagente. Compare primeiro conclusão da tarefa e falhas críticas; depois examine latência p95, custo por tarefa concluída, intervenção humana e proporção de execuções que terminam de forma degradada, mas útil.

Promova o desenho multiagente somente quando o ganho persistir em execuções repetidas e puder ser atribuído à especialização ou à contenção. Se a qualidade empatar enquanto latência, custo e diagnóstico pioram, o desenho simples é o resultado — não um protótipo que faltou superar.

Implementação de referência

Execute a referência simples, o especialista e a falha

Esta implementação sanitizada e sem dependências extrai um padrão usado em um sistema conversacional de produção: caminhos baratos continuam simples, trabalho especializado carrega evidência e falhas degradam de modo explícito.

routing_baseline.py
from dataclasses import dataclass
import json

@dataclass(frozen=True)
class Request:
    intent: str
    question: str

def generalist(request: Request) -> dict:
    return {"path": ["generalist"], "answer": "baseline", "evidence": []}

def data_specialist(request: Request) -> dict:
    if "timeout" in request.question.lower():
        raise TimeoutError("data specialist timed out")
    return {
        "path": ["router", "data_specialist"],
        "answer": "compare two validated segments",
        "evidence": ["segment_a", "segment_b"],
    }

def route(request: Request) -> dict:
    if request.intent != "compare_segments":
        return generalist(request)
    try:
        return data_specialist(request)
    except TimeoutError:
        return {
            "path": ["router", "data_specialist", "safe_fallback"],
            "answer": "comparison unavailable",
            "evidence": [],
            "degraded": True,
        }

cases = [
    Request("small_talk", "hello"),
    Request("compare_segments", "compare the top two"),
    Request("compare_segments", "force timeout"),
]
print(json.dumps([route(case) for case in cases], indent=2))
Executepython routing_baseline.py
Saída esperada
[
  {
    "path": ["generalist"],
    "answer": "baseline",
    "evidence": []
  },
  {
    "path": ["router", "data_specialist"],
    "answer": "compare two validated segments",
    "evidence": ["segment_a", "segment_b"]
  },
  {
    "path": ["router", "data_specialist", "safe_fallback"],
    "answer": "comparison unavailable",
    "evidence": [],
    "degraded": true
  }
]

Falha exercitada. O terceiro caso força um estouro de tempo no especialista. O roteador devolve estado degradado visível em vez de inventar a comparação.

Limite de produção. O exemplo omite de propósito instruções internas, regras de roteamento, modelos, memória, telemetria e controles calibrados de produção.

Regra de decisão

Pergunte o que a complexidade entrega#

  • Um fluxo tipado resolve a tarefa?
  • Um agente possui contexto e isolamento suficientes?
  • As responsabilidades são realmente diferentes?
  • Os ramos podem rodar independentes ou em paralelo?
  • Cada transferência é tipada e observável?
  • Cada especialista tem responsável pela falha?
  • O sistema degrada quando um ramo falha?
  • As avaliações compararão o desenho simples e o complexo?

Limite

O que a arquitetura multiagente não garante#

Trilha de evidênciaFonte 1

PODE

  • Separar responsabilidades e ferramentas
  • Paralelizar trabalho independente
  • Criar etapas de revisão e síntese
  • Conter algumas falhas atrás de contratos

NÃO PODE

  • Corrigir um processo mal definido
  • Eliminar custo de coordenação e latência
  • Garantir colaboração emergente
  • Substituir avaliações por um diagrama

Leia também

Fontes primárias

Fontes primárias

  1. Anthropic: Building Effective AI Agents

    Padrões de fluxos e agentes com simplicidade como restrição.

  2. AutoGen: Enabling Next-Gen LLM Applications

    Estrutura pública para conversas multiagente.

  3. OpenTelemetry GenAI attributes

    Vocabulário de rastros de execução para modelos e ferramentas.

Projete a menor arquitetura que funciona

Transforme um protótipo conversacional em um sistema de decisão operável.