AI Newsway

四種Opus 5的請求寫法,在Claude Opus 5.5上會回400

第五項變更什麼都不會弄壞,而它最可能被你的使用者看見。

|7分鐘閱讀0
A computer display of the kind where an Opus 5 request pattern rejected by Claude Opus 5.5 first shows up: as an HTTP 400 in the console.
A computer display of the kind where an Opus 5 request pattern rejected by Claude Opus 5.5 first shows up: as an HTTP 400 in the console.

Anthropic的Claude Opus 5.5於9月22日推出,輸入每百萬token收費4美元,比Claude Opus 5便宜五分之一。它同時拒絕四種Opus 5原本接受的請求寫法,而且每一種都直接回HTTP 400,不會安靜地退回替代行為。Anthropic自家的遷移說明把這些列在一起;The New Stack則是最早指出這種幅度的降價附帶了一份遷移清單的媒體之一。

重點摘要

  • 在claude-opus-5-5上有四種寫法會回傳invalid_request_error的400:關閉thinking、強制使用工具、在提示前段變動後重送thinking區塊,以及在Claude API或Google Cloud上宣告computer_20251124 computer use工具。
  • 前三項同樣適用於Claude Fable 5.1,因此一次遷移即可涵蓋兩個模型。
  • 第五項變更不會報錯:模型在工具呼叫之間寫下的短註記,現在改放在thinking區塊裡,而在預設的display: "omitted"設定下那些區塊是空的,把這些註記當進度更新串流出去的應用程式就此一片安靜。

現在會回400的請求

thinking不再是選項。在Opus 5上,只要effort在high以下,thinking: {"type": "disabled"}就會被接受。到了Opus 5.5,自適應thinking永遠開著,這個設定與手動指定budget_tokens都會回傳invalid request錯誤。文件給的替代方案是effort參數:原本關掉thinking的地方,改成把effort調低。

有個值得及早察覺的次級效應。Opus 5.5的預設effort是medium,Opus 5的預設則是high。從沒明確設定過effort的團隊,等於一次改動兩個變數:請求的形狀,以及每個答案背後的推理量。

強制使用工具也一併消失。tool_choice的{"type": "any"}與{"type": "tool", "name": ...}都會失敗,而且同一套驗證也跑在計算token的端點上,所以預先算token並不會在真正呼叫之前先警告你。剩下能用的只有auto和none。如果原本的目的是保證JSON格式,Anthropic指向strict tool use或structured output;如果只是想讓模型去拿工具,那現在是提示詞該負責的事。

thinking區塊現在綁著模型與前段內容

第三項變更最不容易察覺,因為它有兩種失敗方式。每個thinking區塊都會記錄由哪個模型產生,而各模型只讀得懂族譜的一部分。Opus 5.5讀得了Opus 5以及更早的Opus、Sonnet與Haiku產生的區塊,但讀不了Claude Fable或Claude Mythos系列的區塊。在Claude API上,只有Fable 5.1與Mythos 5.1讀得懂Opus 5.5產生的區塊。

跨錯邊界時什麼也不會壞:API會在模型看到之前把讀不懂的區塊移掉,請求照樣成功,被丟掉的區塊也不計費。對話就這樣少了先前的推理繼續走下去。唯一的訊號是最上層的input_transformations陣列,而它本身還得加上thinking-binding-controls-2026-08-01這個beta標頭才會出現。

400來自另一項檢查。API會驗證thinking區塊之前的一切——系統提示、工具定義、更早的訊息——自該區塊產生後是否有變動;在Claude API與各雲端平台上,2026年8月31日之後建立的帳號預設就會啟用這項檢查。在對話進行中改寫系統提示,現在是一種故障模式,而不是習慣。文件給的解法是讓對話維持「只增不改」,需要調整指示時改用對話中的系統訊息,而不是去編輯既有內容。

computer use在兩個平台上失去舊工具

在Claude API與Google Cloud上,Opus 5.5只接受computer_toolset_20260801這組工具集的computer use,宣告舊版computer_20251124工具的請求會被直接拒絕。例外是Amazon Bedrock,舊工具在那裡運作得跟在Opus 5上完全一樣。

對於同一套AI代理要跨多家供應商運行的團隊,這種不對稱很要緊,因為一模一樣的payload會在Bedrock上通過、在Claude API上失敗。遷移意味著拿掉computer-use-2025-11-24 beta標頭、換掉tools項目,並針對成員tool_use區塊、批次動作與結果上的工具集名稱更新代理迴圈。browser use工具則不受影響。

什麼都沒弄壞、卻藏得最深的那項變更

上面這些都不是最可能被終端使用者察覺的變更。Opus 5.5把它在工具呼叫之間寫下的短註記,改以進度更新型的thinking區塊回傳,而不是文字區塊。在預設display設定下,那些區塊的text欄位是空的,於是原本把這些註記串到聊天視窗或建置日誌的產品,現在在工具呼叫之間什麼也不顯示——沒有錯誤、沒有狀態碼,也沒有可追查的日誌。

對一段長時間執行的代理工作階段來說,這是使用者看著事情進行、還是看著轉圈圈的差別。要救回來只需要調一個thinking.display設定,前提是得先有人注意到那份安靜。

