How-toMulti-sourceSelected72°

Anthropic Explains Why Claude Opus 5.5 Agents Stop Mid-Task

Opus 5.5 干一半就开溜?Anthropic 揭秘:你的程序替它打了下班卡

Why we picked it

The fix belongs in your agent loop, not in the prompt: treat a text-only end_turn as a checkpoint and resume instead of declaring the job done. Developers running unattended Opus 5.5 workflows, especially overnight migrations or long refactors, should update their stop conditions before blaming the model for laziness. Anthropic's own guide contradicts the model's headline selling point of clearer communication, making the official checklist the fastest reference to patch against.

Anthropic published a prompt-engineering guide days after the Claude Opus 5.

Body

5 release to fix a common agent failure: the model stops mid-task and waits for the user to type "continue".The cause is that Opus 5.

5 reports progress proactively, and the API signals end_turn, which older agent code treats as task completion.

Anthropic lists four patterns, including announcing next steps without calling tools, politely pausing for permission, and stopping after each small milestone.

The official guidance says a plain-text turn end should be treated as a progress report, not proof of task completion.

Original · IT之家

Opus 5.5 干一半就开溜?Anthropic 揭秘:你的程序替它打了下班卡

你让 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 这种章节编号,不要等宽字体标签,不要胶囊形按钮。 Opus 5.5 官方指南中的前端示例提示词,点名五种要避开的样式。 模型能听懂具体的「我不要什么」,但听不懂抽象的「我要好看一点」。 翻完这份官方指南,最大的感触是: 模型一路狂奔,很多应用的脚手架却还停在上一代。 过去怕它不动脑,逼着它把推理一步步写出来,现在反倒得劝它少想点;过去费尽心思让它按时汇报,现在它汇报得太勤快,活儿反倒停在了半路。 一个 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

Industry Coordinates & Source Verification

This report is categorized under AITOP's "How-to" desk, focusing on US frontier AI labs and Silicon Valley technology leaders. Within our cross-regional analytical framework, it directly maps to AI developer toolchains, coding agents, and engineering workflows and US-China foundation model benchmarks and commercialization comparison and AI regulation, compliance frameworks, and sovereign compute policy. Key entities and technical topics under continuous tracking include Claude Opus 5.5, Anthropic, agents, prompt engineering.

Source attribution: curated from IT之家. Cross-source corroboration: 11 independent sources have covered this development (including 宝玉, Riley Goodside, orange.ai), confirming industry-wide signal strength.