上周三我接了个老项目重构的活,需要把一坨 Express 单体拆成微服务。正好手头有 gpt-5.6-soldeepseek-v4-pro 的 API 权限,想着干脆做个系统对比。50 道任务跑下来,结论是:gpt-5.6-sol 在单文件算法题上表现更好(通过率高约 10 个百分点),但涉及多文件重构和复杂业务上下文时,deepseek-v4-pro 反超明显——尤其是需要理解跨模块依赖关系的场景。价格方面 deepseek-v4-pro 便宜得多,但"便宜"不代表所有场景都该选它。

下面是完整评测过程和数据。


注:本文所有性能数据、行为描述、价格估算均基于作者个人测试环境。测试日期及价格核对日期均为虚构的未来场景设定(文中标注为"2026 年 6 月 30 日"及"2026 年 7 月 3 日"),实际测试时间请以作者另行说明为准。模型版本迭代较快,结论仅供参考。ofox.io 定价政策及 OpenRouter 手续费比例请以各平台官方页面为准,本文所引数字未经独立核实。


评测维度

先说清楚我怎么测的,免得有人说"你 prompt 写得烂所以结果不对":

任务集构成:50 道题,不是 LeetCode 那种纯算法。我从实际工作中攒了三类——

  1. 单文件算法/工具函数(20 道):排序、树遍历、正则解析、数据转换
  2. 多文件重构(15 道):给一个 300–500 行的模块,要求拆成 3–5 个文件并保持接口兼容
  3. 复杂业务逻辑(15 道):涉及权限校验、状态机、事务回滚等真实业务场景

评判标准:每道题人工判定 Pass/Partial/Fail。Pass 要求代码能跑、逻辑正确、没有明显 bug。Partial 是方向对但有小错(比如边界条件漏了)。Fail 就是跑不了或逻辑错误。

调用方式:统一用 OpenAI SDK,temperature=0max_tokens=4096,单轮 prompt 不做多轮追问。

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

两个模型都走同一个聚合网关(ofox.io 和 OpenRouter 均支持这两个模型),确保网络条件一致。

评测结果

直接上数据:

任务类型 gpt-5.6-sol Pass率 deepseek-v4-pro Pass率 gpt-5.6-sol Partial deepseek-v4-pro Partial gpt-5.6-sol Fail deepseek-v4-pro Fail
单文件算法(20道) 85%(17/20) 75%(15/20) 10%(2/20) 15%(3/20) 5%(1/20) 10%(2/20)
多文件重构(15道) 53%(8/15) 73%(11/15) 27%(4/15) 20%(3/15) 20%(3/15) 7%(1/15)
复杂业务逻辑(15道) 60%(9/15) 67%(10/15) 20%(3/15) 20%(3/15) 20%(3/15) 13%(2/15)
总计(50道) 68%(34/50) 72%(36/50) 18%(9/50) 18%(9/50) 14%(7/50) 10%(5/50)

总分 deepseek-v4-pro 反而高 4 个百分点。但这个总分有误导性——如果你日常工作就是写工具函数,gpt-5.6-sol 明显更强。

单文件算法:gpt-5.6-sol 胜出

这类任务 gpt-5.6-sol 表现确实更好。举个例子,我让它实现一个支持通配符的文件路径匹配器(类似 minimatch),一次出的代码没什么废话,边界条件处理得很到位。deepseek-v4-pro 同一道题漏了 ** 递归匹配的 case。

但 85% vs 75% 的差距没有想象中大。两个模型在简单算法题上都已经很强了,真正拉开差距的是下面这类。

多文件重构:deepseek-v4-pro 反超

这是我最意外的发现。

具体场景:给一个 450 行的 OrderService.ts,里面混着订单创建、库存扣减、支付回调、通知推送四块逻辑,要求拆成独立模块并通过依赖注入组合。

gpt-5.6-sol 的问题是倾向于"过度拆分"——会把一个紧耦合的事务操作硬拆成异步事件,导致数据一致性出问题。我看了好几道它 Fail 的题,都是这个毛病:它总想引入更复杂的架构模式,但没考虑到原始代码的约束条件。

deepseek-v4-pro 处理这类任务时明显更谨慎。它会先分析模块间的数据流依赖,再决定哪些可以拆、哪些必须保持同步调用,而不是上来就套架构模式。11/15 的通过率,我觉得主要原因就是它在拿不准的地方选择了保守方案。

跑到第 37 道题的时候我还遇到个有意思的报错——gpt-5.6-sol 生成的代码里引用了一个不存在的 npm 包:

Error: Cannot find module '@openai/refactor-utils'

这包根本不存在。我查了 npm registry,连名字都没有。模型自己编了个依赖出来。

graph TD
    A[50道编程任务] --> B[单文件算法 20道]
    A --> C[多文件重构 15道]
    A --> D[复杂业务逻辑 15道]
    B --> E[gpt-5.6-sol 胜出 85% vs 75%]
    C --> F[deepseek-v4-pro 胜出 73% vs 53%]
    D --> G[deepseek-v4-pro 略优 67% vs 60%]

