AI 開發

Claude Opus 5.5 發布後,AI Coding Agent 進入什麼階段?JSON、Tool Calling 與程式執行詳解

閱讀約 16 分鐘

2026 年 9 月 22 日,Anthropic 發布 Claude Opus 5.5,模型 ID 是 claude-opus-5-5。官方把它定位成長任務的 agentic coding。本篇不重寫「Coding Agent 是什麼」。只拆:請求怎麼寫、工具 JSON 誰執行、從 Opus 5 遷過來要改哪幾處。

閱讀前速覽

物件 官方事實 誰執行
Model claude-opus-5-5 / 2026-09-22 模型填 JSON,不碰磁碟
Thinking 始終開,預設 effort=medium 關 thinking 會 400
Tools input_schema + tool_use 宿主校驗後再跑
Cost $4 / $20 / 百萬 token 官方稱典型負載比 Opus 5 便宜約 40%

事實來自 Anthropic 發布頁與 Opus 5.5 文件。評測分數是官方自報,不當排名。

Coding Agent 進入長任務更便宜的階段,不是「模型自己改倉庫」

Opus 5.5 是 Claude 5.5 家族的第一款。官方說它在多數工作上達到 Claude Fable 5.1 的水準,典型負載成本比 Opus 5 低約 40%。輸入 / 輸出是每百萬 token 4 美元 / 20 美元;快取讀取 0.20 美元。上下文 100 萬 token,最大輸出 12.8 萬。這些數字改變的是你能把一輪 agent 跑多久、花多少錢。它們不改變分層:模型填參數,宿主執行副作用。

  • 模型:只產出 lookup_order 和 A-1042。看不見套接字,也不 spawn 行程。
  • 思考預設常開:自適應 thinking 不能關。深度用 effort 控制,預設 medium。官方測試裡,medium 在倉庫級任務上能打平或超過 Opus 5 的 high,而且步數和 token 更少。
  • 長任務:官方寫的是 codebase 遷移、審計、少人值守的多小時作業。宿主仍要有停止條件、權限和可回放狀態。

內建工具 JSON 怎麼填,見 AI Coding Agent 與 JSON 工具呼叫。環、門、狀態怎麼疊,見 Agent Harness 與 JSON State。Schema 為什麼是門,見 AI 為什麼需要 JSON Schema。本篇只寫 Opus 5.5 之後,同一條呼叫鏈哪些欄位變了。

先把 model 和工具表寫成物件

Claude API、Google Cloud、Microsoft Foundry 用 claude-opus-5-5。Amazon Bedrock 用 anthropic.claude-opus-5-5。虛構查單,不要貼真實金鑰:

{
  "model": "claude-opus-5-5",
  "max_tokens": 16000,
  "effort": "medium",
  "tools": [{
    "name": "lookup_order",
    "description": "Look up an order by ID. Confirm before any refund.",
    "input_schema": {
      "type": "object",
      "properties": {
        "order_id": { "type": "string", "pattern": "^[A-Z]-\\d{4}$" }
      },
      "required": ["order_id"],
      "additionalProperties": false
    }
  }],
  "messages": [{
    "role": "user",
    "content": "Look up order A-1042 and say if it is paid."
  }]
}

effort 是官方文件裡的預設檔。把它寫進請求,會話才能復盤「當時用的是 medium 還是更高」。工具表必須帶 input_schema。寬 object 等於請模型發明鍵。查單不要帶退款欄位。

Tool Call 仍是 JSON,宿主才執行程式

模型對宿主說「請查 A-1042」。這一段不是 HTTP,也不是 MCP 的 tools/call。它是 Messages 回覆裡的 tool_use:

{
  "type": "tool_use",
  "id": "call_3c91",
  "name": "lookup_order",
  "input": { "order_id": "A-1042" }
}

過 Schema 之後,宿主執行,再把結果寫成物件餵回去。失敗也要是物件。模型讀的是回寫,不是終端捲動條:

{
  "type": "tool_result",
  "tool_use_id": "call_3c91",
  "content": "{\"order_id\":\"A-1042\",\"status\":\"paid\"}"
}

官方還提醒:工具呼叫之間的說明文字,會進 thinking 塊;預設 display 下這段文字是空的。如果你以前把中間文字當進度條,宿主要改讀取方式,不是模型「不說話了」。MCP 那一跳見 Coding Agent 如何呼叫 MCP。權限怎麼寫成規則見 Coding Agent 權限模型。長任務把循環收成狀態,才能過夜跑而不靠聊天視窗:

{
  "model": "claude-opus-5-5",
  "effort": "medium",
  "session_id": "sess_7f2a",
  "task": "migrate_lookup_order",
  "pending_tool": "lookup_order",
  "immutable": {
    "tools": ["lookup_order", "Read", "Bash"]
  },
  "mutable": {
    "turn": 4,
    "max_turns": 40,
    "last_order_id": "A-1042"
  }
}

從 Opus 5 遷到 5.5:四條會打斷舊程式

