Esta página é uma tradução da documentação em inglês. Comandos, identificadores e exemplos permanecem iguais. Runtime 7.24.4 · SDK 2.6.7. Original em inglês
Modos de execução (local, nuvem, híbrido, council, arena)
Status: Ativo
Escopo: estado atual
Última revisão: 2026-09-12
Responsável: ax-code runtime
O AX Code pode colocar o trabalho em inferência local, em provedores hospedados ou de CLI, ou nos dois (híbrido), e pode espalhar trabalho de alto risco por vários provedores conectados (revisão em council e arena do melhor de N). Esta página documenta o comportamento já distribuído desses modos.
Fonte da verdade
Quando o comportamento mudar, confira contra:
packages/ax-code/src/mode/— política pura, híbrido, agregação de council, classificação de arena, debate, orçamento, memória, política de worktree, pontuação de implement-arenapackages/ax-code/src/tool/council.ts— ferramenta de council com vários provedorespackages/ax-code/src/tool/arena.tsearena-implement.ts— arena de plano e de implementaçãopackages/ax-code/src/session/prompt/prompt-routing.ts— colocação híbrida quandomodes.defaultéhybridpackages/ax-code/src/config/schema-impl.ts— esquema de configuraçãomodespackages/ax-code/src/command/template/{council,arena}.txt—/councile/arenaestão no menu padrão de barra
Seletor de modo de trabalho (Agent | Council | Arena)
A TUI e o Desktop expõem um controle de modo de trabalho para roteamento entre vários modelos. O padrão é Agent.
| Seleção na interface | O envio de texto livre vira |
|---|---|
| Agent (padrão) | Prompt normal de um só agente |
| Council | revisão de vários provedores /council {your message} |
| Arena | melhor de N entre vários modelos /arena {your message} |
- Cromado padrão da TUI: o rodapé não mostra um selo de Agent. O modo de execução e o Sandbox permanecem.
/work-mode(paleta Escolher modo de trabalho) abre um seletor explícito: Agent, Council e Arena, com custo e semântica em cada linha. Linhas de conjunto indisponíveis ficam desativadas, com o motivo. - Cromado de conjunto armado: depois que você escolhe Council ou Arena, um selo aparece (
Council · 2, ouArena (off)vazado se depois ficar indisponível). Clique no selo para voltar a Agent. Conversas novas recomeçam em Agent. - Disponibilidade: um modo está disponível quando está ligado na configuração, pelo menos dois provedores conectados têm um modelo selecionável e o teto configurado de membros não é 1. Selos e linhas do seletor se atualizam ao vivo conforme provedores conectam ou desconectam.
- Dica antes do envio (TUI): uma dica de uma linha acima do prompt aparece quando council ou arena está bloqueado ou ainda em verificação, e no primeiro uso de um modo disponível (por exemplo
Council mode · up to 2 reviewers · advisory · approval on first use). Depois de um envio bem-sucedido nesse modo, o selo continua sendo o status e a dica some. Enviar enquanto o modo selecionado está indisponível é bloqueado, com o motivo — o rascunho é conservado e o prompt nunca é rebaixado em silêncio para uma execução de um só modelo. - Desktop: selo na barra do compositor (ao lado de Manual/Autônomo).
/councile/arenaexplícitos nunca são reescritos e continuam sendo os pontos de entrada de uma vez.- Agentes especialistas (architect, security, …) ficam no seletor separado de agente.
Modos de colocação em resumo
| Modo | O que faz | Muta o workspace? | Padrão |
|---|---|---|---|
| local | Prefere o AX Engine (ou o provedor local configurado) | Sim (um só agente) | Quando você fixa local, ou o híbrido coloca em local |
| cloud | Prefere provedores de fronteira hospedados ou de CLI | Sim (um só agente) | Quando o local está indisponível |
| hybrid | A política escolhe local ou nuvem a partir de disponibilidade, complexidade e privacidade | Sim (um só caminho) | Defina modes.default: "hybrid" |
| council | Espalha revisão ou desenho estruturado; classifica consenso, maioria, minoria e caso único | Não (consultivo) | Ferramenta + /council ou modo de trabalho = Council |
| arena | Comparação de plano entre vários modelos, ou melhor de N de implementação em worktree | Plano: não. Implementação: só em worktrees | Opcional (modes.arena.enabled) + modo de trabalho = Arena |
O roteamento de especialista por palavra-chave e a divisão por complexidade (veja Rota automática) são ortogonais à colocação híbrida e aos modos de conjunto.
O esforço do modelo, ou nível de raciocínio (Fast, Balanced, Deep, Max), também é ortogonal — é um orçamento de raciocínio por modelo, não um modo de trabalho. Veja Esforço do modelo.
Configuração
Em ax-code.json:
{
"modes": {
"default": "hybrid",
"hybrid": {
"preferLocalWhenAvailable": true,
"escalateOnHighComplexity": true,
"localProviderID": "ax-engine"
},
"council": {
"enabled": true,
"maxMembers": 3,
"timeoutMs": 180000,
"debateRounds": 0
},
"arena": {
"enabled": true,
"maxContestants": 3,
"strategy": "verify_first"
},
"budget": {
"maxEstimatedUsd": 0.5,
"estimatedUsdPerMember": 0.05
}
}
}
| Campo | Significado |
|---|---|
modes.default |
local | cloud | hybrid | arena | council. Sem definição: híbrido quando o local cabe nos sinais da política; senão, nuvem para os padrões de caminho único. |
modes.hybrid.* |
Preferência local, escalada de alta complexidade para a nuvem, id do provedor local |
modes.council.* |
Ativar, teto de membros, tempo limite, escala de tempo limite do modelo de raciocínio, substituições de tempo limite por membro, rodadas de debate, presidente opcional e espalhamento adaptativo (os dois desligados por padrão) |
modes.arena.enabled |
Precisa ser true para a ferramenta arena (desligado por padrão). Edições no meio da sessão são percebidas na próxima chamada de ferramenta (Config.getFresh). Ou passe enableIfDisabled: true na ferramenta de arena. |
modes.arena.strategy |
verify_first (recomendado para implementar), diversity ou hybrid_score |
modes.arena.reasoningTimeoutScale |
Multiplicador de tempo limite para competidores cujo modelo declara capacidade de raciocínio (recua para modes.council.reasoningTimeoutScale e depois para 3) |
modes.arena.memberTimeoutMs |
Substituições absolutas de tempo limite por competidor, indexadas por "providerID" ou "providerID/modelID" (recua para modes.council.memberTimeoutMs) |
modes.arena.judge |
Juiz de rubrica cego para o modo de plano (padrão: true) |
modes.ensembleLedger |
Livro local em JSONL das chamadas de geração do conjunto (padrão: true; só hashes SHA-256 do prompt, sem corpos, sem saída) |
modes.budget.* |
Teto fechado em falha sobre o USD estimado do espalhamento do conjunto |
Colocação híbrida
Quando modes.default é hybrid e o usuário ou o agente não fixou um modelo:
- Se o provedor local (padrão
ax-engine) tem um modelo selecionável → preferir local para complexidade baixa ou média. - Se a complexidade é alta e
escalateOnHighComplexityé verdadeiro → nuvem. - Se a privacidade exige local e o local está disponível → local.
- Se o local está indisponível → nuvem.
A complexidade ainda usa o caminho existente de modelo pequeno e rápido para mensagens low quando o roteamento de complexidade da rota automática está ligado (Rota automática). O híbrido não substitui o roteamento de especialista por palavra-chave.
Modelos locais e orientação de memória: Seleção de modelo do AX Engine. Lista de provedores: Provedores com suporte.
Council (modo de consenso)
Ferramenta: council
Barra: /council <question>
- Seleciona provedores conectados e diversos (diversidade de família — sob um gateway de vários modelos não reconhecido, a família recua para o id do modelo; viés suave a partir da memória de resultados).
- Espalha em paralelo um prompt estruturado de revisão ou de desenho.
- Agrega os problemas em níveis de consenso (unânime entre os membros bem-sucedidos no quórum — pelo menos
max(2, ⌈2/3 × attempted⌉)sucessos), maioria estrita (mais da metade dos membros tentados), minoria (pelo menos dois) e caso único. Os achados revelam o apoio contra os membros tentados (2/6), e relatórios de baixa cobertura dizem que os rótulos de consenso exigem quórum. - Rodadas de debate opcionais: síntese anônima (Chatham House) compartilhada entre as rodadas; sem atribuição de marca. O debate tem teto de três rodadas e para cedo na convergência.
- Devolve um relatório consultivo em markdown. Não edita arquivos.
Precisa de pelo menos dois membros resolvidos para executar — menos do que isso encerra cedo, com uma pré-verificação de “membros insuficientes”, antes de qualquer prompt de aprovação ou chamada de modelo (pares explícitos de modelo no mesmo gateway contam como dois). Níveis significativos de consenso ainda precisam de pelo menos dois membros bem-sucedidos; caso contrário, o relatório é marcado como incompleto.
Admissão de evidência. Os membros recebem só a pergunta e o contexto fornecidos. Eles não herdam a sessão que chama nem leem arquivos a partir de caminhos no resumo. Inclua os requisitos, o diff relevante, os trechos originais exigidos e a evidência de verificação necessária para o escopo de revisão declarado.
O context opcional é aceito literalmente até 24,000 unidades de código UTF-16. Contexto maior devolve
context_rejected antes da inferência dos membros; o AX Code nunca o encurta em silêncio. Divida a revisão em solicitações
de escopo explícito ou remova o contexto opcional, conservando a evidência exigida.
Antes de cada rodada, o AX Code confere o prompt inteiro contra um teto local de 128,000 bytes e os limites conhecidos de entrada e de contexto de cada membro resolvido, reservando a saída pedida e a instrução de reserva, mais 2,048 tokens para o esquema e o enquadramento. O tamanho da entrada usa uma estimativa de propósito conservadora, em bytes UTF-8. Ela pode rejeitar prompts que caberiam; não é uma contagem exata de tokenizador nem uma garantia sobre a serialização do provedor. Limites desconhecidos de modelo são revelados e continuam sujeitos aos tetos locais. Se uma rodada de debate não couber, o resultado fica incompleto e conserva o relatório da última rodada concluída.
contextAdmission registra a barreira local de comprimento de contexto, o tamanho fornecido e um resumo do conteúdo; promptBudget confere
a solicitação completa à parte. Os dois precisam passar antes da inferência. Estes campos são independentes de successfulMembers
e não estabelecem completude semântica, frescor da fonte nem qualidade garantida de revisão.
Tempos limite. Cada membro executa sob modes.council.timeoutMs (padrão de 180000 ms); modelos que declaram
capacidade de raciocínio recebem modes.council.reasoningTimeoutScale vezes esse orçamento (padrão 3, portanto 540000 ms).
Para dar mais tempo a um membro conhecido como lento, sem inflar a espera de todos os outros, defina uma substituição absoluta
modes.council.memberTimeoutMs indexada por "providerID" ou "providerID/modelID" — a chave exata
do modelo prevalece sobre a chave de todo o provedor, e qualquer uma prevalece sobre o cálculo de base e de escala:
{
"modes": {
"council": {
"memberTimeoutMs": { "deepseek/deepseek-v4-pro": 900000 }
}
}
}
ax-code.json é um arquivo de configuração protegido — os agentes precisam pedir ao usuário que o altere.
Faixas opcionais (desligadas por padrão). modes.council.chairman: true acrescenta uma chamada de síntese de um presidente cego depois da agregação (e de quaisquer rodadas de debate): o presidente recebe só achados anonimizados (níveis e contagens de apoio, nunca identidades de membros) e devolve um veredito, ações recomendadas e notas de dissenso. A classificação determinística continua sendo a saída principal; a falha do presidente é revelada e não é fatal. modes.council.adaptive: true começa o espalhamento com dois membros e expande um de cada vez até maxMembers enquanto a cobertura da rodada 1 está abaixo do quórum ou o dissenso é relevante; os gatilhos de expansão são constantes ajustáveis do harness.
Quando usar
- Trocas de arquitetura, de segurança ou de desenho
- Revisão de código de alto risco, em que o acordo entre vários modelos aumenta a confiança
- O usuário pede uma revisão de vários modelos ou uma “segunda opinião”
Fluxo do agente (importante)
Chame council cedo, assim que a evidência relevante estiver disponível, com um resumo context de escopo explícito.
Evite escavações amplas de exploração que não tenham relação com essa revisão; reúna a evidência original exigida antes de pedir achados de código aos membros.
Se o usuário pediu council ou arena, task_parallel é rejeitado até a ferramenta de conjunto ter sido a ação principal pretendida.
Quando não usar
- Perguntas triviais (latência e custo)
- Código sensível à privacidade que não pode sair da inferência local
- Só um provedor conectado
Arena (melhor de N)
Ferramenta: arena
Barra: /arena <task>
Exige: modes.arena.enabled: true e pelo menos 2 modelos selecionáveis e distintos em provedores conectados (inclusive um gateway compartilhado)
Admissão de evidência (compartilhada com o council). O context opcional é aceito literalmente até 24,000 unidades de código UTF-16. Contexto maior devolve context_rejected antes de qualquer prompt de aprovação, criação de worktree ou chamada de modelo — o AX Code nunca o encurta em silêncio. Divida a tarefa em solicitações de escopo explícito ou reduza o contexto opcional, conservando a evidência exigida. O próprio prompt de aprovação só dispara depois que toda pré-verificação sem efeito passou (desativado, admissão de contexto, pré-verificação git de implementação, orçamento, resolução de membros).
mode: "plan" (padrão)
- Cada competidor propõe uma abordagem, passos, riscos e uma pontuação calibrada de risco autoavaliado (sem gravações no workspace).
- Com pelo menos 2 propostas bem-sucedidas, uma chamada de juiz de rubrica cego (o primeiro membro resolvido; identidades removidas, ordem aleatória) pontua cada proposta em cobertura de requisitos, viabilidade, plano de verificação e evidência de risco (0–10 cada, empates permitidos). O total da rubrica (0–40) é o sinal principal de classificação; o risco autoavaliado fica só para exibição. Falha do juiz ou
modes.arena.judge: falserecua para a pontuação autoavaliada, com uma nota de revelação. - Classificado primeiro pelo nível de verificação, depois pela pontuação do juiz ou do risco, depois pela diversidade da impressão digital do patch (nunca popularidade pura). As classificações de plano são consultivas e não são verificação de execução.
- Somente consultivo.
mode: "implement"
- Exige uma worktree git principal com pelo menos um commit e sem alterações não enviadas, registra o commit base exato e cria uma worktree git por competidor a partir desse commit.
- Executa um agente de implementação em cada worktree.
- Tira um instantâneo das alterações rastreadas e não rastreadas de cada competidor num commit durável de ramo, inclusive commits criados pelo próprio agente.
- Executa os comandos detectados de verificação do projeto (verificação de tipos, teste, lint) só depois que um patch não vazio é capturado.
- Classifica com verificação primeiro por padrão: só patches concluídos, não vazios e que passam na verificação podem vencer; entre os que passam, prefere menor risco e patches diversos.
- Não faz merge sozinho. O relatório inclui caminhos de worktree, ramos e intervalos de commit para você inspecionar, mesclar ou fazer cherry-pick.
A arena de implementação exige um projeto git.
Regra de classificação (alinhada à pesquisa)
Para candidatos de código: verificação primeiro, diversidade em segundo, popularidade nunca sozinha.
Voto de maioria ingênuo sobre patches errados e parecidos é um antipadrão (armadilha da popularidade).
Comandos de barra
| Comando | Finalidade |
|---|---|
/council … |
Conduzir revisão consultiva de vários provedores |
/arena … |
Conduzir o melhor de N de plano ou de implementação |
Segurança e custo
- Sandbox e autônomo ainda valem para o trabalho de um só agente (Sandbox, Autônomo).
- Council e arena de plano não gravam arquivos.
- Os escritores da arena de implementação ficam isolados em worktrees; uma worktree principal suja é rejeitada, para que entrada não enviada não seja omitida em silêncio.
- O espalhamento do conjunto multiplica a saída para o provedor e o custo; use
modes.budgete mantenhamaxMembers/maxContestantspequenos. As estimativas de orçamento precificam o pior caso: council2 × (debateRounds + 1)chamadas por membro (reserva de esquema mais nova tentativa), arena de plano 2 por competidor mais uma chamada plana de juiz, arena de implementação uma estimativa documentada de 12 chamadas por trajetória. - Um livro local de chamadas do conjunto, só local (
ensemble-calls.jsonlno diretório global de estado, teto de 2 MB), registra resultados por geração com hashes SHA-256 do prompt — nunca corpos de prompt, nunca credenciais, sem saída. Desative commodes.ensembleLedger: false. - O acordo entre vários modelos é evidência, não prova — execute testes antes de distribuir.
Relacionados
- Rota automática — palavras-chave de especialista e nível de complexidade
- Provedores com suporte — nuvem, CLI, AX Engine
- Seleção de modelo do AX Engine — escolha de modelo local