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,也不要把官方评测写成排名。

延伸阅读

更新记录: 首次发布