Pular para o conteúdo principal

APIs Multiagente Nativas: o Beta Multiagente da Responses da OpenAI vs. Construir por Conta Própria

Avançado

Por dezoito meses, "multiagente" significou que você escrevia o fan-out. Você escrevia o prompt do coordenador, disparava N chamadas em paralelo, mesclava os JSONs e tratava as novas tentativas. Em 9 de julho de 2026, a OpenAI reduziu isso a um parâmetro de requisição: multi_agent.enabled: true na Responses API, embalado num recurso para o consumidor chamado Sol Ultra Mode. O próprio modelo decide quantos subagentes criar, executa-os em paralelo e sintetiza o resultado — tudo dentro de uma única chamada HTTP. Nenhum outro fornecedor de ponta lançou uma primitiva simétrica. Esta página mapeia o que de fato foi lançado, os números por trás, o que a Anthropic oferece em vez disso e — a parte que importa — as três cargas de trabalho em que a primitiva nativa compensa o custo e as duas em que um fan-out feito por você ainda vence.

What you'll learn
  • Ler o corpo exato da requisição multiagente da Responses API e saber o que max_concurrent_subagents de fato limita
  • Fazer a conta de custo: o que 'o modelo cria 4 subagentes' realmente cobra de você aos preços do Sol
  • Mapear o mesmo território do lado da Anthropic — Cowork, Managed Agents e subagentes do Claude Code — e enxergar a lacuna de primitivas
  • Escolher a primitiva certa por carga de trabalho: multiagente nativo, fan-out próprio, A2A ou um único turno longo
  • Evitar os quatro modos de falha que transformam uma chamada Ultra de 4 agentes numa conta 4x maior sem ganho de acurácia

A versão em uma frase​

O Ultra Mode é uma camada de consumo sobre multi_agent.enabled: true na Responses API — uma primitiva nativa que permite ao modelo criar subagentes em paralelo dentro de uma requisição, sintetizar suas saídas e devolver uma única resposta. Ela compra um ganho de acurácia pequeno, porém real, em tarefas paralelizáveis (Terminal-Bench 2.1: 88,8% → 91,9%), com uma conta de tokens que cresce de forma aproximadamente linear com o número de subagentes que o modelo escolhe criar.

O que realmente foi lançado em 9 de julho de 2026​

Duas coisas chegaram no mesmo lançamento, e vale separá-las:

  • Ultra Mode — um botão de produto dentro do ChatGPT e do Codex. Disponível na faixa principal (Sol). Quando ativado, tarefas difíceis são decompostas em execuções paralelas de subagentes antes da síntese. Divulgado como "cria 4+ agentes"; alguns gráficos de benchmark GA da própria OpenAI também mostram configurações de 16 agentes no BrowseComp e no SEC-Bench Pro, mas quatro é o padrão de trabalho.
  • Beta multiagente da Responses API — uma primitiva para desenvolvedores. A mesma capacidade subjacente, exposta como multi_agent.enabled: true em client.beta.responses.create(). É o que você usaria para construir a sua própria experiência no estilo Ultra.

A confusão que o marketing deixou é real: desenvolvedores continuam perguntando "como chamo o Ultra Mode pela API?". A resposta é que você não chama — você ativa o beta multiagente, que é a primitiva por baixo do recurso do produto.

A requisição multiagente da Responses API​

Concretamente, este é o formato (SDK Python):

Chamada mínima multiagente à Responses API

from openai import OpenAI

client = OpenAI()

resp = client.beta.responses.create(
  model="gpt-5.6-sol",
  input="Audit this repo for auth-bypass patterns and write a report.",
  multi_agent={
      "enabled": True,
      "max_concurrent_subagents": 3,
  },
  tools=[...],  # your MCP tools, function tools, etc.
  extra_headers={"OpenAI-Beta": "responses_multi_agent=v1"},
)

