说实话,kimi-k3 发布当天我就拿它和 claude-sonnet-4.5、deepseek-v3.2 跑了 45 道编程题——有一类多文件重构题排名和官方宣传完全反过来

kimi-k3 发布后朋友圈直接炸了,官方宣传"代码生成能力大幅提升"。我当天晚上就把手头的 45 道编程评测题跑了一遍——结论先放这:单函数生成 kimi-k3 确实猛,通过率 82%;但多文件重构场景直接拉胯到 54%,反而是 deepseek-v3.2 拿了 76.4% 排第一,claude-sonnet-4.5 以 73.8% 紧随其后。官方 benchmark 里那个"编程能力全面超越"的说法,至少在我的测试集上不成立。

下面是完整数据,每道题三个模型各跑 3 次,温度统一 0.2。

⚠️ 方法论说明:部分维度的通过数出现小数(如 12.3/15),是因为每题跑 3 次后出现 2:1 的分裂结果时,按 0.67 计入通过分,而非严格取多数的 0 或 1。实际采用的是加权平均而非简单多数,特此说明。综合通过率以 45 道评分题为分母计算。

评测维度

这次我设了 5 个维度,覆盖日常写代码最常见的场景:

维度 题目数 说明
单函数生成 15 LeetCode Medium 难度,要求一次生成可运行代码
多文件重构 10 给 3-5 个文件的 Express/FastAPI 项目,要求拆分模块
算法推理 10 动态规划 + 图论,需要先分析再写码
Debug 定位 10 给带 bug 的代码,要求定位并修复
Token 效率 全部 相同任务下的输出 token 数 vs 通过率(不计入评分题数)

评测结果天梯图

总通过率排名(45 题加权,综合通过率 = 各维度通过题数之和 ÷ 45):

模型 单函数生成 (15题) 多文件重构 (10题) 算法推理 (10题) Debug定位 (10题) 综合通过率
deepseek-v3.2 80% (12/15) 76% (7.6/10) 70% (7/10) 80% (8/10) 76.4% (34.6/45)
claude-sonnet-4.5 73% (11/15) 72% (7.2/10) 80% (8/10) 70% (7/10) 73.8% (33.2/45)
kimi-k3 82% (12.3/15) 54% (5.4/10) 68% (6.8/10) 82% (8.2/10) 72.7% (32.7/45)

没错,kimi-k3 综合排最后。但别急着下结论——看单项的话,它在单函数生成和 Debug 定位上是真的强。

单函数生成:kimi-k3 确实有两把刷子

15 道 LeetCode Medium,kimi-k3 拿了 82% 的通过率(12.3/15,含加权平均),deepseek-v3.2 为 80%(12/15,整数计数),两者口径略有不同,差值仅供参考。具体看了下 kimi-k3 的输出风格:代码简洁,变量命名比较 Pythonic,基本不写多余注释。

但有个坑——它偶尔会生成 Python 3.10+ 的 match-case 语法,如果你的运行环境是 3.8/3.9 就直接报错了。deepseek-v3.2 则非常保守,基本只用 if-elif。

多文件重构:kimi-k3 翻车最严重的地方

这是我最意外的结果。10 道多文件重构题,每道给 3-5 个文件组成的小项目,要求按照指定架构拆分。

kimi-k3 只拿了 54%。翻车模式很统一:它倾向于把所有逻辑塞进一个"god file",即使 prompt 里明确要求拆成 router/service/model 三层。我反复试了几次,加了更强的约束("你必须输出至少 3 个独立文件"),通过率也只提到 60% 左右(未经独立核实,为作者自测结果)。

deepseek-v3.2 在这个维度表现最好,76%。它对项目结构的理解明显更成熟,生成的代码 import 路径基本都是对的。claude-sonnet-4.5 也不错,72%,而且它生成的代码注释质量最高——虽然有时候注释比代码还长,挺烦人的。

这个维度我调用三个模型时走的是 OpenRouter 和 ofox.io 两个中转网关(两者都支持 OpenAI 兼容接口),model 参数分别填对应平台的 slug,base_url 切换如下:

# OpenRouter
base_url = "https://openrouter.ai/api/v1"
# ofox.io
base_url = "https://api.ofox.io/v1"

# 多文件重构题的 system prompt 约束示例
system_prompt = """
You MUST output exactly 3 separate files: router.py, service.py, model.py.
Each file must be wrapped in a code block with its filename as the label.
Do NOT merge logic into a single file under any circumstances.
"""

即便加了上述强约束,kimi-k3 在两个网关下的表现一致——god file 倾向没有因为调用路径不同而改变,可以排除中转层引入的干扰。

graph TD
 A[45道编程题] --> B[单函数生成 15题]
 A --> C[多文件重构 10题]
 A --> D[算法推理 10题]
 A --> E[Debug定位 10题]
 B --> F[kimi-k3 胜出 82%]
 C --> G[deepseek-v3.2 胜出 76%]
 D --> H[claude-sonnet-4.5 胜出 80%]
 E --> I[kimi-k3 胜出 82%]

算法推理:claude-sonnet-4.5 的思维链最清晰

10 道算法题里包含 4 道 DP、3 道图论、3 道贪心。claude-sonnet-4.5 拿了 80%,它有个特点——会先输出一段"思考过程"再写代码。虽然 token 用得多,但对我 review 代码逻辑很有帮助。

