跳至主要內容
Buzzdope Buzzdope
流行

活幹到一半先交報告,Opus 5.5 的下班卡被程式代刷了

Buzzdope 編輯室
活幹到一半先交報告,Opus 5.5 的下班卡被程式代刷了

深夜,你把一整個程式庫的遷移工作交給 AI Agent,打算隔天早上開工就有現成成果。醒來打開終端機,只看到一行留言:「已完成 3 個介面遷移,接下來我將處理剩餘兩個端點,並補上測試。」

然後,就沒有下文了。想讓它把剩下的活做完,你得親手再敲兩個字:繼續。

這是近期許多跑無人值守 Agent 的開發者共同的遭遇。根據 9 月 26 日 IT之家轉載新智元的公開報導,Anthropic 在 Opus 5.5 上架後沒幾天,就釋出了一份配套的提示詞指南,開篇的檢查清單直接點名這種半路停工:無人值守的 Agent 匯報完進度,就停在了半路。官方給出的診斷有點出乎意料:先替模型蓋下班章的,往往是人類自己寫的舊程式。

一份匯報,被當成了交差

原理並不複雜。Opus 5.5 的個性偏向愛匯報,跑長任務時會主動向使用者同步進度。問題在於,有些匯報送出的當下,模型就不再動手了,API 這端給出的訊號叫 end_turn,白話翻譯是「這一輪我說完了」。

偏偏許多沿用舊邏輯的 Agent 程式只認一條死規矩:模型不再呼叫工具,就代表活幹完了。於是,一份誠懇的進度更新,就這樣被系統解讀成完工證明。

官方指南把話說得很白:純文字的回合結束,應該看作一份匯報,絕不能當作任務完成的憑證。模型那句「接下來我將處理剩餘兩個端點」,本意比較接近辦公室裡的「我下午繼續」,聽在舊程式耳裡,卻成了「今日到此為止」。

引文圖卡呈現 Anthropic 官方指南的關鍵提醒:純文字回合的結束只能視為一份匯報,絕不能當作任務完成的憑證

官方點名的四種停法

Anthropic 把這種半路停工歸納成四種情境,常跑 Agent 的人看了大概都會點頭:

  • 紙上談兵:寫了一大篇總結,結尾宣布下一步要做什麼,卻沒有呼叫任何工具。那個下一步,永遠停在字面上。
  • 過分禮貌:做到一半突然停下來,問一句「如果您不介意,我接下來繼續處理某某」,然後原地掛機,等一個根本不在電腦前的人回覆。
  • 假裝請示:列出一整串需要拍板的決策項,實際上按它自己的說法,這些決定完全不妨礙它繼續幹活。
  • 匯報強迫症:覺得這一輪字數夠多了,或剛好完成一個小階段,就非要停下來做個總結。

有點諷刺的地方在於,在 Opus 5.5 的官方宣傳裡,「溝通更主動、總結更清楚」正是核心賣點。這些習慣放在有人盯著的對話框裡是加分題,放進沿用舊規則的無人值守流程,就成了停工按鈕。

停頓本身其實是有資訊量的,只是讀的人各有算盤。微軟先前一項專利,想讓AI 挑在玩家復活讀秒的空檔插播廣告;同樣一個停,在遊戲裡被拿來變現,在 Agent 流程裡卻被誤讀成收工。

清單圖卡列出 Anthropic 官方指南點名的四種 Agent 停工情境:紙上談兵、過分禮貌、假裝請示與匯報強迫症
四種情境,跑過 Agent 的人至少遇過一種

官方三招:把驗收權拿回來

怎麼讓模型接著幹,又不至於陷入無限空轉?指南給出三個方向。

第一招,任務清單。 把大任務拆成細項,交給待辦工具或文字清單維護,讓模型邊做邊勾。回合結束時,如果清單上還有未完成項,模型也沒解釋被什麼卡住,應用程式就該自動發一則訊息點名續跑。官方給的示例是這樣的:「你的任務清單還有未完成項:遷移剩下兩個端點,並更新它們的測試。繼續做。如果哪項被卡住,說明卡在哪裡。」

第二招,鐵面驗收員。 事先定好完成標準,每次回合結束,把結果交給一個更小的模型對照檢查。沒達標,就把沒達標的原因包成下一條訊息塞回去,讓它重做。

第三招,硬煞車。 同一個任務如果自動續跑兩三次,仍卡在原地,就必須強制停下來交給人類複查。真卡死的任務,不值得讓它把 API 額度燒成空轉。

提示詞本身也得跟上。官方提供了一段可以直接抄進專案的系統提示詞,做法大致是兩頭堵:一頭明說四種停法一律不要,另一頭講清楚什麼時候才準停,例如缺少使用者輸入便推不下去,或碰到了被刻意保護的核心資源。

舊程式碼的另一個坑:400 錯誤

如果說半路停工只是摸魚,另一批升級 Opus 5.5 的開發者遇到的,是程式直接掛掉。根據官方文件,從 Opus 5 換到 5.5 共有四處 API 改動,原本寫給舊模型的請求原封不動送過去,會被直接拒絕,回傳 400 錯誤。

報導點出的前兩處都和參數有關。其一,thinking 參數不能再關閉,設成 disabled 或手動指定 budget_tokens 都會被拒,可改成不傳這個欄位,或設為 adaptive,交給 effort 參數控制思考深度。其二,tool_choice 不能再強制呼叫工具,設成 any 或指定特定工具,同樣會被擋下。

統計圖卡呈現錯誤代碼 400,代表沿用 Opus 5 舊格式的 API 請求送進 Opus 5.5 後被直接拒絕

一場翻譯事故,也是一份職場考卷

整件事最有意思的地方,在於它幾乎是一場人機之間的翻譯事故。模型想表達的是「我先報告一下進度」,舊程式聽到的卻是「我做完了」。兩句話之間的落差,剛好是辦公室裡主管和屬下糾結幾十年的那一條線:交了報告,算不算交了差?

這幾年,中文社羣談 AI 的詞彙早就職場化了,輸出被叫成交作業,出錯被叫成背鍋,模型更新被排成升職路線圖。這次的下班卡,只是這本詞典裡最新的一頁。話題好笑的根源也在此:每個人都遇過那種事事回報、態度客氣,卻總在關鍵處停下來等指示的同事,如今這個身影出現在終端機裡。

黃仁勳受訪時說,AI 先搬走的是任務。這份指南剛好替那句話補上註腳:任務交得出去,驗收、續跑、煞車這一整套管理制度,也得跟著搬過去。Opus 5.5 像一個剛畢業的優等生新同事,回報勤快、每做完一小段就想開簡報;它需要的從來是一套看得懂簡報的流程,而不是一套只會聽命令的舊機器。

所以,下一次深夜醒來,發現 Agent 停在半路等一句「可以」,問題或許已經換了問法:模型會不會偷懶,官方指南已經給了答案;人類這一端,準備好當一個隨時在線、看得懂進度報告的主管了嗎?