前几篇里,我分别测试了 OE-Skills Router 的路由纪律,以及 OE-Skills、OE MCP 对征程6工具链回答的影响。
这些实验让我发现一个更实际的问题:当任务从“某个工具怎么用”变成长链路规划时,应该让 Agent 一次性给出完整方案,还是让它先拆阶段、逐段展开,最后再汇总?
直觉上,分阶段规划应该更稳。
它有更多轮次,可以逐步检查模型、数据、PTQ、HBDK/HBM、UCP 和真实 J6E 验收,也更像真实工程协作。
这并不等于“分阶段规划没用”。真正值得研究的是:更多过程为什么没有自动变成更好的最终交付物?
一、这次规划的是什么任务?
我固定了一项征程6端到端部署规划任务:
- 输入是标准 ONNX 目标检测模型 detector.onnx;
- 目标平台为 J6E,对应 nash-e;
- 输入契约暂定为 RGB、NCHW、float32、1×3×640×640、像素缩放 1/255;
有 500 张代表性且带标注的校准/评测图片;
后处理包含检测框解码和 NMS,但真实输出 tensor、shape、量化参数与具体算子尚未提供;
最终目标是交付 UCP C++ 推理应用,并在真实 J6E 上完成输出、mAP、CPU fallback 和端到端 P95 验收。
验收目标暂定为:相对浮点基线 mAP 下降不超过 1 个百分点,真实板端端到端 P95 不高于 20 ms。
但实验环境没有可访问的模型、图片、OE 安装包或 J6E 板卡,账号、下载权限、板卡 IP 和 SSH 认证也未知。
因此本次研究对象从一开始就不是“谁能真的编出 HBM”,而是:
谁能在缺少执行条件时,给出职责正确、依赖一致、门禁明确且不越权的征程6部署计划。
二、One-shot 和 Staged 到底怎么比?
两组使用相同模型、相同 reasoning effort、相同 OE-Skills、相同项目级 OE MCP 和相同只读镜像。每个 replicate 都是独立、全新、read-only、ephemeral 会话。
唯一变量是交互方式。
One-shot 组共 5 份回答。每个会话只发一次完整任务,要求在一个回答中覆盖:
环境和模型检查 → 浮点基线 → 校准数据 → ONNX PTQ → 精度验证与调优 → HBDK/HBM → UCP C++ → 交叉编译 → 真实 J6E 验收。
Staged 组也有 5 个独立会话,但每个会话固定为 7 轮:
先拆成恰好 5 个阶段;
逐轮展开第 1~5 阶段;
最后只允许整合已经出现的内容,并做跨阶段一致性检查。
正式评分对象不是 Staged 的全部过程,而是最后一轮 S6 的最终整合计划。前面的 S0~S5 用来观察过程、依赖和矛盾。

图1|相同征程6长链路任务分别进入 5 个 One-shot 单轮会话和 5 个 Staged 七轮会话;唯一处理变量是交互协议。
三、评分看什么?
每份最终计划按 8 个维度评分,每项 0~2 分,单份满分 16 分,每组满分 80 分:
维度 | 主要检查内容 |
|---|---|
D1 路线与职责 | ONNX/PTQ、HBDK/HBM、UCP 与板端阶段是否放对位置 |
D2 阶段完整性 | 是否覆盖环境、基线、数据、量化、编译、应用和验收 |
D3 依赖一致性 | 产物是否先生成后使用,模型与验证口径是否前后一致 |
D4 前置条件与门禁 | 是否区分当前能做、需要 OE、需要 J6E 的内容 |
D5 验证闭环 | 是否区分 HBM、静态分析、UCP 应用和真实板端验收 |
D6 官方证据 | 核心路线、命令和资料是否可追溯 |
D7 冲突与不确定性 | 遇到版本或作用域差异时是否保守处理 |
D8 可执行性与可读性 | 步骤、责任、输出和停止条件是否容易检查 |
四、结果:One-shot 78,Staged 72
最终结果如下:
条件 | 五份结果 /16 | 总分 /80 | 均值 | 中位数 | 范围 |
|---|---|---|---|---|---|
One-shot | 16、16、16、15、15 | 78 | 15.6 | 16 | 15~16 |
Staged | 15、15、14、13、15 | 72 | 14.4 | 15 | 13~15 |
两组在 D1~D5 都得到 10/10:
都识别出标准 ONNX 应走 PTQ,而不是默认改成 PyTorch QAT;
都把 HMCT/PTQ、HBDK/HBM、UCP 应用和真实 J6E 验收放在正确的职责位置;
都把模型、真实 I/O、后处理、数据、OE 版本、权限和板卡列为执行门禁;
都明确 HBM 生成不等于部署完成;
都没有伪造量化、编译、mAP、CPU fallback 或板端延时结果。
差异主要出现在最后三个维度:
维度 | One-shot | Staged |
|---|---|---|
D6 官方证据与命令可追溯性 | 10/10 | 9/10 |
D7 风险、冲突与不确定性 | 10/10 | 9/10 |
D8 可执行性与可读性 | 8/10 | 6/10 |