哪些整合真的得改

影響範圍比「四項破壞性變更」聽起來窄,而且分布並不平均。幾乎所有工作量都落在三種情況上。為了替分類或路由呼叫省下幾秒而關掉thinking的低延遲管線,得挑一個effort等級並重新量測,因為已經沒有「零推理」這個退路。把強制使用工具當成便宜的結構保證的擷取服務,需要換的是機制,不是參數值。

第三種最可能被打個措手不及。為了控成本而在對話中途切換模型的多模型路由器,現在得遵守一張相容性表;又因為不相容的推理是被丟棄而非被拒絕,一個路由器可能連續好幾週拉低回答品質,卻找不到任何一筆失敗請求可以指認。至於那些本來就開著thinking、也已經用上現行computer use工具集去呼叫Opus 5的整合,完全不受影響。

上線前該重測什麼

還有兩項行為變化不會拋出任何錯誤。Opus 5.5在同樣的effort下,每一輪傾向想得更多,在xhigh與max尤其明顯,因此從Opus 5沿用下來的effort調校會失準,max_tokens也得替推理留出餘裕。這個模型還會在資安分類器之外同時跑一個生物安全防護分類器,並且可能拒絕那些要它逐字複述內部推理的請求。

拒絕是錯誤處理的最後一個陷阱:它回的是HTTP 200,帶著stop_reason: "refusal"以及指明政策領域的stop_details物件,因此依狀態碼分支的程式會把它讀成成功。把這點、被靜默丟棄的thinking區塊、還有被消音的進度更新放在一起看,這次改版的模式其實很一致:吵鬧的失敗才是好處理的那種。帶動大部分發布報導的定價,以及把部分任務轉給舊模型的防護機制,都要等請求先能被解析才談得上划算。

FAQ — 常見問題

Claude Opus 5.5支援強制使用工具嗎

不支援。在claude-opus-5-5上把tool_choice設為{"type": "any"}或{"type": "tool", "name": ...}都會回傳invalid_request_error的400。只接受auto與none,而且同一套驗證也適用於計算token的端點。

被丟棄的thinking區塊會計費嗎

不會。當請求帶著目標模型讀不懂的thinking區塊時,API會在模型看到之前移除它,也不計費。請求仍會成功,所以只能透過搭配thinking-binding-controls-2026-08-01 beta標頭回傳的input_transformations陣列,才看得出這次丟棄。

computer use的變更會影響Amazon Bedrock嗎

不會。computer_20251124工具透過Amazon Bedrock在Opus 5.5上仍照Opus 5的方式運作。這項限制適用於Claude API與Google Cloud,那裡只接受computer_toolset_20260801工具集。

對這篇文章有什麼感想?

SJ
載入中...

相關文章

Claude Code Projects 回歸,化身統籌平行雲端執行緒的協調者
Developer Tools

Claude Code Projects 回歸,化身統籌平行雲端執行緒的協調者

重新設計的 Claude Code Projects 在工作執行緒之上擺了一個協調者,每條執行緒都是跑在自有分支上的完整雲端工作階段,並且共用同一份記憶。

Seung Jung10 天前
七個月湧入一百萬個代理技能 — 其中近半數只被安裝過一次
Developer Tools

七個月湧入一百萬個代理技能 — 其中近半數只被安裝過一次

Vercel 的 skills.sh 在七個月內突破一百萬個代理技能。近半數只被安裝過一次,375 個項目就吃下全部安裝量的 62%。

Seung Jung前天
Docker 把 AI 代理沙箱搬上雲端,按秒計費、每小時 0.07 美元起
Developer Tools

Docker 把 AI 代理沙箱搬上雲端,按秒計費、每小時 0.07 美元起

Docker 推出 Cloud Sandboxes,把微型 VM 代理隔離搬到託管運算上,按秒計費、每小時 0.07 美元起,並將 Kits 格式移交 CNCF。

Seung Jung3 天前
合併3000次、零回滾:Anthropic兩週加速衝刺的內幕
Developer Tools

合併3000次、零回滾:Anthropic兩週加速衝刺的內幕

Anthropic在八月的衝刺中把claude.ai的p75可輸入時間從3.1秒壓到0.55秒,靠著以指令數卡住CI,兩週合併3000次變更且零回滾。

Seung Jung4 天前
AWS 開源代理框架 Strands Harness,連比自己更省錢的對手也一併列出
Developer Tools

AWS 開源代理框架 Strands Harness,連比自己更省錢的對手也一併列出

AWS 的 Strands Agents 團隊於 9 月 21 日以 Apache 2.0 授權釋出 Strands Harness,支援 Python 與 TypeScript,可在筆電或五家雲端平台上部署。

Seung Jung6 天前
LLM修復程式碼時弄壞可用程式碼的次數,是真正修好次數的十倍
Developer Tools

LLM修復程式碼時弄壞可用程式碼的次數,是真正修好次數的十倍

一項arXiv研究測得LLM修復迴圈破壞正確程式的比率為0.261,修復缺陷程式的比率僅0.023,並找到了驅動這一行為的內部方向。

Seung Jung15 天前