Obtener AX Code · GratisDocumentación

Esta página es una traducción de la documentación en inglés. Los comandos, identificadores y ejemplos no cambian. Runtime 7.24.4 · SDK 2.6.7. Original en inglés

Modos de ejecución (local, nube, híbrido, Council, Arena)

Estado: Activo Alcance: estado actual Última revisión: 2026-09-12 Responsable: runtime de ax-code

AX Code puede colocar el trabajo en inferencia local, en proveedores alojados o de CLI, o en ambos (híbrido), y puede repartir el trabajo de alto riesgo entre varios proveedores conectados (revisión de council y el mejor de N de arena). Esta página documenta el comportamiento publicado de esos modos.

Fuente de verdad

Cuando el comportamiento cambie, verifica frente a:

  • packages/ax-code/src/mode/: política pura, híbrido, agregación de council, clasificación de arena, debate, presupuesto, memoria, política de worktree, puntuación de la arena de implementación
  • packages/ax-code/src/tool/council.ts: herramienta de council de varios proveedores
  • packages/ax-code/src/tool/arena.ts y arena-implement.ts: arena de plan y de implementación
  • packages/ax-code/src/session/prompt/prompt-routing.ts: colocación híbrida cuando modes.default es hybrid
  • packages/ax-code/src/config/schema-impl.ts: esquema de configuración de modes
  • packages/ax-code/src/command/template/{council,arena}.txt: /council y /arena están en el menú de barra predeterminado

Selector de modo de trabajo (Agente | Council | Arena)

La TUI y Desktop exponen un control de modo de trabajo para el enrutado de varios modelos. El predeterminado es Agente.

Selección de la interfaz El envío de texto libre se convierte en
Agente (predeterminado) Prompt normal de un solo agente
Council revisión de varios proveedores /council {your message}
Arena el mejor de N entre varios modelos /arena {your message}
  • Cromo predeterminado de la TUI: el pie no muestra una pastilla de Agente. Permanecen el modo de ejecución y Sandbox. /work-mode (paleta Elegir modo de trabajo) abre un selector explícito: Agente, Council y Arena, con el coste y la semántica en cada fila. Las filas de conjunto no disponibles se desactivan con el motivo.
  • Cromo de conjunto armado: después de elegir Council o Arena, aparece una pastilla (Council · 2, o Arena (off) hueca si más tarde deja de estar disponible). Haz clic en la pastilla para volver a Agente. Los chats nuevos vuelven a Agente.
  • Disponibilidad: un modo está disponible cuando está activado en la configuración, al menos dos proveedores conectados tienen un modelo seleccionable y el tope de miembros configurado no es 1. Las pastillas y las filas del selector se actualizan en vivo cuando los proveedores se conectan o se desconectan.
  • Indicación previa al envío (TUI): aparece una indicación de una línea sobre el prompt cuando council o arena están bloqueados o aún se comprueban, y en el primer uso de un modo disponible (por ejemplo Council mode · up to 2 reviewers · advisory · approval on first use). Después de un envío correcto en ese modo, la pastilla sigue siendo el estado y la indicación se oculta. Enviar mientras el modo elegido no está disponible está bloqueado con el motivo: se conserva el borrador y el prompt nunca se degrada en silencio a una ejecución de un solo modelo.
  • Desktop: pastilla de la barra del compositor (junto a Manual/Autónomo).
  • /council y /arena explícitos nunca se reescriben y siguen siendo los puntos de entrada de un solo uso.
  • Los agentes especialistas (architect, security, …) permanecen en el selector de agentes aparte.

Modos de colocación de un vistazo

Modo Qué hace ¿Muta el espacio de trabajo? Predeterminado
local Prefiere AX Engine (o el proveedor local configurado) Sí (un solo agente) Cuando fijas local, o cuando híbrido coloca en local
cloud Prefiere proveedores de frontera alojados o de CLI Sí (un solo agente) Cuando local no está disponible
hybrid La política elige local o nube según disponibilidad, complejidad y privacidad Sí (un solo camino) Define modes.default: "hybrid"
council Reparte una revisión o un diseño estructurados; clasifica consenso, mayoría, minoría y caso único No (orientativo) Herramienta + /council o modo de trabajo = Council
arena Comparación de planes entre varios modelos, o el mejor de N de implementación en worktrees Plan: no. Implementación: solo en worktrees Optativo (modes.arena.enabled) + modo de trabajo = Arena