Quatro coisas nesse formato não são óbvias:

  • max_concurrent_subagents não é um orçamento total. Ele limita os turnos de subagentes ativos em toda a árvore em um dado momento — raiz mais descendentes. O modelo pode criar um número total muito maior de subagentes ao longo da vida da requisição; só não pode ter mais de N em execução ao mesmo tempo.
  • A profundidade é ilimitada. Um subagente pode, ele próprio, criar subagentes. Não há limite fixo para a profundidade da árvore nem para o total de subagentes por execução. Sua superfície de custo não é "N chamadas" — é uma árvore que o modelo molda em tempo de execução.
  • A raiz sintetiza. O agente raiz é responsável por mesclar as respostas dos subagentes na resposta final. Você não recebe de volta um objeto estruturado {subagents: [...]}; recebe uma resposta, e os turnos intermediários dos agentes são opacos para o seu código.
  • Alguns parâmetros são desativados silenciosamente. reasoning.summary e max_tool_calls não são suportados com o multiagente ativado, e o endpoint de compactação não é suportado para respostas multiagente. Se você depende de resumos de raciocínio para observabilidade, perde-os assim que ativa isso.

A conta de custo que ninguém imprime na página de marketing​

Ao preço GA do Sol, de US$ 5 de entrada / US$ 30 de saída por milhão de tokens, a aritmética é implacável. Segundo os relatos de desenvolvedores que fizeram engenharia reversa de execuções reais do Ultra:

  • Uma tarefa que o Ultra decompõe em 2 subagentes ≈ 2x o custo de tokens de saída de uma única chamada ao Sol — porque ambos os subagentes geram saída, e a raiz ainda gera a síntese por cima.
  • Uma tarefa para a qual o Ultra cria 5 subagentes ≈ 5x — mesmo raciocínio, mais um replay proporcionalmente maior de tokens de entrada pela árvore.
  • Os gráficos do BrowseComp / SEC-Bench com configurações de 16 agentes não são almoço grátis: são uma demonstração de nível de pesquisa, não um padrão. Com 16 subagentes concorrentes no Sol, você está diante de um valor de dois dígitos médios em dólares por consulta difícil só em tokens de saída.

O jeito de pensar: você está pagando por um Monte Carlo de chamadas ao Sol mais uma passada de síntese por cima. Às vezes isso compra acurácia suficiente para importar. Às vezes é só uma conta 4x maior por uma tarefa que uma única chamada teria resolvido.

O que a acurácia realmente compra​

Os ganhos publicados nas avaliações paralelizáveis — as cargas de trabalho para as quais o Ultra Mode foi projetado — são reais, mas modestos:

BenchmarkSol (único)Sol UltraDeltaO que a avaliação mede
Terminal-Bench 2.188,8%91,9%+3,1Planejamento de linha de comando em várias etapas, coordenação de ferramentas
BrowseComp87,5%92,2%+4,7Pesquisa e síntese na web com várias fontes
SEC-Bench Pro—74,3%(número do modo único não publicado)Raciocínio sobre documentos regulatórios em grandes corpora

Três pontos sobre esta tabela:

  • A faixa de +3–5 pontos é coerente com o que a amostragem paralela historicamente comprou em outras fronteiras (best-of-N, self-consistency). A primitiva é genuinamente útil; o delta não é uma mudança de patamar.
  • Estes são o melhor caso — avaliações escolhidas para exibir o modo. Em tarefas sequenciais (uma edição linear de código, a reescrita de um único arquivo, um chat curto), o Ultra acrescenta latência de síntese e custo sem mexer na acurácia.
  • No mesmo gráfico do Terminal-Bench 2.1, o Opus 4.8 da Anthropic marcou 78,9% — ou seja, a liderança do Sol Ultra vem tanto do modelo-base melhor quanto do ganho multiagente empilhado por cima. Se você migrar do Opus para o Sol Ultra, não atribua toda a diferença à primitiva multiagente.

O que a Anthropic faz em vez disso​

A Anthropic não lançou uma primitiva de API simétrica. As analogias mais próximas resolvem, cada uma, uma fatia diferente do mesmo problema:

  • Cowork — uma superfície de produto. Um espaço de trabalho agêntico de desktop em que um agente faz trabalho sustentado em várias etapas ao lado do usuário. Comparável ao Ultra Mode como recurso, mas não como primitiva de API.
  • Managed Agents e managed-agents memory stores — um loop de agente hospedado com estado persistente e agendamento. Ocupa o espaço do "agente de segundo plano de longa duração", não o do "criar 4 em paralelo e mesclar".
  • Subagentes do Claude Code e os limites de frota de subagentes — uma primitiva de subagente de primeira classe, mas restrita à CLI do Claude Code. Documentada, pode ser criada em paralelo e é a analogia mais próxima de multi_agent.enabled — com a diferença importante de que você mesmo escreve o prompt do coordenador.
  • Construindo agentes na Messages API — o caminho por conta própria. Você dispara N chamadas messages.create em paralelo, escreve o prompt de síntese e trata as novas tentativas. Mesmo resultado, mais código.

