获取 AX Code · 免费文档

本页译自英文文档。命令、标识符和示例保持原样。运行时 7.24.5 · SDK 2.6.9。 英文原文

AX Code 与 OpenCode 客户端复测:2026 年 9 月 19 日

状态:生效

范围:已测量的诊断快照

最近审阅:2026-09-19

负责人:ax-code 运行时

这次复测使用 AX Code 源码 62895cf40a39e0ebd4afec0afa21044e9871aa0b,位于本地前缀修复(42908b46a)以及 MTPLX/oMLX 提供方加入之后。全部六种客户端/后端组合在 Apple M3 Max、128 GiB 上使用同一 已启用 MTP 的 Qwen3.8 27B AXQ 6-bit 产物。较早的测量 仍是历史证据;它们的模型包、提示、token 上限和缓存条件不同。这不是对前缀修复加速的受控前后估算。

交付的输出速度

每个单元格是 首次任务 / 重复任务,单位为 token/秒。这些是单次观察,不是中位数。重复任务针对同一后端进程启动新的 CLI 会话;不假定它会命中缓存。加载和等待首次输出不计入该速率。

客户端 AX Engine MTPLX oMLX
AX Code 11.73 / 13.60 18.73 / 19.69 17.48 / 16.60
OpenCode 22.49 / 18.98 27.91 / 26.35 20.33 / 20.64

估算是 (completion tokens - 1) / (last output payload time - first output payload time)。推测解码可以在一个载荷中发出多个 token,因此这是客户端交付估算,不是后端的原生解码计数。它也不测量完整请求吞吐。

请求计时、工作负载与接受情况

NR 表示服务器没有报告缓存 token 用量;它并不断言为零。首载荷时间从本地记录代理收到模型请求时开始。CLI 墙钟时间还包括客户端启动和完成。任务要求一个独立的通用 TypeScript LRU 缓存,带有 get、set、delete 和 clear,没有工具执行或文件编辑。

后端 客户端 任务 输入 token 输出 token 缓存 token 首载荷(秒) CLI 墙钟(秒) 代码检查
AX Engine AX Code 首次 29,896 268 NR 197.78 231.58 通过
AX Engine AX Code 重复 29,896 268 29696 7.22 33.34 通过
AX Engine OpenCode 首次 17,316 216 NR 100.86 112.83 通过
AX Engine OpenCode 重复 17,316 228 NR 116.03 129.90 通过
MTPLX AX Code 首次 36,708 285 0 246.67 269.43 通过
MTPLX AX Code 重复 36,708 285 36708 0.04 20.48 通过
MTPLX OpenCode 首次 18,729 276 0 108.67 121.00 通过
MTPLX OpenCode 重复 18,729 276 18729 0.08 12.77 通过
oMLX AX Code 首次 33,124 275 0 212.25 235.62 通过
oMLX AX Code 重复 33,124 232 32768 4.41 23.34 通过
oMLX OpenCode 首次 17,316 213 0 118.03 130.88 通过
oMLX OpenCode 重复 17,316 261 16384 7.73 22.91 通过

代码接受检查覆盖缺失的键、值查找、LRU 驱逐、保留的条目、更新新近度、删除已有和不存在的键、清空、对象键身份以及假值。生成的文件还会接受严格的 TypeScript 检查。这些有界检查不能确立广泛的编码质量。所有测量行都保留其生成输出和验证结果;失败不会被静默替换成更快的重试。

MTP 与运行时条件

  • AX Engine 7.4.0:--mlx-mtp-policy required,受管的本地运行时标志,n-gram 加速和 n-gram 堆叠已禁用。实时进程指标显示 ax_engine_mlx_mtp_model_policy_active=1,起草和已接受 token 计数非零。AX Code 快照在预热之后;OpenCode 快照在首次任务之后。两者都包含预热,不是按任务的接受总计。按任务的 AX Code 起草计数没有保留。
  • MTPLX 2.11.3 / MLX 0.32.2:显式 --generation-mode mtp --depth 3;实时健康报告 generation_mode: mtp 和 runtime_mode: Sustained MTP。智能体改写和 SSD 会话缓存关闭;原生内存会话库保持启用。原生启动/内核预热予以保留并排除在计时之外。无关的加载预热已完成;准入时的后台预热状态保留在数据中,而不是假定已完成。
  • oMLX 0.6.4 / MLX 0.32.0:启用 Lightning MTP,深度 3,仅文本模型加载,并发为一。每次生成的日志记录预热和两项任务的起草接受以及按深度的执行。上游附属导入器重命名 15 个张量;它们的 dtype、形状和载荷字节与原始 AXQuant 附属文件保持相同。骨干权重未改变。
  • 产物:AutomatosX/AX-Qwen3.8-27B-MLX-AXQ-6bit-MTP,修订 4d36d652c21590f6813495351c3baf5fca5b3831。产物元数据声明 MTP 深度为 1;此处循环深度 3 遵循所选的运行时策略/显式实验,并不扩展产物认证。本次复测不使用 Optimized-Speed 模型包。
  • OpenCode 版本为 1.18.31。所有后端和客户端串行运行。每个客户端/后端对启动新进程和隔离的任务缓存,随后是无关的模型加载预热,输出 token 上限为 64。模型加载和该预热排除在表格之外;首次任务仍要支付冷预填充。风扇控制保持默认,骨干文件位于 SMB 存储。

哪些对齐了,哪些仍然不同

两个客户端收到相同的冻结完整项目说明、用户任务和四个被允许的工具(glob、grep、read、skill)。源码 AX Code CLI 使用实际的 ax-engine、mtplx 和 omlx 提供方 ID;AX Engine 使用其已验证的环回连接契约,后端单独启动并携带受管标志。这不计时受管的下载/启动界面。OpenCode 使用其 OpenAI 兼容的提供方路径。项目配置被禁用,每个客户端有隔离的设置/状态。原生客户端提示、工具模式和会话头保持完整;因此渲染的 token 计数和缓存行为不同。

本地记录代理对齐 temperature 0.55、top-p 1、top-k/min-p 0、重复惩罚 1、存在/频率惩罚 0、seed 0、思考关闭,以及 1,024 token 的输出天花板。它对这项无工具任务强制 tool_choice: none。两个客户端都配置为 65,536 token 上下文。每一行都检查完整的说明快照、四个工具名、共同采样、一次请求、成功的 CLI 退出、自然停止以及没有工具执行。

更长的 AX Code 提示会增加生成期间的预填充和注意力工作。不同的响应长度、内容、运行时模板、内核和缓存策略,使这些表不能被当作等 token 的客户端开销基准。MTP 处于活动状态并不保证完整编码上下文有 30–40 token/秒。要隔离客户端开销或前缀修复效果,请在受控的输出和缓存条件下分别重放相同的序列化请求/token ID。

本报告不改变云端、私有 GPU、CLI 提供方或 AX Trust 的行为。连接说明见 本地运行时设置指南,精确计时、计数、哈希、验证结果和 MTP 证据见 已清理的测量数据。私有项目说明、模型响应、本地路径和会话头保留在本地,不予发布。因此,完整的私有上下文工作负载不能仅凭公开报告独立复现。