• 回答数

    0

  • 浏览数

    3

  • 收藏数

    0

作者:nbman 发表于 29 分钟前
跳转到指定楼层
AI 总结
• Anthropic 发布 Opus 5.5 后,开发者发现模型在无人值守时频繁「半路溜号」,官方指南指出这是因模型爱汇报且主动发送 end_turn 信号,而旧代码误将此解读为任务完成,导致程序提前停止。
• 官方将此类停工归结为四种情况:纸上谈兵、过分礼貌、假装请示及汇报强迫症,并建议采用任务清单自动续跑、使用小模型作为验收员检查达标情况,以及设定多次失败后的硬刹车机制。
• 从 Opus 5 迁移至 Opus 5.5 需处理四处 API 变更:thinking 参数不再支持 disabled 或手动指定 budget_tokens、tool_choice 不能再强制指定工具、thinking 块绑定模型与上下文,以及旧版电脑操作工具的下线。
• Opus 5.5 的思考内容默认不显示(omitted)但照常计费,且 max_tokens 包含思考量,旧配置可能导致界面看似卡死或回答被截断,建议前端将 display 设为 updates 或 summarized。
• 在成本调控方面,Opus 5.5 同档位下思考量远大于 Opus 5,官方建议从 medium 档起步并根据实际需求调整,而非直接沿用旧项目的 high 档设置,以避免 token 消耗激增。

你让 AI Agent 连夜迁移一个代码库。第二天一早,满怀期待地打开终端,没想到只看到这样一条消息:

已完成 3 个接口迁移,接下来我将处理剩余两个端点,并补上测试。

然后,就没有下文了。想让它干完剩下的活,你还得再敲两个字:继续。本以为它会一口气干到底,结果它只给你画了张「下一步」的饼,程序就替它打卡下班了。这不是某一个人的倒霉经历。



Opus 5.5 一发布,跑 Agent 的开发者就发现,模型能力是强了,可干着干着就爱停下来,你不催它就不动。

Anthropic 自己也看到了。发布没几天,配套的提示词指南已经挂了出来,专门给这类毛病打补丁。



在开篇的排查清单里,官方直接点名了这种「半路溜号」:

无人值守的 Agent 汇报完进度,直接停在了半路。

背后的原因,你可能想不到:Opus 5.5 太爱汇报了。

干长活时,它会主动向你同步进度。问题是,有些汇报发完,它就不再动手了,API 给出的信号是 end_turn,意思是「这一轮我说完了」。

可不少沿用旧逻辑的 Agent 程序只认一条死规矩:模型不再调用工具,就算活干完了。

一份进度汇报,就这样被当成了交差。



这一点,官方指南说得也很清楚:

纯文本的回合结束,应该看作一份汇报,绝不能当作任务完成的凭证。

所以,真正的问题是,AI 压根没想偷懒,是你的程序先替它打了下班卡。
【害人的优等生习惯】
官方把这种半路停工归结成了四种情况,只要你经常跑 Agent,大概率都遇到过。

第一种,纸上谈兵。

写了一大长篇总结,结尾宣布下一步要做什么,却压根没调用任何工具,下一步永远停在口头上。

第二种,过分礼貌。

干着干着,突然停下来问一句「如果您不介意,我接下来继续处理某某」,然后原地挂机,等你这个根本不在电脑前的人去回复它。

第三种,假装请示。

列出一大串需要你拍板的决策项,但实际上按它自己的说法,这些决策根本不影响它继续干剩下的活。

第四种,汇报强迫症。

模型觉得当前回合字数够多了,或者刚好做完一个小阶段,非得停下来向你做个总结。

有点讽刺的是,在 Opus 5.5 的官方宣传里,「沟通更主动、总结更清楚」恰恰是它的核心卖点。

谁能想到,这些优等生的好习惯,一放进旧的无人值守程序里,反倒成了停工的诱因。


【官方三招:把验收权从 AI 手里拿回来】
怎么让它接着干,又不至于陷入无限死循环?

官方给出了三招。

第一招,任务清单。

把大任务拆成细项,交给待办工具或文本去维护,让模型边做边勾选。