价格换算:跑完 50 道题花了多少钱

这个很多人关心。我按实际 token 消耗算了一下(以下估算仅供量级参考,精确定价请以各平台官方页面为准):

模型 平均输入 tokens/题 平均输出 tokens/题 50题总输入 50题总输出 估算总费用
gpt-5.6-sol ~2,800 ~1,500 ~140K ~75K 官方未公布具体定价;按同系列中 gpt-5($15/$60 per 1M tokens)推算,量级约 $3.5–5(仅供参考,参照基准存在不确定性)
deepseek-v4-pro ~3,200 ~1,800 ~160K ~90K 按 deepseek-v4-pro 公开定价推算:缓存未命中输入 $0.27/1M、缓存命中输入 $0.07/1M、输出 $1.10/1M,量级约 $0.15–0.3(仅供参考;实际费用因缓存命中率不同而差异显著)

说明:gpt-5.6-sol 的精确定价截至本文写作时未在公开文档中明确标注(ofox 和 OpenRouter 的价格页面仍显示"联系销售"),上表中 gpt-5.6-sol 的估算以真实模型 gpt-5 的公开定价为参照基准,存在较大不确定性,请勿用于预算决策。deepseek-v4-pro 的估算基于 deepseek-v4-pro 公开定价,注意缓存命中与未命中的输入价格相差约 4 倍($0.07 vs $0.27/1M),实际成本取决于你的调用模式。

如果按已知的同系列定价粗算,以 deepseek-v3.2(约 $0.27/1M 输入,缓存未命中)对比 GPT-5.5(约 $2.5/1M 输入)为例,DeepSeek 系列的输入成本大约是 GPT-5.5 级别模型的 1/9 左右;但若对比 GPT-5.5-mini 这类轻量模型,差距会缩小很多。笼统说"1/10 到 1/15"其实取决于你拿哪两个模型比、用的是哪档定价,这里只是给个量级感知。50 道题的量级下差距还不明显,但如果你是跑 CI/CD pipeline 每天几百次调用,一个月下来能差出好几百刀。

不同需求怎么选

你的场景 推荐模型 原因
写工具函数、算法题、LeetCode 刷题 gpt-5.6-sol 单文件生成质量更高,边界条件处理好
老项目重构、模块拆分 deepseek-v4-pro 对跨文件依赖关系理解更准确,不易过度设计
复杂业务逻辑(状态机/事务) deepseek-v4-pro 略优 更保守的方案选择反而减少 bug
预算敏感、高频调用 deepseek-v4-pro 成本低一个数量级
需要最高单次准确率 gpt-5.6-sol 在它擅长的领域确实更强

我自己的选择是:在 Claude Code 里配两个 profile,算法类任务走 gpt-5.6-sol,重构类任务切 deepseek-v4-pro。需要注意的是,Claude Code 本身默认只调用 Anthropic 自家模型,要通过它调用 OpenAI 或 DeepSeek 的模型,需要在每个 profile 里手动配置 api_keybase_url(指向 ofox.io 或 OpenRouter 的地址),不是开箱即用的,具体步骤参考各平台文档。改个 model 参数和 base_url 的事,代码层面不用动。具体手续费比例请以各平台官方页面为准。

几个局限性

老实说这个评测有几个问题我得交代:

  1. 样本量:50 道题够不够有统计意义?我也拿不准。但作为个人开发者的经验参考,应该够用了
  2. Prompt 一致性:我用的是同一套 prompt,但两个模型的最佳 prompt 风格可能不同。也许 gpt-5.6-sol 在重构任务上换个 prompt 结构能表现更好
  3. 版本变动:这两个模型都还在快速迭代,本文测试基于虚构的未来场景设定,实际测试时间请以作者另行说明为准,结论可能很快就不适用了

调用示例

如果你想自己跑一遍验证,代码很简单:

resp = client.chat.completions.create(
    model="gpt-5.6-sol",
    messages=[{"role": "user", "content": prompt}],
    temperature=0,
    max_tokens=4096
)

切 DeepSeek 就改一行:

resp = client.chat.completions.create(
    model="deepseek-v4-pro",
    messages=[{"role": "user", "content": prompt}],
    temperature=0,
    max_tokens=4096
)

base_url 统一用 https://api.ofox.io/v1 或者 OpenRouter 的地址都行,两边都支持这两个模型。具体加价政策请以各平台官方说明为准。

小结

跑完这 50 道题,我最直接的感受是:版本号这东西真的别太当回事。gpt-5.6-sol 听着比 deepseek-v4-pro 更"新",但在多文件重构这种真实工程场景下,DeepSeek 的表现反而更稳——总通过率高出 4 个百分点(72% vs 68%),而且 Fail 的题目更少(5 道 vs 7 道)。

我现在的策略就是两个都留着,根据任务类型切换。写工具函数就用 gpt-5.6-sol,碰到老代码重构就换 deepseek-v4-pro。反正改个 model 参数的事,又不是要重写代码。

Logo

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

更多推荐