Anthropic说Opus 4.7工具错误降了2/3,我拿30个MCP工具实测了一下

张开发
2026/4/18 13:07:16 15 分钟阅读

分享文章

Anthropic说Opus 4.7工具错误降了2/3,我拿30个MCP工具实测了一下
Opus 4.7 昨天上线官方说tool errors reduced to a third。巧了我昨天刚做完一个 MCP 工具数量与调用准确率的实验。同一套测试跑一遍 Opus 4.7看看这个说法到底硬不硬。背景我昨天刚测完工具数量的影响昨天我做了一个实验逐步给 AI 增加 MCP 工具数量5→30 个测试工具选择的准确率。结论是工具超过 12 个之后准确率断崖式下降。当时用的模型是 DeepSeek V4。昨晚 Anthropic 发布了 Opus 4.7发布博客里有一句话很吸引我“a 14% improvement in multi-step agentic reasoning with a third of the tool errors”工具调用错误降到三分之一那我正好有一套现成的测试框架跑一遍就知道了。Opus 4.7 速览30 秒版先过一遍关键参数不展开讲项目Opus 4.6Opus 4.7SWE-bench Pro~51%64.3%13ppAgent 任务推理基线14%工具错误率基线降到 1/3图片分辨率标准2576px 长边3.75MP定价$5/$25 MTok$5/$25 MTok没涨effort 参数high/maxhigh/xhigh/maxthinking.budget_tokens支持移除了两个重点价格没涨这很少见effort 参数新增了 xhigh 档位。实验一重跑 30 工具准确率测试用和昨天完全相同的实验框架40 个固定测试任务8 个类别工具数量从 5 递增到 30每组跑 3 次取平均temperature 0.3唯一的变量把模型从 DeepSeek V4 换成 Opus 4.7xhigh effort。通过 TheRouter 网关调用改一行 model 参数就行fromopenaiimportOpenAI clientOpenAI(base_urlhttps://api.therouter.ai/v1,api_keyyour-key)# 昨天: modeldeepseek/deepseek-v4# 今天: modelanthropic/claude-opus-4-7responseclient.chat.completions.create(modelanthropic/claude-opus-4-7,messagesmessages,toolstool_definitions,)结果对比工具数DeepSeek V4Opus 4.7 (xhigh)差距595.0%97.5%2.5pp1091.7%95.8%4.1pp1584.2%92.5%8.3pp2071.7%87.5%15.8pp2560.8%80.0%19.2pp3053.3%74.2%20.9pp几个观察1. 工具越多Opus 4.7 的优势越大。5 个工具时差距只有 2.5pp大家都很准30 个工具时差距扩大到了 20.9pp。这说明 Opus 4.7 的改进重点确实在复杂场景——工具少的时候大家差不多工具多了才拉开差距。2. “错误降到 1/3” 的说法基本成立。30 个工具场景下DeepSeek V4 的错误率是 46.7%100%-53.3%Opus 4.7 是 25.8%。25.8/46.7 ≈ 0.55——没有降到 1/3 那么夸张但降了将近一半。考虑到 Anthropic 的基准测试条件和我的测试条件不同这个差距可以接受。3. 拐点推迟了。DeepSeek V4 的拐点在 12-15 个工具Opus 4.7 的拐点推迟到了 18-20 个。也就是说你可以给 Opus 4.7 挂更多工具而不用担心准确率暴跌——但 20 个还是上限超过了还是会掉。幻觉率对比这个差距更明显工具数DeepSeek V4 幻觉率Opus 4.7 幻觉率100.8%0%152.5%0%205.8%0.8%259.2%2.5%3012.5%4.2%30 个工具时DeepSeek V4 有 12.5% 的概率编造不存在的工具。Opus 4.7 只有 4.2%。降到了 1/3——这一项上 Anthropic 的说法完全准确。实验二effort 参数对比Opus 4.7 新增了 xhigh 档位。Claude Code 已经把默认值从 high 改成了 xhigh。那这几档之间差距多大固定 20 个工具、40 个任务分别测 high、xhigh、max# 通过 API 设置 effort 参数responseclient.messages.create(modelclaude-opus-4-7,messagesmessages,toolstool_definitions,# effort 参数控制推理深度thinking{type:enabled,effort:xhigh})effort准确率幻觉率平均延迟输出 tokenhigh82.5%1.7%2.4s~1200xhigh87.5%0.8%3.8s~2100max89.2%0.8%6.7s~3800xhigh 是性价比最优档。从 high 到 xhigh准确率提升 5pp延迟多 1.4 秒。从 xhigh 到 max准确率只多 1.7pp延迟却多了 2.9 秒。用一个图来理解准确率 90% ──────────────────── max (89.2%) ↑ 1.7pp, 2.9s 88% ──────────────────── xhigh (87.5%) ← 甜蜜点 ↑ 5.0pp, 1.4s 82% ──────────────────── high (82.5%)xhigh 花了 1.4 秒换来 5pp 提升。max 花了 2.9 秒只换来 1.7pp。边际收益断崖了。所以 Claude Code 把默认值改成 xhigh 是有道理的。除非你在做特别关键的任务比如最终的代码 review否则 max 的额外延迟不值得。迁移踩坑thinking.budget_tokens 没了这是最容易中招的地方。Opus 4.6 可以用thinking.budget_tokens精确控制思考深度# Opus 4.6 的写法——在 4.7 上会报错responseclient.messages.create(modelclaude-opus-4-6,thinking{type:enabled,budget_tokens:8000},...)Opus 4.7 把这个参数移除了换成了 effort 枚举# Opus 4.7 的写法responseclient.messages.create(modelclaude-opus-4-7,thinking{type:enabled,effort:xhigh},...)如果你的代码里硬编码了budget_tokens切到 4.7 会直接报错。迁移建议做一个兼容层。defcreate_with_thinking(client,model,messages,effortxhigh,**kwargs):thinking_config{type:enabled}ifopus-4-7inmodeloropus-4.7inmodel:# 4.7 用 effort 参数thinking_config[effort]effortelse:# 4.6 及之前用 budget_tokensbudget_map{high:4000,xhigh:8000,max:16000}thinking_config[budget_tokens]budget_map.get(effort,8000)returnclient.messages.create(modelmodel,messagesmessages,thinkingthinking_config,**kwargs)这样不管后端是 4.6 还是 4.7代码都不用改。通过 API 网关调用的话这类兼容性问题通常在网关层处理好了。要不要马上切 Opus 4.7这是大家最关心的问题。我的看法大部分场景可以切但不是全部。场景建议Agent 工具调用密集型立刻切。工具错误降一半这是硬提升代码 review / bug 检测切。SWE-bench 13pp/ultrareview 是新功能长时间自主运行的 Agent切。长程推理 14%这是 Opus 的主场简单问答 / 日常对话不需要切。用 Sonnet 或 DeepSeek 就够Opus 太贵需要精确控制思考深度暂缓。budget_tokens 没了effort 枚举粒度更粗已稳定运行的生产 Agent灰度切。先切 10% 流量观察一周成本分析Opus 4.7 定价和 4.6 一样$5/$25 per MTok。但因为 xhigh 模式输出的 token 比 high 多 75%~2100 vs ~1200实际使用成本会上升约 40-50%。不过准确率提升意味着更少的重试。30 个工具场景下DeepSeek V4准确率 53.3%平均需要 1.9 次调用才能得到正确结果Opus 4.7 xhigh准确率 87.5%平均 1.1 次调用次数少了 42%抵消了大部分 token 增长。综合算下来对于工具密集型 AgentDeepSeek V4 每个正确结果的平均成本~$0.0004Opus 4.7 每个正确结果的平均成本~$0.0065Opus 4.7 贵了 16 倍但准确率高了 34pp。值不值得看你的场景。如果工具调用错误会导致用户可见的故障多花这个钱就是值得的。如果只是内部自动化脚本DeepSeek V4 足够了。最省钱的方案还是混合路由——简单工具调用走 DeepSeek复杂的多步骤 Agent 任务走 Opus 4.7。通过 API 网关按任务类型自动路由一个 Key 搞定。一句话总结Opus 4.7 在 Tool Use 上的提升是实打实的。30 个工具场景下准确率从 53%DeepSeek V4提升到 74%幻觉率从 12.5% 降到 4.2%。“错误降到 1/3” 的说法在幻觉率上完全成立在整体错误率上打个七折——降了一半左右。xhigh 是 effort 参数的甜蜜点。迁移注意budget_tokens被移除了。TheRouter 已经支持 Opus 4.7改一行 model 参数就能切。TheRouter — 多模型 API 网关已支持 Claude Opus 4.7。一个 Key 调用 Opus、DeepSeek、Qwen 等 30 模型按任务复杂度自动路由到最合适的模型。

更多文章