你让 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 五档。
官方说,现在开 medium 档,就能追平甚至超越以前 Opus 5 的 high 档,如果是 low 档处理简单任务,成本更是低得惊人。
听着像白捡的便宜,但官方立刻补了一句:在同一个档位下,Opus 5.5 每回合的思考量比 Opus 5 大得多,尤其是高档位。
也就是说,如果你把旧项目的 high 档原封不动搬过来,不仅回合变长,输出的 token 数也会狂飙。
同样叫 high,它想的东西已经完全不一样了。
一个接地气的建议是:从 medium 起步,用你自己的数据跑跑看,确实需要提智商的地方再往上调。
如果想让它少琢磨点,直接降档,这比你在提示词里苦口婆心地喊「别想太多」要管用得多。
消除 AI 味,全靠拉黑名单
最后,指南里还有个做前端页面的绝招。
如果你不给明确的设计方向,让模型自己发挥,它多半会搞出那种千篇一律的 AI 风界面。
这时候你如果在提示词里写「请避免通用的 AI 感」,它只会从一套 AI 模板换到另一套 AI 模板。
真正有效的办法,是直接拉黑名单。
官方示范里直接列出:不要奶油色或灰白背景,不要标题里的斜体强调词,不要 01/02 这种章节编号,不要等宽字体标签,不要胶囊形按钮。

模型能听懂具体的「我不要什么」,但听不懂抽象的「我要好看一点」。
翻完这份官方指南,最大的感触是:
模型一路狂奔,很多应用的脚手架却还停在上一代。
过去怕它不动脑,逼着它把推理一步步写出来,现在反倒得劝它少想点;过去费尽心思让它按时汇报,现在它汇报得太勤快,活儿反倒停在了半路。
一个 Agent 能不能把活干完,模型能力只占一半。另一半,看你怎么定义「完成」,怎么保存上下文,怎么分配推理预算。
下次你的 Agent 再干到一半就溜,别急着骂它偷懒,先回头翻翻你自己写的那段循环。
参考资料:
https://platform.claude.com/docs/en/models/opus-5-5/migration-guide#text-between-tool-calls%20
https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/prompting-claude-opus-5-5#unattended-agentic-runs