发生了什么
@anshulkarasi 提醒:Anthropic 发布了 API 版本 2026-10-21(上一个是 2023-06-01)。在新版本上,temperature、top_p、top_k 这三个参数被删除,不是弃用——请求里带任何一个,哪怕值是默认的 1.0,都会返回 400。
官方 Versions 页面 写得很明确:在 2026-10-21 上,这三个参数「在所有模型上」都会 400。同一版本还有几条会直接报错的变化:
- 把 document 块直接放在 assistant 消息里,返回 400;
- 在 user 消息里发送带非空
citations数组的 text 块(直接或放在 search_result 块里),返回 400; - Admin API 若干字段改名,例如 API key 不再返回
workspace_id,改用scope.workspace_id;RBAC 角色的name改为display_name。
老版本 2023-06-01 没有被弃用,所以不主动切换就不会突然坏。真正的风险是:你或你的依赖在不知情的情况下把 anthropic-version 换成了新值。
切换前的检查清单
- 查清自己发的是哪个版本:直接调 HTTP 的,看请求头
anthropic-version;用官方 SDK 的,官方说明版本头由 SDK 处理,升级 SDK 后要看它发出的是哪个版本。 - 全局搜参数:在代码、配置、提示词模板、网关默认参数里搜
temperature、top_p、top_k。很多框架会默认带上 temperature,自己没写也可能在发。 - 查网关和中间层:如果请求经过网关或代理,确认它不会替你补这几个参数。
- Admin API 脚本:用到
workspace_id、roles、name、group_type等字段的管理脚本,按官方说明改成新字段。 - 先在测试环境切:确认无 400 后再切生产,并保留回退到 2023-06-01 的开关。
Claude Code 用户
如果你用 Claude Code 维护调用 Claude API 的项目,2.1.307 新增了 /claude-api api-version 命令,用来把项目里的 Claude API 代码迁到 2026-10-21(见官方 CHANGELOG)。跑完后照样按上面的清单复查一遍,尤其是框架默认参数和网关这两处,这些地方迁移命令不一定能看到。
小结
- 新版本删掉了 temperature / top_p / top_k,带上就 400。
- 不切不会坏,切之前先搜参数、查网关、改 Admin 字段。
- 保留回退开关,别在生产上第一次试。
如果你想在一台常开、整机独享的新加坡 Mac mini 上跑测试环境和定时任务,先验证再上线,可以了解 Zumac.Ai,咨询 Telegram @singatao。
