三年只更新过一次版本号的 Claude API,在 2026 年 10 月 21 日迎来断代式改版:Anthropic 发布了 2023-06-01 之后的第一个新版本 2026-10-21,做的第一件事就是把 temperature、top_p、top_k 三个采样参数连根移除——请求里只要带上其中任何一个,直接返回 400。
采样参数被移除,不是被忽略
按照官方版本页的说明,新版本对三个采样参数的处置是移除而非忽略:发送 temperature、top_p 或 top_k 中的任何一个,在所有模型上都返回 400 错误,即便传的是默认值也一样。不带这些参数时,请求按默认采样行为运行,相当于旧版本里 temperature 设为 1.0 且不传任何采样参数。
对 Claude 4.7 及之后的模型,行为没有任何变化——它们本来就只接受默认值。真正的痛点在 Claude Sonnet 4.6 这类仍接受自定义值的模型上:过去靠调低 temperature 换取稳定输出的代码,升级后彻底失去这个控制,官方也没有提供替代参数,这类调用只能继续钉在 2023-06-01 上。
同一版本还收紧了消息校验:document 块直接放进 assistant 消息返回 400,user 消息里带非空 citations 数组的 text 块同样报错。Admin API 一侧则是一串字段改名:roles 换成 role_ids,group_id 换成 rbac_group_id,API key 响应里的 workspace_id 变成了 scope 对象。
八个官方库同步断代
这次发布不止改协议。Python、TypeScript、C#、Go、Java、PHP、Ruby 七个官方 SDK 加上 ant CLI 同步升到大版本(Python 2.0.0、TypeScript 1.0.0),默认就走新版本。三个连带变化值得注意:
- 认证头换了:SDK 改用 Authorization: Bearer 发送密钥。API 本身两种头都接受,但任何读取 X-Api-Key 的代理或网关会直接看不到密钥。
- 许可证换了:新版本 SDK 与 CLI 改用 Apache 2.0,旧版本维持 MIT。
- Text Completions 下线:TypeScript、Go、Java、Ruby SDK 和 CLI 里的旧补全接口整体移除。
亚马逊 Bedrock 上,新版本只支持 Claude 4.7 及之后的模型,老模型工作负载需要留在旧 SDK 组合上。官方还随版本发布了一个 /claude-api 技能,帮 Claude Code 定位受影响的调用点。
版本号进入节奏化时代
旧版本 2023-06-01 并未弃用,钉住它的集成可以继续运行。但按 AlphaSignal 的报道,Anthropic 计划未来更频繁地发布 API 版本,让破坏性变更按既定节奏、赶在新模型发布前落地——三年一版的静止期结束了。
这件事我更愿意读成一次表态:推理模型时代,模型自己在内部决定怎么思考,外部那几个采样旋钮早已名不副实,与其留着误导开发者,不如干脆收走。对开发者来说,这周真正值得做的是全库检索一遍 temperature,顺便看看网关读的是哪个认证头——下一次断代,大概率不会再等三年。