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
Mediciones nativas de prefill y decode de Tiel Coder
Estado: instantánea local histórica Última revisión: 2026-09-21 Responsable: mantenedores de AX Code Fecha: 2026-09-19 Alcance: los dos paquetes Tiel seleccionados de AX Code, AX Engine frente a MTPLX, Apple M3 Max 128 GiB
Sustituido para la clasificación. La campaña de API nativa en cuatro máquinas del 20 de septiembre de 2026 es la comparación actual de Tiel frente a MTPLX, incluida la finalización en M5 Max de 194.88 tok/s para el paquete predeterminado y el pico de decode de Cyber-Tiel de 249.01 tok/s. Consulta resumen de pares de Tiel. Conserva esta página como la instantánea de fase del M3 Max del 19 de septiembre (motor identificado como 7.4.0; mediana de tres). No mezcles las tablas.
Estos resultados conservan la línea base original del perfil agentic. La
comparación posterior de perfiles MTP de Tiel mide el perfil auto
que AX Code selecciona ahora, incluidas sus compensaciones dependientes de la carga.
Los paquetes nuevos de Tiel se ejecutaron con MTP activo en ambos entornos de ejecución probados. La compilación de código fuente de AX Engine alcanzó 47.36–58.53 tokens/s de decode en los cuatro casos; MTPLX alcanzó 92.13–96.26. El prefill fue de aproximadamente 1,190–1,446 tokens/s. Son mediciones de fase de inferencia nativa en un Apple M3 Max con 128 GiB, no el rendimiento de programación de extremo a extremo de AX Code ni de OpenCode.
Requisito de compilación: el AX Engine 7.4.0 instalado con Homebrew no pudo iniciar Tiel con Engine(MlxMtpRequiredButUnavailable). Los resultados de AX Engine de abajo usan una compilación local optimizada del commit 51137c71a6794964d52c32c95e275c0923ed8d0b, que añade la corrección del cargador del espacio de nombres MTP de Tiel. Esa compilación sigue identificándose como 7.4.0. Sus resultados no establecen soporte en el binario existente de Homebrew ni en una versión publicada. MTP siguió siendo obligatorio; no se incluye una ejecución de respaldo con MTP desactivado.
Resultados
Cada valor es la mediana de tres ensayos. Todos los ensayos generaron exactamente 256 tokens e informaron cero tokens de entrada en caché. Tanto el prefill como el decode usan tokens por segundo.
| Modelo | Tokens de entrada | Prefill de AX Engine | Decode de AX Engine | Prefill de MTPLX | Decode de MTPLX |
|---|---|---|---|---|---|
| Tiel Coder, corto | 458 | 1,255.61 | 57.03 | 1,207.01 | 92.27 |
| Tiel Coder, contexto | 3,182 | 1,424.24 | 55.25 | 1,279.48 | 96.26 |
| Cyber-Tiel Coder, corto | 483 | 1,226.86 | 58.53 | 1,189.60 | 95.09 |
| Cyber-Tiel Coder, contexto | 3,207 | 1,446.19 | 47.36 | 1,427.62 | 92.13 |
La diferencia de decode existe en solicitudes directas al entorno de ejecución con entradas emparejadas, antes del bucle de agente de AX Code. Esta comparación local sitúa por tanto una diferencia a nivel del entorno de ejecución; no identifica un único núcleo o una única política como causa. El prefill es mucho más cercano entre estas configuraciones. No se ejecutó un control con MTP desactivado, así que esto no es una medición de la aceleración de MTP.
Entradas saneadas, los 24 recibos de ensayo, contadores de fase, revisiones de modelo y resultados de aceptación del cliente acompañan este informe.
Artefactos y entorno exactos
| Modelo | Repositorio de Hugging Face | Revisión |
|---|---|---|
| Tiel Coder, predeterminado de AX Code | AutomatosX/AX-Tiel-Coder-35B-A3B-MLX-AXQ-MXFP4-MTP | 5ab39b24bfd7f65203be9b7823b1840486f58b6d |
| paquete Cyber-Tiel Coder | AutomatosX/AX-Cyber-Tiel-Coder-35B-A3B-MLX-AXQ-MXFP4-MTP | fe05e871ec69ad9ae8eac01fd285555514ac7daf |
- Código fuente de AX Code:
205cb556b; la selección usamlxy los pesos MXFP4 del editor. - Host: Apple M3 Max, 137,438,953,472 bytes de memoria; macOS 27.0, compilación
26A428. - AX Engine: compilación de perfil de versión de
51137c71a6794964d52c32c95e275c0923ed8d0b, MLX 0.32.2. SHA-256 del servidor:1fbe7fc50ea16448f98350616273214c0475bffb3ef509fceb3f8849163e97f5. - MTPLX: 2.11.3, MLX 0.32.2, entorno de Python 3.12.
- Ambos entornos de ejecución leen la misma instantánea compartida de Hugging Face de cada modelo. La descarga del modelo, la carga de pesos y el arranque del servidor quedan fuera de los tiempos de fase.
Los paquetes son recuantizaciones de desarrollo. Estas pruebas no certifican la calidad del modelo, la paridad numérica, el comportamiento de contexto largo, otro hardware ni el rendimiento de una versión futura. No sustituyen a la matriz histórica de cliente real de Qwen3.8, que usó modelos distintos y midió un límite distinto.
Método de medición
El prompt pide una caché LRU genérica de TypeScript y pruebas, precedida por 8 o 96 funciones sintéticas de TypeScript. Los mensajes se almacenan en el recibo JSON. El tokenizador fijado de cada modelo renderiza su plantilla oficial de chat con enable_thinking=false y add_generation_prompt=true. Los tokens enteros resultantes se envían sin cambios a ambos backends. La salida /tokenize de AX Engine también se comprobó contra esos ID. La plantilla de Cyber-Tiel añade texto de identidad, lo que explica sus 25 tokens adicionales; las entradas entre backends coinciden dentro de cada modelo.
Las solicitudes usan temperatura 0.55, top-p 1, top-k 0, semilla 0 y un límite de 256 tokens. Cada backend recibe un calentamiento explícito de 64 tokens antes de sus ensayos medidos. MTPLX también realiza su calentamiento normal de arranque y de segundo plano. Un calentamiento no cuenta como ensayo. El orden de ejecución fue MTPLX/Tiel, AX Engine/Tiel, MTPLX/Cyber-Tiel, AX Engine/Cyber-Tiel. Solo un backend de inferencia estaba activo a la vez; la compilación terminó antes de que empezaran los ensayos medidos. Esta muestra pequeña de orden fijo no es un estudio de resistencia ni térmico contrabalanceado.
AX Engine usa /v1/generate nativo con input_tokens y max_output_tokens. MTPLX usa /v1/completions en flujo con un prompt de array de enteros, seguido de /metrics. Así se evitan diferencias en el ensamblado del prompt del cliente y en el renderizado de la plantilla de chat entre los dos servidores. La salida limitada es una carga de rendimiento, no una prueba de corrección de código completo.
| Medición | AX Engine | MTPLX |
|---|---|---|
| Duración del prefill | ax_mlx_prefill_wall_us / 1e6 |
prompt_eval_time_s |
| Tasa de prefill | Tokens de entrada no cacheados / duración del prefill | prefill_compute_tok_s, auditado contra new_prefill_tokens / prompt_eval_time_s |
| Duración del decode | ax_mlx_decode_wall_us / 1e6 |
decode_elapsed_s |
| Tasa de decode | (output_tokens - 1) / decode duration; la primera salida pertenece al prefill |
decode_tok_s, auditado contra completion_tokens / decode_elapsed_s |
| Evidencia de caché | Caché de prefijo desactivada con AX_MLX_PREFIX_CACHE_MAX_ENTRIES=0; cero tokens reutilizados |
Caché de sesión SSD apagada; cero tokens en caché en cada finalización |
| Evidencia de MTP | Política obligatoria, redactor activo del modelo, tokens aceptados positivos, cero pasos informados de respaldo directo | generation_mode=mtp, profundidad 3, contadores positivos de borrador y de aceptación |
Los contadores nativos de decode tienen límites del primer token ligeramente distintos; se informan con sus fórmulas reales en lugar de reetiquetarse como temporizadores idénticos. Ninguna tasa divide la salida por la duración total de la solicitud HTTP. El TTFT nativo de MTPLX se conserva en el JSON; la sonda sin flujo de AX Engine no mide el TTFT de transporte.
Configuración del entorno de ejecución
AX Engine usó el perfil genérico de especulación agentic, un contexto de 32,768 tokens, un presupuesto de salida anunciado de 8,192 tokens, un ancho de planificador de 2,048 y una solicitud concurrente. No se aplicaron las anulaciones de entorno de AX Code específicas del Qwen3.8 denso. Su profundidad MTP admitida fue 3; las puertas normales de borrador del motor siguieron activas.
Argumentos de lanzamiento equivalentes, con SNAPSHOT establecido en la instantánea fijada adecuada y MODEL en su alias de AX Code:
AX_MLX_PREFIX_CACHE_MAX_ENTRIES=0 /path/to/fixed/ax-engine-server \
--host 127.0.0.1 --port 18439 --model-id "$MODEL" \
--mlx --mlx-model-artifacts-dir "$SNAPSHOT" \
--mlx-mtp-policy required --speculation-profile agentic \
--mlx-mtp-disable-ngram-stacking --max-concurrent-requests 1 \
--max-batch-tokens 2048 --max-output-tokens 8192 \
--block-size-tokens 16 --total-blocks 2048
mtplx serve --model "$SNAPSHOT" --model-id "$MODEL" \
--host 127.0.0.1 --port 18442 --no-auth --agent-rewrites off \
--max-tokens 8192 --context-window 32768 --reasoning off \
--no-stats-footer --ssd-session-cache off --warmup-tokens 64 \
--strict-warmup --fan-mode default --generation-mode mtp --load-mtp --depth 3
MTPLX usó una configuración aislada vacía. Los manifiestos de modelo de AX Engine se prepararon con su descargador fijado y solo local; se conservaron los pesos del modelo del editor y los tensores MTP. Ninguna configuración desactivó MTP para obtener un resultado.
Aceptación de herramientas de AX Code
Una ejecución aparte del código fuente de AX Code pidió a cada modelo que leyera probe.txt con la herramienta de lectura y devolviera solo su contenido. El estado y la configuración estaban aislados. AX Engine usó una conexión loopback explícita al servidor de código fuente probado. Estas ejecuciones quedan fuera de la tabla de fases nativas.
| Modelo | Entorno de ejecución | Lectura completada | Marcador correcto en la respuesta final | Formato exacto de solo salida |
|---|---|---|---|---|
| Tiel | código fuente de AX Engine | Sí | Sí | No; añadió prosa y una valla de código |
| Tiel | MTPLX | Sí | Sí | Sí |
| Cyber-Tiel | código fuente de AX Engine | Sí | Sí | No; añadió prosa y una valla de código |
| Cyber-Tiel | MTPLX | Sí | Sí | Sí |
Los cuatro procesos de cliente salieron con éxito y completaron una llamada de lectura real. Las dos ejecuciones de AX Engine fallaron el requisito más estricto de formato de salida, así que esto no es una certificación de comportamiento ni de calidad de programación toda en verde. Sus prompts, las cargas de herramientas, el muestreo predeterminado y el manejo del chat son rutas de cliente y de entorno de ejecución, distintas de la referencia de fase con tokens emparejados. No se ajustó ningún comportamiento de nube, CLI, GPU privada ni AX Trust para estas pruebas.
Una invocación gestionada aparte de providers ax-engine start omitió el argumento de modelo y seleccionó tiel-coder-35b-axq-mxfp4 en la revisión fijada con mlx. Su estado en vivo informó soporte de herramientas, política MTP obligatoria/obligatoria, MTP activo, 27 tokens redactados y 23 tokens aceptados. Luego el servidor gestionado se detuvo con éxito. Esto usó estado aislado de AX Code y la anulación AX_ENGINE_SERVER=/absolute/path/to/fixed/ax-engine-server de la ayuda existente; no se sustituyeron el binario instalado del usuario ni la configuración del proveedor. La misma anulación se puede establecer al iniciar pnpm run dev con una compilación que contenga la corrección del cargador.
El cambio de catálogo aprobó 11,374 pruebas deterministas, con 17 omitidas, más 208 pruebas del SDK, 259 pruebas de script (94 omitidas), comprobación de tipos recursiva, comprobaciones de estructura del repositorio y comprobaciones de la TUI. Consulta selección de modelo y requisitos del entorno de ejecución antes de usar el nuevo valor predeterminado.