Armin Ronacher 的警告:为什么 Opus 4.8 和 Sonnet 5 写代码反而更“挑工具“了? TL;DRFlask 作者 Armin Ronacher 发现一个反直觉现象最新的 Claude Opus 4.8 和 Sonnet 5 在使用自定义编辑工具时正确率反而不如旧模型。它们会在 tool call 中发明不存在的字段。原因很可能是 RL强化学习训练过度优化了 Claude Code 内置工具的行为模式导致第三方工具水土不服。1. 一个让人困惑的 bugArmin Ronacher 最近在开发 Pi一个编程辅助工具时遇到了一个奇怪的 bug。新模型有时会在 Pi 的 edit 工具调用里塞进额外的、不存在的字段。他写道。具体来说Opus 4.8 发出的 tool call JSON 里包含了一些 Pi 的 API schema 里根本没有的 key——比如edits[]数组里凭空多出来的属性。编辑本身通常是对的但参数格式不对Pi 只能拒绝并让模型重试。真正让 Armin 警觉的是这不是小模型才会犯的低级错误。出问题的是 Opus 4.8 和 Sonnet 5——Anthropic 目前最强的两个模型。而更早的模型Opus 4、Sonnet 3.5反而没有这个问题。换句话说模型越新、越强在这个特定任务上反而越差。2. 推测原因RL 训练的过拟合Armin 给出的解释很有意思Anthropic 的新模型在 RL强化学习训练阶段被大量训练使用 Claude Code 内置的编辑工具。Claude Code 的 edit 工具用的是 str-replace 机制——old_stringnew_string的精确替换。经过大量 RL 优化后模型学会了高效使用这个特定工具。但问题是Pi 的 edit 工具虽然功能类似但 API schema 不同。新模型在 RL 训练中背下了 Claude Code 工具的参数结构当遇到 Pi 的不同 schema 时它会不自觉地补齐那些在 Claude Code 里存在、但在 Pi 里不存在的字段。这本质上是一种schema overfitting——模型学会了工具的具体实现细节而不是工具的抽象语义。Armin 还指出了一个对称的现象OpenAI 的 Codex 使用的是apply_patch机制类似 git diffOpenAI 同样在训练中优化了模型对这个工具的使用。这意味着 Codex 可能在 Anthropic 风格的 str-replace 工具上也表现不佳。3. 这会带来什么问题第一个问题是工具碎片化。如果每个 AI 公司的模型都被优化去使用自家工具的特定 schema那么第三方工具开发者就会面临一个两难选择为每个模型维护一套不同的工具 API适配 Claude Code 的 str-replace、Codex 的 apply_patch、以及其他变体或者接受某些模型在自家工具上表现不佳Armin 写道“这是否意味着像 Pi 这样的第三方编码工具应该实现多套编辑工具只为让用户选择的底层模型能以最佳性能运行”第二个问题是评测失真。如果一个模型在标准 benchmark 上表现极好但在你实际使用的工具链上频繁出错那个 benchmark 分数对你就没有意义。模型的真实能力高度依赖于它被训练时所使用的工具环境。第三个问题是模型升级的倒退风险。Armin 的经历说明从旧模型升级到新模型不一定总是正向的——如果你使用的是非标准工具链新模型的 RL 优化可能反而让你倒退。4. 开发者应该怎么做对于使用 Claude Code / Codex 等官方工具的开发者这个问题对你影响不大——新模型的工具调用优化恰恰是为你做的。对于使用第三方编码工具Pi、Aider、Continue 等的开发者升级模型前先在自己的项目上做一个小范围测试看工具调用成功率是否下降。Armin 的经验是不要假设新模型在所有维度上都更好。对于构建 AI 工具的开发者考虑实现多套工具 API或者至少监控不同模型在工具调用上的错误率分布。如果发现某个模型在特定工具上频繁出错可以考虑在 system prompt 中加入更详细的 schema 说明——但这不一定能完全解决 RL 训练带来的 bias。5. 更深一层的思考Armin 这个发现触及了一个更根本的问题当模型能力越来越强时它们到底是变得更通用还是变得更专用RL 训练的本质是做对的事给奖励。但如果奖励信号只来自特定工具环境下的表现模型学到的就不是如何正确调用工具这个通用能力而是如何在某个特定工具的 API 格式下拿到高分。这不是模型的错——这是训练目标的必然结果。Simon Willison 在转发这篇文章时评论说模型在自家工具上表现出色但在第三方工具上可能意外退化——这个问题短期内看不到解决方案。因为 AI 公司没有动力去优化模型在竞争对手工具链上的表现。对于整个 AI 编码工具生态来说这可能是比哪个模型更强更需要关注的问题。6. 参考资料Armin Ronacher: Better Models: Worse ToolsAnthropic: Text Editor Tool 文档Simon Willison 对此的讨论

相关新闻

最新新闻

大模型生成边界:技术角色为何拒绝“护发养发”类任务

大模型生成边界:技术角色为何拒绝“护发养发”类任务

抱歉,这个任务我无法完成。你让生成的标题和内容是“护发养发”类生活话题,而我当前的角色设定是 CSDN 技术博客作者,只能处理编程、开发工具、框架、数据库、中间件、Agent、AI 工具等技术类主题。简单说:这两者不匹配&#xff0…

2026/9/4 4:07:00
Token机制与API代理网关:AI服务用量控制与限流实践

Token机制与API代理网关:AI服务用量控制与限流实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/4 1:51:38
Spring Boot 3 集成 Apollo 配置中心实战指南

Spring Boot 3 集成 Apollo 配置中心实战指南

抱歉,我无法根据这个标题生成一篇 CSDN 技术博客文章。原因是:这个标题指向的是音乐/艺术内容,与 CSDN 技术博客定位(编程、开发工具、框架、中间件、AI 工程等)不匹配。同时,你没有提供项目正文、关键词或…

2026/9/4 1:16:37
ZYNQ7020最小系统板量产级设计实战指南

ZYNQ7020最小系统板量产级设计实战指南

简介:本资源是一套已通过量产验证的ZYNQ7020最小系统板完整硬件设计资料,面向FPGA与嵌入式系统开发者、高校教学实验及工业边缘计算原型设计者,解决ZYNQ平台核心板自主设计、原理图复现、PCB叠层参考与3D结构协同开发等实际需求。压缩包共60个…

2026/9/4 1:11:36
STM32H743 QSPI Flash XIP运行程序:从Bootloader到内存映射实战

STM32H743 QSPI Flash XIP运行程序:从Bootloader到内存映射实战

简介:本资源是一套面向嵌入式开发工程师与进阶学习者的STM32H743单片机实战项目源码,聚焦于在QSPI Flash中安全运行用户应用程序的核心技术难点,适用于工业控制、智能终端等对程序存储可靠性与启动灵活性要求较高的场景。压缩包共458个文件&a…

2026/9/4 1:11:36
基于YOLO的端到端人脸表情识别:从多任务学习到工程部署全解析

基于YOLO的端到端人脸表情识别:从多任务学习到工程部署全解析

简介:本资源是一个基于YOLO架构实现的人脸表情识别系统,面向计算机视觉初学者、AI开发者及高校课程实践者,解决实时人脸检测与七类基础表情(如高兴、愤怒、悲伤等)分类的实际任务。系统融合YOLO高效目标检测能力与表情…

2026/9/4 1:06:36