让 Agent 连夜迁移代码库时,第二天可能发现它只完成一部分,留下“接下来处理剩余端点”的说明后便不再动作,想继续只能再输入“继续”。Opus 5.5 发布后,Anthropic 也注意到这类情况,发布没几天就上线了配套提示词指南,专门处理 Agent 干到一半停下的问题。

Opus 5.5 中途停工:旧 Agent 逻辑误读了结束信号

官方排查清单点名:无人值守的 Agent 汇报完进度后直接停在半路。原因与 Opus 5.5 爱汇报有关。它在长任务中会主动同步进度,但有些汇报结束后不再调用工具,API 返回的 end_turn 只表示这一轮说完了。部分旧逻辑程序把“不再调用工具”当成“任务完成”,于是把进度汇报误认为交差。指南明确,纯文本回合结束只能看作汇报,不能当作任务完成的凭证。问题未必是模型偷懒,而是程序先替它结束了流程。

官方把中途停工归为四类:总结下一步却不调用工具;做一半等用户回复;列出不影响继续执行的拍板事项;完成小阶段就停下总结。原本作为卖点的“沟通更主动、总结更清楚”,放进旧无人值守程序后反而成了停工诱因。官方给出三招:用任务清单拆细任务,发现未完成项且没有卡点说明时自动要求继续;预设完成标准,用更小的模型检查,未达标就发回原因;自动续跑两三次仍卡住,强制交给人复查,避免空转消耗 API 额度。提示词也要说明不允许哪些停法,以及什么情况下才可停。

从 Opus 5 切到 Opus 5.5,还需留意 API 兼容。旧请求不改直接发给新模型,可能被拒绝并返回 400 错误。例如 thinking 不能关闭,设为 disabled 或手动指定 budget_tokens 都会被拒绝;要么不传 thinking,要么设为 adaptive,由 effort 控制思考深度。tool_choice 也不能强制调用工具,设为 any 或指定某个 tool 都会报 400。另有 thinking 块与模型和上下文绑定等改动需要检查。