标题:说实话,kimi-k3 和 gemini-3.6-flash 同周炸场——我拿 40 道编程题跑了三模型横评,有一类多步推理任务排名和官方宣传完全反过来
正文:
上周三 Moonshot 发了 kimi-k3,隔一天 Google 又把 gemini-3.6-flash 推出来,我手上正好有个 side project 要选模型做代码生成,干脆把 anthropic/claude-sonnet-5 也拉进来,三个一起跑。结论先放这儿:LeetCode Hard 通过率 claude-sonnet-5 ≈ 78% > kimi-k3 ≈ 68% > gemini-3.6-flash ≈ 62%;但 gemini-3.6-flash 废弃 temperature/top_p/top_k 后,在创意类编程题上输出稳定性反而变好了;kimi-k3 在需要 3 步以上链式推理的 SQL 生成任务上明显输给 claude-sonnet-5,通过率差了 20 个百分点。价格差距更离谱——claude-sonnet-5 的 output 单价是 gemini-3.6-flash 的 25 倍。
下面是完整数据,表格先甩出来,后面再拆。
评测维度
我选了 5 个维度,覆盖日常编程场景:
- LeetCode Hard 通过率(25 题,涵盖 DP/图论/字符串)
- 多文件重构能力(给一个 500 行 Flask 项目,要求拆成 service/dao/controller 三层)
- SQL 生成(15 道多表 JOIN + 子查询 + 窗口函数题)
- 响应延迟(首 token 到达时间,P50/P95)
- 每百万 token 价格(input + output 分开算)
每道题跑 3 次取最好成绩,避免随机波动。测试时间:2026 年 7 月 1 日下午,统一走 ofox.io 的 API 聚合网关(OpenRouter 也试了,但 5.5% 手续费让对比不纯净,所以最终用 0% 加价的通道来控制变量)。
评测结果天梯图
| 维度 | kimi-k3 | gemini-3.6-flash | claude-sonnet-5 | 备注 |
|---|---|---|---|---|
| LeetCode Hard 通过率 | 68%(17/25) | 62%(15.5/25,半对算 0.5) | 78%(19.5/25) | claude-sonnet-5 在 DP 类表现突出 |
| 多文件重构(人工评分 1-10) | 7.2 | 6.8 | 8.5 | kimi-k3 偶尔漏 import |
| SQL 生成通过率 | 60%(9/15) | 67%(10/15) | 80%(12/15) | kimi-k3 窗口函数翻车率高 |
| 首 token 延迟 P50 | ~420ms | ~280ms | ~650ms | gemini 快是真快 |
| 首 token 延迟 P95 | ~780ms | ~450ms | ~1200ms | claude 慢得让人焦虑 |
| Input 价格 /M tokens | $0.15 | $0.15 | $3.00 | 前两者 input 一样便宜 |
| Output 价格 /M tokens | $2.50 | $0.60 | $15.00 | 差距最大的一列 |
数据来源:2026 年 7 月 1 日实测,模型 ID 分别为
moonshotai/kimi-k3、google/gemini-3.6-flash、anthropic/claude-sonnet-5。价格按各厂商官方定价页核对,kimi-k3 定价以 Moonshot 官方页面为准,如有变动请以实时页面为准。
graph TD A[40道编程题] --> B{题目类型} B -->|LeetCode Hard 25题| C[kimi-k3: 68%] B -->|LeetCode Hard 25题| D[gemini-3.6-flash: 62%] B -->|LeetCode Hard 25题| E[claude-sonnet-5: 78%] B -->|SQL生成 15题| F[kimi-k3: 60%] B -->|SQL生成 15题| G[gemini-3.6-flash: 67%] B -->|SQL生成 15题| H[claude-sonnet-5: 80%] B -->|多文件重构| I[人工评分对比]claude-sonnet-5 的统治力和代价
claude-sonnet-5 在需要多步推理的题目上赢麻了。举个例子:一道涉及图论+贪心的 LeetCode Hard 题,需要先建图、再 DFS、再贪心——三步串联,kimi-k3 在第二步就开始跑偏,输出的 DFS 遍历顺序有逻辑错误。claude-sonnet-5 一次过。
SQL 那边更明显。一道涉及 3 层嵌套子查询 + ROW_NUMBER() 窗口函数的题,kimi-k3 生成的 SQL 语法没问题但逻辑错了——它把 PARTITION BY 的字段搞反了。跑了 3 次,2 次犯同一个错。
但代价呢?一道题平均消耗约 800 output tokens,按 $15/M 算,40 道题跑下来光 output 就花了 $0.48。听着不多?如果是日常开发每天跑 200 次,一个月就是 $72 纯 output。kimi-k3 同样场景只要 $12,gemini-3.6-flash 更离谱——$2.88。
跑测试集的时候还撞了一次 claude 的限流:
anthropic.RateLimitError: Error code: 429 - { 'type': 'error', 'error': {'type': 'rate_limit_error', 'message': 'Number of request tokens has exceeded your per-minute rate limit'} }挺烦人的,得加 retry + exponential backoff。
gemini-3.6-flash 废弃采样参数后的变化
这次 Google 发 gemini-3.6-flash 的时候顺手宣布废弃了 temperature / top_p / top_k 参数。我一开始是拒绝的——创意类编程题(比如"用 5 种不同思路实现斐波那契")不就没法调多样性了?
实测下来反直觉:废弃采样参数后,同一道题跑 3 次的输出一致性明显提升——相比之前用 gemini-2.5-flash 时靠手动设 temperature 来保证稳定,现在模型默认行为就已经很稳定,"同一个 prompt 这次对了下次又错"的情况少了很多。代价是创意多样性确实降了,但说实话写代码谁要多样性啊,我要的是稳定正确。
不过 gemini-3.6-flash 在 LeetCode Hard 上确实弱一些。图论题(最短路径变种、网络流)它经常给出 O(n³) 的暴力解而不是最优解,能跑通但会 TLE。反正面试不用它就行。
延迟方面 gemini-3.6-flash 是三者里最快的,P50 在 280ms 左右。批量跑 40 道题总耗时比 claude-sonnet-5 少了将近一半。
kimi-k3 输在哪?
kimi-k3 宣称 SOTA,MoE 架构激活参数约 320B(厂商自报,未经第三方验证),128K 上下文。在单步推理题上它确实不错——简单的 DP、贪心、二分查找,通过率和 claude-sonnet-5 差距在 5% 以内。
但一旦题目需要 3 步以上的链式推理,kimi-k3 就开始掉链子。具体表现:
- SQL 窗口函数题:PARTITION BY + ORDER BY + ROWS BETWEEN 三层叠加时,它倾向于把中间步骤合并,导致逻辑错误
- 多文件重构:能正确识别要拆的模块,但生成的 import 路径经常对不上(比如写了
from services.user import UserService但实际文件名是user_service.py) - LeetCode Hard 图论题:建图没问题,DFS/BFS 没问题,但后续的"根据遍历结果做决策"这一步容易出错
为什么会这样?我没有直接证据,只是从行为上观察:kimi-k3 在长链推理时似乎倾向于压缩中间步骤,导致后续决策依赖的上下文不完整。具体原因涉及模型内部机制,无法从外部确认。
成本计算
假设日常编程辅助场景:每次请求 input 500 tokens + output 800 tokens,每天 200 次:
月成本 = (input_tokens × input_price + output_tokens × output_price) ÷ 1M × 200 × 30| 模型 | 月成本(美元) | 月成本(人民币约) |
|---|---|---|
| gemini-3.6-flash | (500×$0.15 + 800×$0.60) ÷ 1M × 200 × 30 = $3.33 | ≈ ¥24 |
| kimi-k3 | (500×$0.15 + 800×$2.50) ÷ 1M × 200 × 30 = $12.45 | ≈ ¥90 |
| claude-sonnet-5 | (500×$3.00 + 800×$15.00) ÷ 1M × 200 × 30 = $81.00 | ≈ ¥583 |
人民币换算按汇率 7.2 估算,仅供参考。gemini-3.6-flash 月成本计算:(75 + 480) ÷ 1,000,000 × 6,000 = 555 ÷ 1,000,000 × 6,000 =$3.33。
一个月差出 ¥559,够吃一个月饭了。
不同需求怎么选
| 你的场景 | 推荐 | 原因 |
|---|---|---|
| 日常代码补全、简单函数生成 | gemini-3.6-flash | 快、便宜、稳定性够用 |
| 面试刷题、算法竞赛辅助 | claude-sonnet-5 | Hard 题通过率高出 10-16 个百分点 |
| 预算有限 + 需要中文注释 | kimi-k3 | 中文输出质量明显好于 gemini |
| 大型代码仓库理解 | gemini-3.6-flash | 支持 1M 上下文,三者中最大 |
| 多步 SQL / 复杂重构 | claude-sonnet-5 | 链式推理能力差距明显 |
| 团队批量跑测试 | gemini-3.6-flash + API 聚合网关 | 成本可控,后台能看每个人的调用明细 |
关于 gemini-3.6-flash 采样参数废弃的补充
跑测试的时候我习惯性传了temperature=0.2,结果:
WARNING: temperature, top_p, top_k parameters are deprecated for gemini-3.6-flash and will be ignored.不是报错,是 warning——参数会被静默忽略。这意味着如果你之前靠temperature=0来保证输出确定性,现在不用传了,模型默认行为就已经很稳定。但如果你之前靠temperature=1.2来做代码变异测试(fuzzing),那这个模型不适合你了。
我的最终选择
我自己的 side project 最后选了混合方案:日常写代码用 gemini-3.6-flash(便宜快),遇到复杂重构或者 debug 死活搞不定的时候切 claude-sonnet-5。kimi-k3 留着写中文文档和注释——它的中文表达确实比另外两个自然。
三个模型我都走 ofox.io 的聚合网关(OpenRouter 也行,但它收 5.5% 手续费),改一行 base_url 就能在三者之间切:
from openai import OpenAI client = OpenAI( api_key="your-ofox-key", base_url="https://api.ofox.io/v1" )反正模型 ID 传moonshotai/kimi-k3或google/gemini-3.6-flash或anthropic/claude-sonnet-5就行,不用管各家 SDK 的差异。
说实话,这次横评最大的感受是:别被"SOTA"这个词骗了。kimi-k3 宣称 SOTA(厂商自报、未经第三方验证),但落到具体的多步推理任务上,它和 claude-sonnet-5 的差距肉眼可见。选模型还是得看自己的具体场景,跑几道自己业务里的真实 case 比看任何 benchmark 都靠谱。