回合结束时,如果清单上还有没做完的任务,模型也没解释被什么卡住了,你的应用就得自动发条消息,点名让它接着干。



官方给出的续跑示例:「你的任务清单还有未完成项:迁移剩下两个端点,并更新它们的测试。继续做。如果哪项被卡住,说明卡在哪里。」

第二招,铁面验收员。

事先定好完成的标准。每次回合结束,甩给一个更小的模型去对照检查。没达标?把没达标的原因当成下一条消息再塞给它,让它返工。

第三招,硬刹车。

同一个任务如果自动续跑两三次还卡在原地,必须强制停下来交给人复查。真卡死的任务,千万别让它把你的 API 额度空转烧光。

除此之外,提示词也得跟上。

官方给了一段可以直接抄的系统提示词,说白了就是两头堵:

既要明说绝对不想要上述四种停法,也要说清楚什么时候才准停,比如离了用户真推不下去,或者碰到了被刻意保护的核心资源。

【旧代码为什么突然报 400 错误?

】

如果说干一半停工只是磨洋工,那下面这些迁移陷阱就是直接让程序崩溃了。

从 Opus 5 切换到 Opus 5.5,有四处 API 改动。原来给 Opus 5 写的请求,不改就发给新模型,会被直接拒绝,返回 400 错误。

1. thinking 参数不能再关了。

如果你把 thinking 设为 disabled,或者手工指定了 budget_tokens,系统会直接拒绝请求。要么别传 thinking 字段,要么设为 adaptive,让 effort 参数来控制思考深度。

2. tool_choice 不能再强制调用工具。

把 tool_choice 设为 any 或者指定某一个 tool,都会报 400。官方建议用 auto,配合严格工具调用或结构化输出,再在提示词里说清什么时候用哪个工具。

3. thinking 块绑定了模型和上下文。

2026 年 8 月 31 日之后创建的账户,中途改了系统提示词、工具或历史消息,再回放旧的 thinking 块,默认会直接报错。只追加、不改写的用法不受影响。

4. 旧版电脑操作工具下线。

在 Claude API 和 Google Cloud 上,要换成 computer_toolset_20260801。Amazon Bedrock 上,旧的 computer_20251124 照样能用。

还有那些不报错的暗坑。

第一个,看不见干活过程。

在 Opus 5 上,模型在两次工具调用之间写的进度文字,是普通的正文(text 块)。

到了 Opus 5.5,这些文字被挪进了思考块(thinking 块),而思考块默认不显示内容(display 为 omitted),返回时是空的。

如果你的界面只显示正文,长任务跑起来就是一片安静。请求一个都没失败,用户却以为它卡死了。

解法是把 display 设为 updates(beta),只拿进度摘要;或者设为 summarized,进度和推理摘要一起返回。

第二个,回答被截断。

max_tokens 管的是思考加正文的总量。过去关掉思考时定的上限,现在可能不够用,回答写到一半就断了。

第三个,看不见推理,照样烧 token。

思考内容就算不返回给你,也照样按输出 token 计费。

处理返回结果的代码里,还有两个地方容易忘了改。

一是读结果时要分清类型。模型返回的内容里,思考和正文是分开的,别想当然地把第一段当成回答。

二是来回调用工具时,模型的思考记录要原封不动地传回去。删掉一段、改几个字、调换一下顺序,都会被拒。

这份清单针对的是自己调用 Messages API 写代码的开发者。

用 Claude Managed Agents 的,只需要改个模型名。
【同样的 medium 档,已经不是当年的味道】
既然思考关不掉,effort 就成了调控成本唯一的旋钮。

Opus 5.5 支持从 low 到 max 五档

[来源链接] https://www.ithome.com/1/007/442.htm
分享:
回复

使用道具

成为第一个回答人

高级模式 评论
您需要登录后才可以回帖 登录 | 立即注册
⚠️

AI客服助手

⇲ ×
AI
您好!我是AI客服助手,有什么可以帮助您的吗?

请先登录后使用AI客服助手

立即登录
内容由非常AI大模型生成,仅供参考,相关风险需自行承担。

赚钱

会员VIP

留言板

商务合作

联系电话:17308937318

QQ邮箱

QQ:118275

邮箱:118275@qq.com

友情链接