Armin 用实际 bug 案例拆解了 Claude 新模型在工具调用上的奇怪倒退,解释了为什么更强的模型反而更不听话,读起来很爽。
Flask/Sentry 工程师 @mitsuhiko 发现,Claude Opus 4.8 与 Sonnet 5 在调用 Pi 的嵌套 edits[] 工具时,会在 edit 对象末尾产生 requireUnique、type、id 等虚构字段,导致 schema 校验失败。此问题在单轮 prompt 下不出现,在长 agentic 历史中复现率约 20%。去掉历史中的 thinking 块后失败率减半,开启 strict 模式后问题消失。作者推测根因是 Anthropic 的 RL 后训练在 Claude Code 的 forgiving harness 中进行,该 harness 接受参数别名和未知键,导致模型学到“edit 操作可多带可选字段”的先验。相比之下,OpenAI 的 harmony 路线在 prompt 中显式标记 JSON 边界并支持约束采样,未出现此回归。
Flask/Sentry 工程师 @mitsuhiko 发现,Claude Opus 4.8 与 Sonnet 5 在调用 Pi 的嵌套 edits[] 工具时,会在 edit 对象末尾产生 requireUnique、type、id 等虚构字段,导致 schema 校验失败。此问题在单轮 prompt 下不出现,在长 agentic 历史中复现率约 20%。去掉历史中的 thinking 块后失败率减半,开启 strict 模式后问题消失。作者推测根因是 Anthropic 的 RL 后训练在 Claude Code 的 forgiving harness 中进行,该 harness 接受参数别名和未知键,导致模型学到“edit 操作可多带可选字段”的先验。相比之下,OpenAI 的 harmony 路线在 prompt 中显式标记 JSON 边界并支持约束采样,未出现此回归。
Claude Opus 4.8 & Sonnet 5 这批更好的模型,工具调用却更差了,真的吗?有点意外! 来自 Flask/Sentry 资深工程师 @mitsuhiko ,他从一次 Pi 的诡异 bug 切入,揭示了一个反直觉趋势:更强的模型,在非主流工具 schema 上反而更不可靠。 lucumr.pocoo.org/2026/7/4/bette… 现象:SOTA 模型在"工具调用"上倒退 Pi 的 …