AREX Feed Article
Anthropic 发布 Claude API 版本 2026-10-21:移除 temperature、top_p 与 top_k,系 2023 年以来首次官方发版
10 月 21 日(北京时间 10 月 22 日凌晨),Anthropic 官方开发者账号 宣布,Claude API 新版本 2026-10-21 现已可用。帖文称,Claude API 这些年演进很大,但这是该 API 自 2023 年以来首个官方版本发布——上一个版本 2023-06-01 已经用了三年多。伴随新版本而来的是一组破坏性变更:列出的第一条,就是 temperature、top_p 与 top_k 三个采样参数从 Messages API 中移除。
这些参数在新版本下有多严格,写得很直接:在 2026-10-21 下,发送 temperature、top_p 或 top_k 的请求会返回 400 错误,「即使参数取的是默认值」。Anthropic 同时明确,旧版本 2023-06-01 未被弃用。同日,Anthropic SDK 与 ant CLI 的新大版本默认指向 2026-10-21。
(示意图:CellCog 对本次版本变更的拆解)
temperature、top_p、top_k:从可调参数到 400 错误
官方的措辞是:这三个请求参数已被移除,任何模型上,发送其中任意一个都会返回 400 错误。迁移指南补充了一个容易踩坑的细节——哪怕代码里写的是 temperature=1,也就是默认值,请求同样会失败。不删参数、只是「调回默认」,并不能过关。
删掉参数之后,请求并不会失效。专门拆解这次变更的 (其内容取自 Anthropic 的发布说明与迁移指南)称,请求将按各参数的默认值采样,包括 temperature 1.0;Claude 4.7 及之后的模型行为不变,因为这些模型本来就只接受默认值。受影响的是更早的模型:按 CellCog 的说法,在 Claude Sonnet 4.6 这类模型上,靠调低 temperature 换取更稳定输出的代码会失去这一效果。
documents 与 citations 的回合限制,和一批改名的后台字段
帖文列出的第二组变更针对消息结构:assistant 回合中的 documents 与 user 回合中的 citations 会返回 400。按迁移指南的处理建议(经 CellCog 转述),把 document 块直接放进 assistant 消息的调用,应改为把文档放到 user 消息里;user 消息中带有非空 citations 的 text 块,需要把这些 citations 去掉。
第三组变更在后台接口。@ClaudeDevs 的帖文只说「少量已弃用的 Admin 与 Enterprise Analytics API 字段被替换」,CellCog 整理的对照表给出了具体名字:roles、group_id、name、group_type、workspace_id、actor.email 与 summaries,分别改为 role_ids、rbac_group_id、display_name、group.type、scope、actor.email_address 与 data。其中 API key 上的 workspace_id 变成 scope,被点名是需要特别检查的一处。
SDK 大版本同日更新:默认版本、Bearer 请求头与 Apache 2.0
变更不只发生在 API 侧。@ClaudeDevs 宣布,Anthropic SDK 与 ant CLI 的新大版本同日发布,且默认使用 2026-10-21。官方列出:Python SDK 2.0.0、TypeScript SDK 1.0.0、C# SDK 13.0;CellCog 的表格补全了其余部分:Go 2.0.0、Java 3.0.0、PHP 1.0.0、Ruby 2.0.0,ant CLI 为 2.0.0——共七款语言的 SDK 加上 CLI。
这些大版本还夹带了与 API 版本无关的改动。CellCog 归纳:新 SDK 改用 Authorization: Bearer 请求头携带 API key,不再发送 X-Api-Key。直接调用 Claude API 的程序不受影响,因为 API 两种请求头都接受;但读取 X-Api-Key 的代理与网关会「看不见」密钥——把这一条连同迁移指南链接贴出,提醒代理层需要同步迁移。此外,新版本的许可证从 MIT 改为 Apache 2.0;Text Completions 接口从 TypeScript、Go、Java、Ruby SDK 与 CLI 中移除。按 CellCog 的整理,在 Amazon Bedrock 上,2026-10-21 只适用于 Claude 4.7 及之后的模型,调用更早模型的团队要留在现有 SDK 上;Go 用户另有一个安装上的坑——从旧模块路径安装 ant CLI 仍会得到 v1,且没有任何报错或警告。
更频繁地发版,与不弃用旧版本的承诺
变更内容之外,@ClaudeDevs 也解释了这次发版的节奏考量:公司计划今后更频繁地发布版本,「让你能在新模型提出要求之前,先行处理破坏性变更」。
「2023-06-01 未被弃用」在机制上意味着:开发者不主动升级,什么都不会坏。CellCog 的解读是,继续使用 2023-06-01 的请求和现有 SDK 版本照常工作;切换方式是设置 anthropic-version 请求头,或升级到新大版本 SDK。
回复区:松一口气,和按兵不动
截至发稿,主帖已获得逾 13.6 万次浏览、2,300 余个点赞。回复区的情绪大体是松一口气与按兵不动并存。软件工程师 写道:「『2023-06-01 未被弃用』可能是一家 API 提供方写给工程师的最让人安心的一句话」,他还估计市面上的生产代码大多钉在旧版本 API 上; 的理由更具体:「我的合成数据脚本有一半靠扫 temperature 来制造多样性,所以我先钉在 2023-06-01 上一段时间」。也有人在回复区追问更基本的问题:。
两条升级路径,一个空着的时间表
升级路径有两条。@ClaudeDevs 给出的第一种,是在 Claude Code 里使用 /claude-api 技能完成更新;第二种是按迁移指南逐项核对。CellCog 建议的顺序是:先搜出代码里所有 temperature、top_p 与 top_k(包括 Message Batches 批处理调用),检查读取 X-Api-Key 的代理与日志层,再核对改名后的 Admin API 字段,最后把 SDK 升到大版本并针对 2026-10-21 跑测试。
公告没有给出的事同样具体:2023-06-01 会在什么时候退役。问旧版本退役前会提前多久通知;CellCog 把「Anthropic 是否为 2023-06-01 设定截止日期」列为后续观察点。三年多来的第一次版本更替不设强制迁移,真正悬而未决的,是下一次强制期限何时出现。