El enrutado de especialistas por palabras clave y la clasificación por complejidad (consulta Auto-Route) son ortogonales a la colocación híbrida y a los modos de conjunto.

El esfuerzo del modelo y el nivel de pensamiento (Rápido, Equilibrado, Profundo, Máximo) también son ortogonales: es un presupuesto de razonamiento por modelo, no un modo de trabajo. Consulta Esfuerzo del modelo.

Configuración

En 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. Sin definir: híbrido cuando local encaja con las señales de la política; si no, nube para los valores predeterminados de un solo camino.
modes.hybrid.* Preferencia local, escalado a la nube si la complejidad es alta, id del proveedor local
modes.council.* Activar, tope de miembros, tiempo de espera, escala del tiempo de espera del modelo de razonamiento, anulaciones de tiempo de espera por miembro, rondas de debate, presidente optativo y reparto adaptativo (ambos desactivados de forma predeterminada)
modes.arena.enabled Debe ser true para la herramienta arena (desactivado de forma predeterminada). Las ediciones a mitad de sesión se recogen en la siguiente llamada a la herramienta (Config.getFresh). O pasa enableIfDisabled: true en la herramienta de arena.
modes.arena.strategy verify_first (recomendado para implementar), diversity o hybrid_score
modes.arena.reasoningTimeoutScale Multiplicador de tiempo de espera para los concursantes cuyo modelo declara capacidad de razonamiento (vuelve a modes.council.reasoningTimeoutScale y luego a 3)
modes.arena.memberTimeoutMs Anulaciones absolutas de tiempo de espera por concursante, con clave "providerID" o "providerID/modelID" (vuelve a modes.council.memberTimeoutMs)
modes.arena.judge Juez de rúbrica ciego para el modo de plan (predeterminado: true)
modes.ensembleLedger Libro mayor JSONL local de llamadas para las generaciones del conjunto (predeterminado: true; solo hashes SHA-256 del prompt, sin cuerpos, sin salida)
modes.budget.* Tope de fallo cerrado sobre los USD estimados del reparto del conjunto

Colocación híbrida

Cuando modes.default es hybrid y el usuario o el agente no fijaron un modelo:

  1. Si el proveedor local (de forma predeterminada ax-engine) tiene un modelo seleccionable → prefiere local para complejidad baja o media.
  2. Si la complejidad es alta y escalateOnHighComplexity es verdadero → nube.
  3. Si la privacidad exige local y local está disponible → local.
  4. Si local no está disponible → nube.

La complejidad sigue usando el camino existente del modelo pequeño y rápido para los mensajes low cuando el enrutado por complejidad de auto-route está activado (Auto-Route). El híbrido no sustituye al enrutado de especialistas por palabras clave.

Orientación de modelos locales y de memoria: Selección de modelos de AX Engine. Lista de proveedores: Proveedores compatibles.

Council (modo de consenso)

Herramienta: council
Barra: /council <question>

  1. Elige proveedores conectados diversos (diversidad de familias: bajo una pasarela de varios modelos no reconocida, la familia vuelve al id del modelo; sesgo suave a partir de la memoria de resultados).
  2. Reparte en paralelo un prompt estructurado de revisión o de diseño.
  3. Agrega los hallazgos en niveles de consenso (unánime entre los miembros correctos con quórum: al menos max(2, ⌈2/3 × attempted⌉) éxitos), mayoría estricta (más de la mitad de los miembros intentados), minoría (al menos dos) y caso único. Los hallazgos revelan el apoyo frente a los miembros intentados (2/6), y los informes de baja cobertura indican que las etiquetas de consenso exigen quórum.
  4. Rondas de debate opcionales: síntesis anónima (Chatham House) compartida entre rondas; sin atribución de marca. El debate se limita a tres rondas y se detiene antes si hay convergencia.
  5. Devuelve un informe markdown orientativo. No edita archivos.

Necesita al menos dos miembros resueltos para ejecutarse: con menos, se cortocircuita con una comprobación previa de «miembros insuficientes» antes de cualquier aviso de aprobación o llamada al modelo (los pares explícitos de modelos de la misma pasarela cuentan como dos). Los niveles de consenso significativos siguen necesitando al menos dos miembros correctos; si no, el informe se marca como incompleto.

