Fusion — o Painel Multimodelo
Diferentes modelos de vanguarda falham de forma diferente. Um deixa escapar um caso extremo que outro apanha; um alucina uma API que os outros três recusam inventar. O Fusion transforma essa diversidade numa funcionalidade: quando ativado, cada pergunta que a sua sessão do Claude Code faz é respondida por vários modelos ao mesmo tempo, um modelo juiz mapeia onde os rascunhos concordam, entram em conflito e brilham individualmente, e uma única resposta sintetizada — fundamentada nessa análise — é devolvida ao Claude Code como se um único modelo a tivesse escrito. O agente nunca sabe que um painel foi convocado.
O Fusion é executado inteiramente no proxy do lado do anfitrião (ver Conceitos), pelo que nada muda dentro da VM: sem flags do agente, sem scripts de invólucro, sem uma fonte de latência visível à qual o agente pudesse reagir. É configurado por espaço de trabalho no painel de definições Fusion e ativado por sessão com o botão de raio (⚡) na barra de título da sessão.
Nota: O Fusion está identificado como BETA na interface. É um protótipo funcional: o mecanismo é estável, mas os prompts do juiz, os backends de fornecedores e o tratamento de falhas ainda estão a evoluir. Consulte as Limitações da beta antes de depender dele.
Como o Fusion funciona
O Fusion interceta o tráfego da sessão do Claude Code para o endpoint /v1/messages da Anthropic. Cada pedido é tratado por fases:
- Perna A — o Claude responde primeiro. O pedido original do convidado é enviado à Anthropic sem alterações (forçado a ser não-streaming para que a resposta completa possa ser inspecionada). A sua sessão do Claude Code é sempre uma perna da fusão.
- Os turnos de ferramenta passam diretamente. Se a resposta do Claude for uma chamada de ferramenta — o caso comum na programação agêntica, onde a maioria dos turnos são "lê este ficheiro", "executa este comando" — é reencaminhada ao agente na íntegra e a fusão é ignorada nesse turno. O ciclo agêntico nunca é quebrado por uma chamada de ferramenta sintetizada.
- Os turnos de texto expandem-se. Só quando o Claude devolve uma resposta em texto simples é que o Fusion entra em ação. Todos os outros fornecedores selecionados — Codex (OpenAI), Grok (xAI) e, opcionalmente, um modelo local no dispositivo — recebem a mesma pergunta sobre a mesma transcrição achatada.
- O juiz mapeia o terreno. O modelo juiz compara todos os rascunhos e emite uma análise JSON estruturada — consenso, conflitos, perceções únicas, pontos cegos e um veredicto — em vez de comentários em prosa.
- O juiz sintetiza. O mesmo modelo juiz escreve então a resposta definitiva, fundamentada na análise que acabou de produzir.
- Entrega. A resposta fundida é transmitida de volta ao agente dentro da VM exatamente na forma de transmissão que ele pediu (SSE ou JSON da Anthropic). Da perspetiva do Claude Code, um único modelo respondeu.
Uma falha em qualquer fase degrada-se graciosamente em vez de quebrar a sessão: uma perna cuja credencial não pode ser resolvida, ou que dá erro ou expira, é silenciosamente removida da fusão. Se sobreviverem menos de duas respostas, a própria resposta do Claude é devolvida sem alterações.
Turnos de ferramenta vs. turnos de texto
A distinção entre turnos de ferramenta e turnos de texto é o que torna o Fusion seguro para o trabalho agêntico. As ações (chamadas de ferramenta) são executadas exatamente como o Claude as emitiu; apenas as respostas — explicações, designs, revisões, planos — são fundidas. Numa sessão de programação típica, a maioria dos turnos são ações, pelo que a influência do Fusion se concentra onde a diversidade de modelos mais importa: no raciocínio e nas conclusões, não nas edições mecânicas de ficheiros.
De onde vem a identidade de cada perna
O Fusion não tem uma interface de credenciais própria. Cada perna resolve a credencial que o separador Agentes do espaço de trabalho já possui para esse fornecedor:
- Modo de subscrição — a perna usa um token OAuth ativo do repositório de subscrições do anfitrião; o anfitrião renova-o conforme necessário. Os tokens de subscrição do Claude recebem automaticamente o bloco de sistema de identidade do Claude Code e o cabeçalho beta OAuth que a Anthropic exige.
- Modo de token de API — a perna usa a chave de API real do mapa de troca de tokens do lado do anfitrião (o convidado só viu uma credencial-engodo; ver Credenciais).
- Modelo local — a perna aponta para o motor de inferência no anfitrião com a sua chave interna (ver Inferência local e híbrida).
- Bedrock (AWS) — um agente Claude em modo Bedrock contribui apenas através do próprio pedido do convidado; não existe uma perna de fusão Bedrock separada.
Uma perna cuja credencial não pode ser resolvida é removida com uma linha de registo, nunca com um erro apresentado ao agente.
Requisitos
O Fusion precisa de pelo menos dois modelos utilizáveis:
- A sua sessão do Claude Code conta sempre como uma perna, desde que o agente Claude Code tenha uma credencial utilizável.
- Cada perna de nuvem adicional — Codex (OpenAI), Grok (xAI) — precisa da sua credencial configurada no separador Agentes do espaço de trabalho. Até lá, a sua linha no painel Fusion aparece a cinzento com a sugestão — sem credencial de nuvem (configure-a em Agentes).
- A perna do Modelo local precisa de pelo menos um modelo transferido no painel Modelos locais. Até lá, a sua linha mostra — transfira um em Modelos locais.
Com menos de dois modelos utilizáveis selecionados, o painel mostra o texto de ajuda "Escolha pelo menos dois modelos para fundir — a sua sessão do Claude Code conta como uma, por isso adicione mais uma (um agente de nuvem ou um modelo local)." e o botão de raio da sessão permanece desativado.
Configurar o Fusion para um espaço de trabalho
O Fusion é configurado no painel Fusion da janela Editar espaço de trabalho (o ícone de raio amarelo na barra lateral, marcado BETA). A referência campo a campo encontra-se em Definições do Fusion; esta secção percorre o fluxo de trabalho.
Na captura de ecrã acima, ainda não estão configuradas credenciais de agente, pelo que todas as linhas em Modelos a fundir aparecem a cinzento e o texto de ajuda cor de laranja explica o que está em falta. Assim que o separador Agentes possuir credenciais, as linhas tornam-se selecionáveis.
- Abra o espaço de trabalho no navegador de espaços de trabalho e clique em Editar espaço de trabalho, depois selecione o painel Fusion.
- Em Modelos a fundir, marque os fornecedores cujas respostas quer no painel. Claude Code (Anthropic) — a sua sessão é sempre uma perna; adicione Codex (OpenAI), Grok (xAI) e/ou Modelo local. A linha Modelo local inclui um seletor de modelos locais instalados.
- Em Juiz, escolha o Fornecedor e o Modelo que vão ponderar os rascunhos e escrever a resposta final. A lista Fornecedor oferece todos os fornecedores de nuvem com uma credencial utilizável, mais Local quando pelo menos um modelo local estiver instalado. As listas de modelos de nuvem são obtidas em tempo real do endpoint
/v1/modelsdo fornecedor e incluem uma entrada (predefinição); se a obtenção falhar, é oferecida uma pequena lista incorporada. Um juiz local escolhe entre os modelos do catálogo instalado. - Clique em Guardar.
| Definição | Predefinição | Notas |
|---|---|---|
| Modelos a fundir | Nenhum selecionado | O Claude Code é sempre uma perna; os outros precisam de uma credencial (nuvem) ou de um modelo instalado (local). |
| Juiz → Fornecedor | Primeiro fornecedor utilizável | Local aparece assim que um modelo local estiver instalado. |
| Juiz → Modelo | (predefinição) → claude-opus-4-8 | Listas de nuvem obtidas em tempo real de /v1/models. |
Quando o modelo de uma perna não é fixado explicitamente, as predefinições são: Claude → claude-opus-4-8; Codex → gpt-5.5 numa subscrição ou gpt-5.5-2026-04-23 com uma chave de API; Grok → grok-build.
Dica: Um modelo local constitui uma perna extra capaz e de custo marginal nulo — e o próprio juiz pode ser executado localmente, mantendo toda a fase de análise e síntese no seu Mac. Ver Inferência local e híbrida.
Ativar o Fusion numa sessão
Configurar o painel apenas torna o Fusion disponível. Cada sessão decide se o usa, através do botão de raio (⚡) na barra de título da janela da sessão:
| Aspeto do raio | Estado | Dica de ferramenta |
|---|---|---|
| Vazio, desativado | Não disponível — menos de dois modelos utilizáveis | "Para ativar o Fusion precisa de ter pelo menos dois modelos ativados." |
| Preenchido, cinzento-escuro | Disponível, desativado | "Fusion disponível — desativado. Clique para ativar a síntese multimodelo." |
| Preenchido, amarelo | Ativado | "Fusion ativado — as respostas são sintetizadas entre os modelos que selecionou. Clique para desativar." |
Clique no raio para alternar. As novas sessões começam sempre desativadas — o Fusion é uma escolha explícita, por sessão, nunca uma predefinição silenciosa.
A partir da linha de comandos
Com a aplicação em execução, pode alternar o Fusion numa VM em funcionamento sem tocar na janela:
bromure-cli vm fusion enable <vm>
bromure-cli vm fusion disable <vm>
<vm> é um id de VM ou um nome de espaço de trabalho, e on/off/engage/disengage são aceites como aliases. O resultado de estado de bromure-cli vm inclui uma linha de fusão que lê engaged ou available (off). Estes comandos comunicam com a API de controlo da aplicação, pelo que exigem que a aplicação (ou o seu agente) esteja em execução; ver Automatização e CLI.
Quanto custa o Fusion
O Fusion multiplica a utilização de modelos, e deve ativá-lo conhecendo a aritmética. Para cada turno em que o Claude devolve uma resposta em texto simples:
- Cada perna adicional selecionada faz uma chamada de modelo completa, recebendo a mesma transcrição achatada como contexto — pelo que conversas longas custam proporcionalmente em cada perna, em cada turno fundido.
- O juiz faz mais duas chamadas: uma para produzir a análise JSON, outra para escrever a síntese. Ambas estão limitadas a 4.096 tokens de saída.
Com as quatro pernas selecionadas, uma única resposta fundida custa, portanto, até cinco chamadas de modelo além da chamada do Claude que já estava a fazer. Os turnos de chamada de ferramenta expandem-se para zero chamadas extra, o que na prática mantém as sessões agênticas muito mais baratas do que o pior cenário — a maioria dos turnos num ciclo de programação são chamadas de ferramenta.
A forma como cada perna é faturada segue a sua credencial: as pernas com chave de API são faturadas por token, as pernas de subscrição consomem a quota da subscrição, e uma perna local custa apenas computação no dispositivo (e bateria, num portátil). Cada perna tem, por predefinição, um tempo limite de 600 segundos a montante.
O Fusion no rastreio
O Fusion é deliberadamente invisível para o agente, mas totalmente visível para si. Cada chamada lateral a montante — cada perna, a análise do juiz e a síntese — é capturada pelo pipeline de rastreio como qualquer outra troca de IA, sujeita ao nível de rastreio do espaço de trabalho (ver Rastreio).
Consequências práticas:
- O Inspetor de Rastreios (menu Janela → Inspetor de Rastreios…) lista as trocas extra a par do tráfego normal da sessão, e apresenta os pedidos e as respostas capturados como conversas analisadas — pode ler exatamente o que cada perna respondeu e o que o juiz concluiu.
bromure-cli trace hostnamesmostra que anfitriões comoapi.openai.comforam contactados a partir de uma sessão que talvez pensasse ser exclusiva da Anthropic. Se a sua organização auditar o tráfego de saída, espere que as sessões fundidas mostrem os endpoints de todos os fornecedores selecionados.- O Fusion também regista de forma detalhada no stderr da aplicação com um prefixo
[fusion]— útil ao diagnosticar por que motivo uma perna foi removida.
Nota: Se as regras de tratamento de dados do seu espaço de trabalho restringirem quais os fornecedores que podem ver o seu código, lembre-se de que cada perna selecionada recebe a transcrição achatada completa da conversa. Selecione as pernas em conformidade.
Substituições de ambiente
Algumas predefinições podem ser substituídas com variáveis de ambiente ao iniciar a aplicação — úteis para experimentação, não pensadas como configuração do dia a dia:
| Variável | Predefinição | Efeito |
|---|---|---|
BROMURE_FUSION_TIMEOUT | 600 | Tempo limite a montante por perna, em segundos. |
BROMURE_FUSION_OPENAI_MAX_TOKENS | 128000 (GPT-5/série o), 16384 (gpt-4o e anteriores) | Limite de tokens de conclusão da perna OpenAI. |
Limitações da beta
O Fusion é uma funcionalidade beta com arestas afiadas que vale a pena conhecer:
- Apenas sessões do Claude Code. O Fusion interceta pedidos POST
/v1/messagesda Anthropic. As sessões que executam o Codex ou o Grok como agente principal não são fundidas — o tráfego desses agentes passa normalmente. - As pernas não-Claude respondem sem ferramentas. As definições de ferramentas são descartadas para as pernas Codex, Grok e local; estas respondem em prosa sobre uma transcrição achatada. Os seus rascunhos informam a síntese, mas não podem, por si só, tomar ações.
- Backends de subscrição de melhor esforço. A perna de subscrição do Codex assenta no backend do ChatGPT através de WebSocket, e a perna de subscrição do Grok usa
cli-chat-proxy.grok.com— ambas interfaces não documentadas. Perante qualquer erro, a perna é removida em vez de fazer falhar a fusão. - Degradação silenciosa. As pernas removidas e as falhas do juiz recorrem à própria resposta do Claude (ou a um rascunho em bruto) sem alertar o agente. O rastreio e o registo de stderr
[fusion]são os únicos locais onde verá que isso aconteceu. - Latência. Um turno de texto fundido aguarda pela perna sobrevivente mais lenta, depois por duas chamadas do juiz. Espere turnos de resposta visivelmente mais lentos do que numa sessão simples; os turnos de ferramenta não são afetados.