新模型别自动放行:availableModelsMatch=exact 与 deniedModels
团队里最怕的不是「没模型」,而是新模型一上线就被人默默切过去——账单、合规、提示词兼容性都还没过审。CLI 2.1.283 给托管设置补了两把锁:availableModelsMatch(配合已有的 availableModels)和 deniedModels。
默认模型与 Opus 5.5 见 Opus 5.5 成默认;本文只讲「允许名单怎么钉死、怎么单独拉黑」。
exact 在管什么
公开 changelog 的表述很直白:把 availableModelsMatch 设为 "exact" 时,availableModels 里的每一项只放行它点名的那个模型版本;新发布的版本不会自动进名单,要等管理员显式写进去。
对比直觉:
| 模式(概念) | 行为 |
|---|---|
| 未开 exact(或等价宽松匹配) | 白名单常按「系列 / 别名」理解,新版本可能悄悄可用 |
availableModelsMatch: "exact" | 只认名单上的精确版本;新 release 默认被挡 |
对已用 availableModels 做组织管控的环境,这等于把「允许」从「这一家」收成「这一个具体型号」。
deniedModels:白名单里也能拉黑
同版本还加了 deniedModels:即使某模型按 availableModels 逻辑会被放行,只要出现在拒绝列表里,仍然禁止选用。
典型用法:
- 白名单先放一批「可用系列」。
- 某一旧日期戳 / 有问题的别名单独进
deniedModels。 - 新模型默认不进 exact 名单,评审后再加一行。
示意(键名与取值以 changelog / 托管配置为准,勿臆造完整 schema):
json
{
"availableModels": ["claude-opus-5-5", "claude-sonnet-5"],
"availableModelsMatch": "exact",
"deniedModels": ["claude-3-5-sonnet-20240620"]
}谁该开、谁别急
适合:
- 公司 / 团队统一发镜像或托管 settings,要控模型上线节奏。
- 合规要求「未审批模型不可用」。
- 提示词、Skills、计费策略还按旧模型校准,暂时不想全员冲到最新版。
不太急:
- 个人本机随便切模型试玩。
- 还没配置过
availableModels——先建白名单,再谈 exact。
注意:官方设置文档可能滞后于 changelog;键名以 2.1.283 发布说明为准。混用多版本 CLI 时,旧客户端会无视这些新键,策略会看起来「时灵时不灵」。
落地检查清单
- 舰队统一到
@anthropic-ai/[email protected]+(或等价渠道同版本)。 - 在托管 settings 写入
availableModels+availableModelsMatch: "exact"。 - 需要「名单上也不给用」的,补
deniedModels。 - 用
/model、启动参数、子代理/技能选模各试一次:名单外应失败;新 release 未写入前应失败。 - 审批通过某新版本后,显式追加到
availableModels,而不是指望「自动跟新」。
想收紧「Default」是否落在名单外,还要看既有的 enforceAvailableModels 一类开关——那是另一条线,别和 exact 混成一个开关。
实践建议
- 变更当发布:改名单像发版本,写清何时允许哪一 id。
- 先试后推:用一台金丝雀机验证 exact + deny,再全量托管。
- 文档同步:对内说明「为什么新模型点不开」——少一轮工单。
- 个人开发者:不必强行上 exact;把精力放在项目该用的默认模型即可。
模型更新越勤,管控就越要「具名」。availableModelsMatch=exact 和 deniedModels 把「放行」和「拉黑」拆开,正是团队该有的默认姿势。