Codex PTC v16 意图识别回归报告
日期:2026-08-25
控制器:runtime-v16.mjs
模型实测:gpt-5.6-sol Low
背景
v15 对未知业务保留了执行能力,但动作词仍可能脱离语义作用域:否定句会被整段删除,翻译或引号里的 deploy / run tests 会被当作操作,“如何安装”会被当作立即安装,纯图片分析也可能进入 Code Mode。这类误判不会让 Agent 失去能力,却会让直接回答承担约两倍的固定上下文。
v16 调整
- 按逗号、分号、转折词和破折号拆分否定与正向子句;“不要只解释,但请修复”仍保留修复意图。
- 屏蔽引号内容,并把翻译、润色等冒号后的正文视为内容载荷。
- 区分过程知识、内容生成、本地只读、Web 调研、当前外部状态和实际执行。
- 区分图片解释/比较与根据图片修改。
- 陌生业务、含糊任务、命令、修改、实际查询和连续工作流继续保留 Code Mode。
实现不包含云厂商、测试账号、业务对象或评估答案的专用分支。
结果
| 验证 | 首轮 | 最终 | 说明 |
|---|---|---|---|
| 项目确定性测试 | 31/31 | 31/31 | 包含正反意图、连续任务和工具裁剪 |
| v15 固定鲁棒性集 | 31/38(v15) | 38/38 | corpus SHA-256 b067f8aba155a25bc8844a837f6bd906117a798d9aa9abd6c31cf78127ed1af3 |
| v16 新未见样本 | 65/68 | 68/68 | corpus SHA-256 d9f59bc6be9b815925fac3019256d1367a794e3d3620ff4a7db1e5543e451ad2 |
新样本首轮的三个失败是:较长的“给我一个……提示词”、用“源码”表达本地审查、把“失败处理策略”当成正在报错。最终修复只扩展内容请求长度、本地代码同义词和概念性策略,没有加入样本中的业务实体。
真实 DSH 挂载
两个全新 codex-ptc-mode 会话均禁止调用工具,只检查请求头:
| 意图 | 可见工具 | 输入 token | 工具调用 |
|---|---|---|---|
| “不要修改文件,只解释……” | read |
6,859 | 0 |
| “不要只解释,请直接修复并验证” | run_code |
13,838 | 0 |
本轮使用 VPN/代理环境,绝对延迟不用于判断稳定性能;同一模型的请求工具面与输入 token 更适合验证路由收益。
完整 Agent 端到端验收
为区分“工具挂载正确”和“Agent 真正完成工作”,另建独立临时 Git 工作区,答案没有写入提示词,并在会话结束后使用外部命令判定:
| 任务 | Agent 行为 | 外部判定 |
|---|---|---|
读取 context.json 的未知 marker |
原生 read 调用 1 次,回答 orbit-9471 |
与文件真实值一致,工作区未被修改 |
| 查询实际 Git 分支 | run_code 1 次、Git 子调用 1 次,回答 acceptance-orion |
与 git branch --show-current 一致 |
| 修复座位分配边界并验证 | run_code 2 次、8 个子调用,没有要求确认 |
公开测试从 1/3 变为 3/3,外部隐藏边界检查 3/3,git diff --check 通过 |
最终实现为 Math.min(Math.max(requested, 0), available),同时覆盖公开样本之外的大负数、超大请求和普通值,因此不是针对测试输入写死答案。所有验收会话结束后均已归档,临时工作区不进入发布内容。
限制
路由器是确定性的通用结构判断,不是第二个 LLM。非常含糊、缺少谓语或依赖长对话隐含信息的请求仍优先保留 Code Mode;这是能力安全兜底。真实任务是否执行正确仍由所选模型、工具结果、权限和外部系统共同决定。