A lacuna: nenhuma superfície da API da Anthropic permite hoje virar um único booleano e fazer o próprio modelo decidir quantos subagentes criar e mesclar o trabalho deles. Se você quer esse comportamento com o Claude, você o constrói — veja Cowork e Agent Teams para a história do lado do produto e Managed Agents para a primitiva de loop hospedado.

Escolhendo a primitiva certa por carga de trabalho​

Guided walkthrough1 of 5
  1. Se as subtarefas podem rodar sem esperar o resultado umas das outras — auditar um repositório, pesquisar um tema em muitas fontes, refatorar N arquivos de forma independente — um formato de fan-out compensa o custo. Se a tarefa é sequencial (editar A, depois ler o resultado de A, depois editar B), qualquer primitiva multiagente só acrescenta sobrecarga de síntese sem ganho.

Quatro modos de falha que transformam o Ultra numa conta 4x maior por nada​

  • Ativá-lo em tarefas sequenciais. O modelo ainda decompõe e sintetiza mesmo quando a tarefa não paraleliza. Você paga a sobrecarga de coordenação por um trabalho que nunca precisou dela. Regra prática: se você não consegue dizer o que o segundo subagente estaria fazendo enquanto o primeiro roda, não ative o multiagente.
  • Deixar a observabilidade de resumo de raciocínio no seu painel. reasoning.summary não é suportado, silenciosamente, com o multiagente. Se o seu monitoramento depende dele, você verá campos vazios e achará que o modelo não está pensando. Publique uma mudança de schema antes de ligar a flag.
  • Usar max_tool_calls como limite de segurança. Também é desativado silenciosamente com o multiagente. A garantia de segurança que você achava ter — "no máximo 20 chamadas de ferramenta por requisição" — some. Imponha tetos de chamadas de ferramenta na camada do adaptador de ferramentas, não pelo parâmetro da requisição.
  • Supor que max_concurrent_subagents é um teto de custo. Ele limita os subagentes ativos em um instante, não o total criado ao longo da requisição. Uma única chamada Ultra pode criar dezenas de subagentes em sequência e ainda respeitar um limite max_concurrent_subagents: 3. Se o custo é o seu teto, adicione um max_output_tokens no nível da requisição.

O que o "multiagente nativo" não é​

Duas primitivas vizinhas costumam ser confundidas com ele:

  • Não é amostragem com n > 1. O parâmetro n, mais antigo na OpenAI, amostra várias completions e devolve todas; você escolhe uma. O multiagente executa subagentes diferentes fazendo trabalhos diferentes e sintetiza as saídas. O primeiro é amostragem por temperatura; o segundo é decomposição de tarefas.
  • Não é inferência em lote. A API de lotes processa muitas requisições independentes em segundo plano. O multiagente são muitos subagentes coordenados dentro de uma requisição interativa. O lote é orientado a vazão; o multiagente é orientado a resultado.

Para onde isto está indo​

O protocolo A2A (veja A2A: o protocolo Agent-to-Agent) cobre o multiagente entre fornecedores. multi_agent.enabled: true cobre o multiagente intramodelo. A lacuna em aberto é uma primitiva entre fornecedores — o modelo do fornecedor A cria um subagente no fornecedor B e mescla o resultado — e ainda não há especificação pública para ela. Quando chegar, virá como A2A + um verbo nativo de transferência, não como uma nova API de nenhum dos lados. Fique de olho nesse espaço.

Check yourself

0/4
  1. O que max_concurrent_subagents limita no beta multiagente da Responses?
  2. Você ativa o multiagente e o painel de monitoramento de repente mostra campos de resumo de raciocínio vazios. O que aconteceu?
  3. Você precisa de subagentes paralelos que rodem em contas de clientes diferentes entre dois fornecedores. Qual primitiva é a correta?
  4. Qual destes é um mau candidato para o Ultra Mode / multi_agent.enabled?
Nenhum cartão ainda — adicione alguns para começar a estudar. 🃏

Fontes e leitura complementar​

Próximos passos​