官方 What's new 寫了四條破壞性變更。前三條在 Claude Fable 5.1 上同樣成立。不要靠「換模型名」蒙混:

變更 宿主要改什麼
Thinking 不能關 關掉 thinking 或手寫 thinking budget 會 400。用 effort 調深度。
Forced tool use 報錯 強制指定必須調某個工具會失敗。讓模型按 Schema 自己選,或改循環。
Thinking 塊綁模型和會話 中途改 tools 表會改會話前綴,使更早的 thinking 塊失效。工具要在第一輪就宣告。
舊 computer use 工具 Claude API 與 Google Cloud 不再接受 computer_20251124。改用 computer_toolset_20260801。Bedrock 上舊工具仍可用。

另有一條不報錯但會改回應形狀:工具呼叫之間的文字進 thinking。串流進度條要按新塊讀。這些是宿主適配,不是提示詞能繞開的。

五步把 Opus 5.5 接到現有倉庫循環

不要從「它更強所以放開權限」開始。按物件寫:

  1. 改模型 ID。請求裡寫 claude-opus-5-5(Bedrock 加前綴)。同時記下 effort。
  2. 刪掉關 thinking 和 forced tool use。這兩處在 5.5 會失敗。
  3. 工具表第一輪就固定。每條有 Schema,additionalProperties: false。中途加工具會廢掉已有 thinking。
  4. 寫停止條件。max_turns 或預算。官方鼓勵多小時作業,不等於無限循環。
  5. 狀態落成 JSON。至少留下 tool_use、tool_result、session_id、effort。能按 call_3c91 對上,才算接通。

Schema 怎麼當門,見 Agents API + JSON Schema。本篇只要求:換模型之後,門和環還在,而且由宿主執行副作用。

復盤一次長任務,先攤開四份 JSON

一次翻車,多半是模型 ID、effort、工具表、回寫沒對齊,不是「5.5 不夠聰明」。

  • 把 input_schema 和 input 格式化,再用 Schema 校驗 看缺欄位和多餘鍵。
  • 用 JSONPath 擷取 抽出 $.model、$.effort、$.input.order_id。
  • 一次成功回寫和一次 400 JSON Diff。先改關 thinking / forced tool 的舊程式,再改提示。
  • 核對 call_3c91 在 tool_use 和 tool_result 是否同一 id。
  • 會話紀錄、權杖、倉庫路徑不要貼進公共格式化站。JSONSort 在瀏覽器本機跑。

四份物件都能按 Schema 重建,你才是在收 Opus 5.5 的呼叫鏈,不是在收「它好像能過夜改倉庫」。

常見誤區

  • 把 Opus 5.5 當成新的 Coding Agent 產品。它是模型。Claude Code、Cursor、自建循環仍是宿主。
  • 用官方榜單當「誰更強」。Terminal-Bench、CursorBench 是 Anthropic 自報或指定 harness。本篇引用數字只為說明成本與長任務,不做排名。
  • 關掉 thinking 以求省錢。5.5 不允許關。要控成本,調 effort、快取和 max_turns。
  • 強制 tool_choice 當穩定器。forced tool use 會報錯。穩定靠 Schema,不靠強迫點名。
  • 長任務不寫狀態。18 小時作業沒有 session JSON,就無法回放。聊天視窗不是狀態。
  • 把中間 thinking 空文字當成模型故障。官方改了回應形狀。改宿主解析。

FAQ

Opus 5.5 會自己改檔案嗎?

不會。模型只填工具 JSON。讀寫、Shell、MCP 都由宿主執行。沒有宿主,就沒有倉庫變更。

預設 medium 還要不要開更高 effort?

官方說預設 medium 在編碼任務上已能對標 Opus 5 的 high。先固定 Schema 和停止條件,再按失敗任務加檔。不要預設拉滿。

這和 Agents API 是一回事嗎?

不是。Agents API 是 OpenAI 的會話資源。Opus 5.5 是 Anthropic 的模型。兩邊都是「模型填 JSON,宿主執行」,物件名不同,不要混用欄位。

computer_toolset 和普通 Read / Bash 是一回事嗎?

不是。computer use 是桌面 / 螢幕工具集。倉庫裡的 Read、Bash 是另一張工具表。只有你還在用 2025-11 的 computer 工具,才需要遷到 computer_toolset_20260801。

Sonnet 5.5 和 Haiku 5.5 已經發布了嗎?

官方在 Opus 5.5 發布稿裡寫「未來幾週」。本篇只寫 2026-09-22 已上線的 Opus 5.5。未發布的型號不當作事實。

結論

Opus 5.5 之後,Coding Agent 進入「長任務更便宜、思考預設常開」的階段。分層沒有變:模型填 JSON,宿主過 Schema、評權限、執行、寫回狀態。

先寫清 A-1042 會進哪一個工具、哪一輪、哪一份 session。能指到 model、effort、tool_use、tool_result,才算接上 5.5。不要用猜測填 DevDay,也不要把官方評測寫成排名。

延伸閱讀

更新紀錄: 首次發布