阿尔明·罗纳谢尔:更好的模型:更差的工具 笔记

阿尔明·罗纳谢尔:更好的模型:更差的工具

近期,Anthropic 的模型(特别是 Opus 4.8 和 Sonnet 5)在 Pi 的编辑工具上表现出一种异常问题。这些先进模型有时会生成包含嵌套编辑数组中额外虚构字段的工具调用。虽然核心编辑操作通常正确,但这些多余的参数会导致 Pi 因模式不匹配而拒绝工具调用。此问题在新发布的、最先进的模型中比旧模型更为普遍。工具调用本质上是 API 解释的基于文本的信号,而非某种魔法过程。模型是在特定格式上进行训练的,并输出系统识别为调用具有特定参数的工具的命令的文本。该文本描述了一个编辑工具,其期望文件路径和编辑内容具有特定的负载结构。若无约束,模型会依赖习得的惯例来生成这些工具调用。失败表现为模型在编辑对象中附加了虚构的键,如"requireUnique"或"oldText2"。尽管实际要编辑的文本是正确的,但这些伪造的字段会导致验证错误。该问题似乎具有上下文依赖性,常出现在包含大量对话的代理历史中,而非简单的单轮提示。测试发现,使用严格的工具调用方式显著降低甚至消除了失败率。作者推测这种回退是训练产物,认为新模型是在类似于 Claude Code 内部框架的环境中训练的。该框架以宽容著称,通过重试或过滤未知键来处理格式错误的工具调用。这种宽容的环境可能无意中教会模型:只要核心任务完成,添加多余字段是可以接受的。此类训练会形成对特定工具模式的强先验,使模型难以适应不同或更严格模式定义(如 Pi 的模式)。"Slop 框架”指代 Claude Code 的宽容特性,包括处理泄露的标记、修复 Unicode 序列、接受参数别名等功能。它还会静默丢弃意外键,并避免严格模式(严格模式自身存在复杂性限制)。作者表示担忧:工具模式对 Anthropic 模型可能并非中立,模型可能会因偏离某种特定、未文档化的宽容工具生态而受到隐性惩罚。这与 Codex 等模型形成对比,后者似乎能更好地适应各种工具形态。该问题凸显了特定环境中的强化学习如何以意想不到的方式塑造模型行为。