Admisión de evidencia. Los miembros reciben solo la pregunta y el contexto aportados. No heredan la sesión que llama ni leen archivos de las rutas del informe. Incluye los requisitos, el diff relevante, los fragmentos originales exigidos y la evidencia de verificación necesaria para el alcance de revisión declarado.

El context opcional se acepta tal cual hasta 24,000 unidades de código UTF-16. Un contexto mayor devuelve context_rejected antes de la inferencia de los miembros; AX Code nunca lo acorta en silencio. Divide la revisión en solicitudes de alcance explícito o quita el fondo opcional conservando la evidencia exigida.

Antes de cada ronda, AX Code comprueba el prompt completo frente a un tope local de 128,000 bytes y frente a los límites conocidos de entrada y de contexto de cada miembro resuelto, reservando la salida solicitada y la instrucción de reserva más 2,048 tokens para el esquema y el encuadre. El tamaño de entrada usa una estimación deliberadamente conservadora en bytes UTF-8. Puede rechazar prompts que cabrían; no es un recuento exacto del tokenizador ni una garantía sobre la serialización del proveedor. Los límites de modelo desconocidos se revelan y siguen sujetos a los topes locales. Si una ronda de debate no cabe, el resultado es incompleto y conserva el informe de la última ronda completada.

contextAdmission registra la compuerta local de longitud de contexto, el tamaño aportado y un resumen del contenido; promptBudget comprueba la solicitud completa por separado. Ambos deben pasar antes de la inferencia. Estos campos son independientes de successfulMembers y no establecen la completitud semántica, la frescura de la fuente ni una calidad de revisión garantizada.

Tiempos de espera. Cada miembro se ejecuta bajo modes.council.timeoutMs (180000 ms de forma predeterminada); los modelos que declaran capacidad de razonamiento obtienen modes.council.reasoningTimeoutScale veces ese presupuesto (3 de forma predeterminada, así que 540000 ms). Para dar más tiempo a un miembro conocido por ser lento sin inflar la espera de los demás, define una anulación absoluta modes.council.memberTimeoutMs con clave "providerID" o "providerID/modelID": la clave exacta del modelo prevalece sobre la clave de todo el proveedor, y cualquiera de las dos prevalece sobre el cálculo de base y escala:

{
  "modes": {
    "council": {
      "memberTimeoutMs": { "deepseek/deepseek-v4-pro": 900000 }
    }
  }
}

ax-code.json es un archivo de configuración protegido: los agentes deben pedir al usuario que lo cambie.

Carriles opcionales (desactivados de forma predeterminada). modes.council.chairman: true añade una llamada de síntesis de un presidente ciego después de la agregación (y de las rondas de debate, si las hay): el presidente recibe solo hallazgos anonimizados (niveles y recuentos de apoyo, nunca identidades de miembros) y devuelve un veredicto, acciones recomendadas y notas de disenso. La clasificación determinista sigue siendo la salida principal; el fallo del presidente se revela y no es fatal. modes.council.adaptive: true inicia el reparto con dos miembros y amplía de uno en uno hasta maxMembers mientras la cobertura de la ronda 1 está por debajo del quórum o el disenso es relevante; los disparadores de ampliación son constantes ajustables del harness.

Cuándo usarlo

  • Compromisos de arquitectura, seguridad o diseño
  • Revisión de código de alto riesgo en la que el acuerdo entre varios modelos aumenta la confianza
  • El usuario pide una revisión de varios modelos o una «segunda opinión»

Flujo del agente (importante)

Llama a council pronto, en cuanto la evidencia relevante esté disponible, con un informe context de alcance explícito. Evita exploraciones amplias ajenas a esa revisión; reúne la evidencia original exigida antes de pedir hallazgos de código a los miembros. Si el usuario pidió council o arena, task_parallel se rechaza hasta que la herramienta de conjunto haya sido la acción principal prevista.

Cuándo no usarlo

  • Preguntas triviales (latencia y coste)
  • Código sensible a la privacidad que no debe salir de la inferencia local
  • Solo hay un proveedor conectado

Arena (el mejor de N)

