11月4日,月之暗面把 Kimi K3.1 Pro 的完整权重传上了 Hugging Face,总参数2.8万亿。几乎同一个时间窗口里,Anthropic 的 claude-sonnet-4-5-20250929 定在11月30日从 Claude API 退役,OpenAI 也在同一天关停 Evals、Agent Builder 和 v1/prompts 三个面向开发者的接口。一头在放开,一头在收走,两件事撞在同一个月,对做应用的人来说是个挺值得留意的信号。

开源这边:参数、价格、许可证

据报道,Kimi K3.1 Pro 是混合专家模型(MoE),总参数2.8万亿,每次推理只激活其中约1040亿;上下文窗口100万 token,原生支持看图;权重合计约1.56TB。

和7月开源的 K3 相比,主要改动在注意力上:原来24层用的全注意力,换成了稀疏注意力,每个 token 只挑最相关的2048个 token 参与计算。稀疏注意力不是新东西,但用在这个体量的模型上,长上下文场景省下来的算力是实打实的。

许可证这块比参数更值得看。主体沿用 MIT 的写法,个人和公司都能免费用、改、二次分发、商用,额外只加了两条限制:

  • 如果一家公司或其关联公司在卖模型 API,且整个集团任意连续12个月总营收超过2000万美元,商用前要另签协议;
    • 如果用它做的产品月活超过1亿,或月收入超过2000万美元,界面上要显著标注“Kimi K3.1 Pro”。
      公司内部自用、走官方产品和认证推理服务商,都不受这两条限制。翻译一下:真正被卡住的基本只有靠转卖 API 赚钱的大厂,做业务的团队不在射程内。

评测数据据报道:第三方榜单 Artificial Analysis 的综合智能指数上,它拿了46.5分,此前开源模型里最高的是 DeepSeek-V4.1-Flash 的32.6分;Vals AI 用 Terminal-Bench 4.0 测终端里干活的能力,它得分63.64%,59个模型里排第三,前两名是 Claude Opus 5.5 和 Sonnet 5.5,单题成本4.57美元,而 Opus 5.5 是13.20美元。

退役这边:日期是写死的

比起“谁又追上来几分”,我更关心另一张表——弃用时间表。据厂商官方弃用页,11月到12月初排了一串:

时间事件官方给的替代
11-30claude-sonnet-4-5-20250929 在 Claude API 退役claude-sonnet-5-5
11-30OpenAI 关停 Evals、Agent Builder、v1/promptsPromptfoo / Agents SDK / 自建
12-01gpt-image-1-mini、gpt-image-1.5 等图像型号gpt-image-2.5 系列
12-11六个 GPT-5 与 o3 快照见弃用页右列
2027-04-01gpt-5.3-codex、gpt-5.1、gpt-5.4-nano已提前六个月公告

两个容易读错的地方,我自己踩过一次:

第一,“不早于”不是关停日。 Opus 4.5 那一行写的是 Not sooner than November 24, 2026,这是下限,不是截止日期。要盯的是状态列——变成 Deprecated,才是真的进入倒计时(Anthropic 对公开发布的模型至少提前60天通知)。

第二,退役是硬失败,不是降级。 过了日子再拿旧 id 发请求,直接报错返回,不会自动帮你路由到新模型。

对写业务代码的人意味着什么

模型 ID 是配置,不是常量。 把 model="claude-sonnet-4-5-20250929" 写死在业务函数里的代码,等于把上线时间交给了别人的日历。

抽象层比选型重要。 换模型只改一个环境变量,和换模型要改二十个文件、跑三天回归,是两种完全不同的团队。

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["LLM_API_KEY"],
        base_url=os.environ["LLM_BASE_URL"],   # 兼容 OpenAI 协议的网关/托管地址
        )
        MODEL = os.environ.get("LLM_MODEL")        # 具体模型 ID 以所用平台文档为准
resp = client.chat.completions.create(
    model=MODEL,
        messages=[{"role": "user", "content": "用一句话解释什么是稀疏注意力"}],
        )
        print(resp.choices[0].message.content)
        ```
但“换个 model 名就行”只对同一套协议成立。Anthropic 协议是另一套 SDK,消息结构也不一样:

```python
import anthropic

c = anthropic.Anthropic(api_key=os.environ["ANTHROPIC_API_KEY"])
msg = c.messages.create(
    model="claude-sonnet-5-5",
        max_tokens=512,
            messages=[{"role": "user", "content": "你好"}],
            )
            print(msg.content[0].text)   # content 是 block 列表,不是字符串
            ```
最常翻车的地方就在这:OpenAI 协议返回的是字符串,Anthropic 返回的是内容块列表,`content[0].text` 和 `content` 不能混着写。所以抽象层不要只抽象“模型名”,至少要把消息结构一起收口。

## 迁移清单(11月30日之前)

1. **导用量。** Anthropic Console 的 Usage 页可以 Export,下载的 CSV 按 API key 和模型分列,用老模型 ID 搜一遍,先知道哪些服务在用它。
2. 2. **把 model 抽成配置。** 顺手加一层 fallback:主模型失败时切备用,别让一次下线变成一次故障。
3. 3. **回归测试。** 跑通一次不算数,把线上真实的 eval 集跑一遍,看输出而不是看感觉。同分不同味的模型太多了。
4. 4. **灰度并行。** 新旧模型同时跑一周,比差异;提示词调优也要重做,旧 prompt 是给旧模型写的。
5. 5. **收拾控制台里的资产。** v1/prompts 里的可复用 prompt、Evals 里的评测集,能搬的搬进代码仓库或 Promptfoo。放在别人控制台里的东西,生命周期由别人决定。
## 自部署这笔账,先算再激动

权重放出来了,不等于你能跑。1.56TB 的权重,按 SGLang 给出的方案,英伟达 GB300 要8张;官方推荐 vLLM、SGLang、TokenSpeed 这类推理框架。个人一张消费级显卡是没有讨论余地的——据报道有网友自嘲,“终于能在我2.3万美元的 Mac Studio 上部署了,每秒0.1 token”。

所以开源权重的实际价值,更多在两头:一是有人能跑,托管价格就有了下行压力;二是有数据不出内网要求的场景,多了一个可选方案。对绝大多数业务团队,用托管 API 仍比自己部署划算得多,自建推理集群是另一个量级的工程。

## 收尾

这一个月里发生的事挺对称:开源模型追到只差几分,同时在线模型的退役越来越像手机系统更新——不是你选的,是日历逼的。选型的功夫,慢慢从“选哪个模型”挪到了“换模型要几天”。

你手上的项目里,模型名是写死在代码里的,还是抽出来的?评论区聊聊。

Logo

更多推荐