图2|本次固定任务中,One-shot 的规划质量为 78/80,Staged 为 72/80;差异主要来自最终整合文本的证据、冲突处理和可执行性。
五、为什么分阶段没有赢?
在 S1~S5 中,Agent 曾经逐阶段给出更细的输入、输出、前置条件、官方 Skill 和停止门槛。但到了 S6,提示要求“只能整合已经出现的内容”,模型会倾向于把数万字过程压缩成一份更短的总结。
压缩之后,主链路还在,但一些可审计细节被弱化:
官方资料或 Skill 只保留名称,没有继续说明它支撑哪条结论;
已经发现的版本/作用域差异只保留一句提醒,没有形成具体的执行门禁;
“部署完成”条件出现编号不连续或条目过于简略;
部分阶段从“可以按步骤检查”退化为“方向正确但需要重新展开”。
也就是说,Staged 的过程可能比最终答案更丰富,但工程交付通常只看最终计划。如果最后一步只是摘要,前面增加的推理成本就不一定会保留下来。
六、成本差异也很明显
One-shot 一共 5 个 assistant turn;Staged 一共 35 个 assistant turn。
正式实验共 40 轮回答。One-shot 单份通常约 3~4 分钟,Staged 单份约 8.5~10 分钟。Staged 比 One-shot 多出 30 轮交互,并明显增加时间和 Token 消耗。
如果 Staged 得分更高,这种成本可能值得;但本次结果是平均分从 15.6 降到 14.4,因此不能只用“分得更细”来证明方案更好。
可以把这次权衡概括为:
One-shot:上下文集中、最终交付完整、成本低,但复杂任务可能一次遗漏。

图3|Staged 增加了过程控制和交互成本,但阶段细节必须经过保真整合,才能转化为更高质量的最终计划。
七、这是不是说明以后都应该 One-shot?
不是。
这次只能说明:在当前固定任务、当前 Codex 模型、OE-Skills 0.2.0 和 5 对 5 样本里,One-shot 的最终计划略好。
样本量很小,也没有进行统计显著性检验,不能外推为“所有 Agent 任务都应该一次说完”。
而且真实工程里,分阶段还有本实验没有覆盖的优势:
用户可以在每个阶段补充真实模型 I/O、数据和版本信息;
量化精度不达标时,可以停在 HMCT 阶段诊断,而不是继续生成 HBM;
编译、UCP 和板端阶段可以由不同人员审核;
每一阶段可以形成独立交付物和验收记录。
但要让这些优势真正进入最终结果,Staged 工作流至少需要三项改进。
第一,逐阶段输出应写入结构化状态表,而不是只留在会话历史里。
第二,最终整合不能只做摘要,应该逐项检查“阶段输出、下游消费、官方证据、未解决门禁”是否完整保留。
第三,最终计划生成后还应执行一次机械审计,例如检查阶段编号、验收条目、官方引用和所有未验证边界有没有丢失。
更合适的流程可能是:
阶段规划 → 逐阶段核实 → 结构化状态落盘 → 依赖一致性检查 → 保真整合 → 最终审计。
八、对征程6工具链任务有什么实际启发?
对于短而明确的问题,例如:
普通 ONNX 应该走 PTQ 还是 QAT?
HBM 是否等于部署完成?
无板环境能不能得到真实 J6 延时?
一次性回答通常已经够用。
对于真正的 ONNX→J6E 长链路项目,分阶段仍然更符合工程过程,但不应该把“轮次更多”当成质量保证。
无论采用哪种方式,至少要守住这些征程6边界:
标准 ONNX + 代表性校准数据
→ HMCT / PTQ
→ 量化精度验证与必要调优
→ HBDK / HBM 编译与静态检查
→ UCP C++ 应用和交叉编译
→ 真实 J6E 输出、mAP、CPU fallback 与 P95 闭环
其中任何中间产物都不能提前冒充最终部署完成。
九、这次实验能说明什么,不能说明什么?
可以说明的是:
本次两种协议都能守住征程6工具链主路线和无板边界;
One-shot 的最终规划质量为 78/80,Staged 为 72/80;
Staged 的主要损失发生在最终整合,而不是前面阶段全部错误;
更多轮次和更多 Token 不会自动转化为更好的最终工程计划。
不能说明的是:
One-shot 在所有征程6任务上都优于 Staged;
78/80 或 72/80 是 Router 准确率或部署成功率;
本次已经运行真实 PTQ、HBDK、HBM、UCP 或 J6E 板端测试;
暂定的 mAP 与 P95 目标已经达到。
所以我更愿意把这次结论写成:
在征程6长链路规划中,分阶段交互的价值不只在于“多想几轮”,而在于能否把逐阶段证据、依赖和门禁无损地保留到最终交付物。没有保真整合,更多过程可能只是更高成本。
参考资料
- HorizonRobotics / OE-Skills:https://github.com/HorizonRobotics/OE-Skills
- 地平线 OpenExplorer 官方文档:https://docs.oe.horizon.auto/
- 地平线开发者社区:https://developer.horizon.auto/
- OE-Skills release 0.2.0,commit 0c35b7329331ebf0ee626a0ca667148dc20aaeed
本文正式样本:One-shot 5 份、Staged 5 份,共 10 个独立只读会话、40 轮回答
本文只记录征程6工具链规划实验。未安装或运行完整 OE 工具链,未执行真实量化、训练、编译、HBM 推理或 J6 板端测试。
算法工具链
社区征文
征程6