Herramienta: arena
Barra: /arena <task>
Exige: modes.arena.enabled: true y al menos 2 modelos seleccionables distintos en proveedores conectados (incluida una pasarela compartida)

Admisión de evidencia (compartida con council). El context opcional se acepta tal cual hasta 24,000 unidades de código UTF-16. Un contexto mayor devuelve context_rejected antes de cualquier aviso de aprobación, creación de worktree o llamada al modelo: AX Code nunca lo acorta en silencio. Divide la tarea en solicitudes de alcance explícito o reduce el fondo opcional conservando la evidencia exigida. El aviso de aprobación solo se dispara después de que hayan pasado todas las comprobaciones previas sin efecto (desactivado, admisión de contexto, comprobación previa de Git de la implementación, presupuesto, resolución de miembros).

mode: "plan" (predeterminado)

  • Cada concursante propone un enfoque, pasos, riesgos y una puntuación de riesgo autocalibrada (sin escrituras en el espacio de trabajo).
  • Con al menos 2 propuestas correctas, una llamada de juez de rúbrica ciego (el primer miembro resuelto; identidades eliminadas, orden aleatorio) puntúa cada propuesta en cobertura de requisitos, viabilidad, plan de verificación y evidencia de riesgo (de 0 a 10 cada una; se permiten empates). El total de la rúbrica (de 0 a 40) es la señal principal de clasificación; el riesgo autoevaluado queda solo para mostrarse. El fallo del juez o modes.arena.judge: false vuelve a la puntuación autoevaluada con una nota de revelación.
  • Se clasifica primero por el nivel de verificación, luego por la puntuación del juez o del riesgo, y luego por la diversidad de la huella del parche (nunca por popularidad pura). Las clasificaciones del plan son orientativas y no son una verificación de ejecución.
  • Solo orientativo.

mode: "implement"

  • Exige un worktree Git principal con al menos un commit y sin cambios sin confirmar, registra su commit base exacto y crea un worktree Git por concursante a partir de ese commit.
  • Ejecuta un agente de implementación en cada worktree.
  • Toma una instantánea de los cambios rastreados y no rastreados de cada concursante en un commit duradero de rama, incluidos los commits creados por el propio agente.
  • Ejecuta los comandos de verificación del proyecto detectados (comprobación de tipos, pruebas, lint) solo después de capturar un parche no vacío.
  • Clasifica con verificación primero de forma predeterminada: solo pueden ganar los parches completados y no vacíos que superan la verificación; entre los que pasan, se prefiere menor riesgo y parches diversos.
  • No fusiona de forma automática. El informe incluye rutas de worktree, ramas y rangos de commit para que inspecciones, fusiones o hagas cherry-pick.

La arena de implementación exige un proyecto Git.

Regla de clasificación (alineada con la investigación)

Para candidatos de código: primero la verificación, después la diversidad, y la popularidad nunca sola.
El voto mayoritario ingenuo sobre parches erróneos parecidos es un antipatrón (trampa de popularidad).

Comandos de barra

Comando Propósito
/council … Conducir una revisión orientativa de varios proveedores
/arena … Conducir el mejor de N de plan o de implementación

Seguridad y coste

  • Sandbox y autónomo siguen aplicándose al trabajo de un solo agente (Sandbox, Autónomo).
  • Council y la arena de plan no escriben archivos.
  • Los escritores de la arena de implementación están aislados en worktrees; un worktree principal sucio se rechaza para que la entrada sin confirmar no pueda omitirse en silencio.
  • El reparto del conjunto multiplica la salida hacia el proveedor y el coste; usa modes.budget y mantén pequeños maxMembers / maxContestants. Las estimaciones de presupuesto valoran el peor caso: council hace 2 × (debateRounds + 1) llamadas por miembro (reserva de esquema y reintento), la arena de plan hace 2 por concursante más una llamada plana del juez, y la arena de implementación usa una estimación documentada de 12 llamadas por trayectoria.
  • Un libro mayor local de llamadas del conjunto (ensemble-calls.jsonl en el directorio de estado global, tope de 2 MB) registra los resultados por generación con hashes SHA-256 del prompt: nunca cuerpos de prompt, nunca credenciales, sin salida. Desactívalo con modes.ensembleLedger: false.
  • El acuerdo entre varios modelos es evidencia, no una prueba: ejecuta las pruebas antes de publicar.