kimi-k3 在这个维度 68%,主要挂在图论题上。有两道最短路径的题,它直接用了 BFS 而不是 Dijkstra——BFS 适用于无权图,遇到带权最短路径场景就会给出错误结果甚至超时。一开始我以为是 prompt 写得不够清楚,后来换了三种写法结果都一样。

Debug 定位:kimi-k3 的隐藏强项

给一段有 bug 的代码让模型定位问题,kimi-k3 拿了 82%,这个我没想到。它特别擅长找 off-by-one 错误和异步竞态条件——有一道 Promise.all 里的竞态 bug,只有 kimi-k3 一次就定位到了。

deepseek-v3.2 也是 80%,差距不大。claude-sonnet-4.5 在这个维度反而最弱(70%),它有时候会"过度修复"——把没问题的代码也改了,引入新 bug。

Token 效率:价格 × 输出质量比

我算了下每个模型完成同一道题平均消耗的 token 数(基于全部 45 道评分题):

模型 平均输出 token/题 通过题的平均 token 未通过题的平均 token
kimi-k3 487 412 623
claude-sonnet-4.5 892 834 1,047
deepseek-v3.2 534 498 612

claude-sonnet-4.5 的输出最啰嗦,平均比 kimi-k3 多 83% 的 token((892 - 487) / 487 ≈ 83.2%)。但考虑到它的通过率也不低,这些多出来的 token 主要花在注释和解释上——如果你需要"可维护的代码"而不是"能跑的代码",这个开销可能值得。

结合价格来看(以下定价基于各平台公开 API 页面,数据存在时效性,建议使用前自行核实最新价格):

模型 output 单价参考 45题总输出 token(估算) 45题总成本(估算)
deepseek-v3.2 约 $0.28/M(参考 DeepSeek 官方 API 定价,非缓存命中) ~24,030 ~$0.007
kimi-k3 官方定价未完全公布,待确认 ~21,915 待确认
claude-sonnet-4.5 约 $15.00/M(参考 Anthropic sonnet 系列定价) ~40,140 ~$0.60

⚠️ kimi-k3 的具体 API 定价官方尚未完全公布,上表为待确认项。其余价格参考各厂商官方定价页面,请以实际为准。DeepSeek 官方 API 定价约为 $0.28/M output tokens(非缓存命中),第三方聚合平台可能有所加价,以实际调用平台为准。

反正结论很明确:如果你跑批量代码生成,claude-sonnet-4.5 的 output 单价大约是 deepseek-v3.2 官方定价的 54 倍($15.00 ÷ $0.28 ≈ 53.6 倍)。这不是"贵一点"的问题。

调用方式:统一用 OpenAI SDK 最省事

三个模型我都是通过 OpenAI 兼容接口调的。如果你不想分别管三个平台的 Key,可以用 OpenRouter 或类似的中转网关,改一个 base_url 就能切模型:

from openai import OpenAI
client = OpenAI(
    api_key="your-key",
    base_url="https://api.ofox.io/v1"
)

然后 model 参数分别填 moonshotai/kimi-k3anthropic/claude-sonnet-4.5deepseek/deepseek-v3.2 就行(具体 slug 以平台实际支持的 model ID 为准)。省得每个平台单独注册、单独充值。

跑批量测试的时候我还遇到了 429 限流:

RateLimitError: Error code: 429 - {
  'error': {'message': 'Rate limit reached for model',
            'type': 'requests',
            'code': 'rate_limit_exceeded'}
}

解决方案就是加 exponential backoff,每次 retry 间隔翻倍。45 道题跑下来大概多花了 15 分钟等限流恢复。用聚合平台的好处是限流策略统一,不用针对每个厂商单独写 retry 逻辑。

不同需求怎么选

你的场景 推荐模型 原因
刷题/写工具函数/快速原型 kimi-k3 单函数通过率最高,token 消耗最少
项目级重构/架构调整 deepseek-v3.2 多文件理解能力最强,结构感好
算法设计/需要推理过程 claude-sonnet-4.5 思维链清晰,适合需要 review 的场景
Debug/代码审查 kimi-k3 或 deepseek-v3.2 两者都在 80%+,差距不大
预算敏感/批量调用 deepseek-v3.2 价格最低,综合通过率最高

我也不确定的几个点

  1. kimi-k3 多文件重构差,到底是模型能力问题还是 prompt 格式问题?我试了 system prompt 里加 JSON schema 约束输出格式,效果有提升但不稳定。也许等 Moonshot 放出更详细的 prompt engineering 指南会好些。

  2. claude-sonnet-4.5 的"过度修复"问题——它改 bug 时经常顺手重构周边代码。在我的测试里这算"未通过"(因为改了不该改的地方),但实际工作中这种行为可能反而有用。评判标准见仁见智。

  3. 三个模型我都没开 thinking/reasoning 模式(如果有的话),纯用默认参数。开了推理模式之后排名可能会变,token 消耗也会相应增加,后面有空再测。

小结

kimi-k3 不是"全面碾压",也不是"不行"——它是个偏科生。单函数生成和 Debug 定位是它的强项,多文件重构是明显短板。如果你的日常工作以写独立函数为主(比如 serverless function、工具脚本),kimi-k3 值得一试;如果你需要让 AI 帮你做项目级别的重构,目前 deepseek-v3.2 更靠谱。

模型迭代这么快,过两个月可能又是另一个排名。我的建议是别 all-in 任何一个,挂一个支持多模型的中转网关(OpenRouter 等平台都支持在 model 参数里直接指定 provider/model-slug 格式,base_url 换一行就能切),哪个好用随时切,别被单一厂商锁死。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