Claude Code vs Codex 多模型能力对比分析报告
基于"中国象棋 RL Step3 推理优化"任务的五版报告横向评估(含 Claude Code 双底层模型对照、Codex 三连败 v1+v2+v3)
分析生成于 2026-04-26 · 任务: AI vs AI 自动评测并优化 Step3 推理性能 · 硬件: NVIDIA GeForce GTX 1660 Ti
本文横评 5 次执行结果(4 个 Agent 实例,Codex 跑了 v1+v2+v3 三版仍失败)。框架层 Claude Code 严守约束 + 万级局面验证,完胜 Codex(v1 违规 / v2 破损 / v3 v1+v2 错误合体);模型层 Opus 4.7 深 profile 找到 Python 真瓶颈实现 7.6x 加速,DeepSeek 误判网络瓶颈耗时 15h 仅换 1.13x。最强组合 = 严谨框架 + 强模型 = Claude Code (Opus 4.7),综合评分 95% > DeepSeek 70% > Codex 37.5%。
一、原始提示词(任务输入)
用户提交给两个 AI 的同一段提示词(逐字):
现在有个问题,就是优化当前目录的强化学习的中国象棋的 ai 推理性能,技术栈是 pytorch 训练的,要求如下:
1、你自己通过 AI VS AI 的方式评估和优化结果和性能情况,需要打 10 场取得胜率和思考总耗时,平均耗时情况,作为主要体验和效能评估方法;
2、我希望红方固定是 step2 的 AI 这样作为基准 这个也不参与优化,黑方是优化方但是 step 固定 3;
3、需要全程自主执行,并且给出 html 报告,报告要包含你执行过程,推理方案,总执行时间等,作为提供给人类评估的依据;
4、优化目标是能力不下降的情况下,尽可能多的提升 step3 的推理性能和推理速度,硬件资源无限制;
二、参赛模型与基本信息
本次共三个 Agent 实例参赛,其中 Claude Code 提供两个底层模型版本以对照"框架 vs 模型"的影响。
Claude Code (Opus 4.7)
| 底层模型 | Claude Opus 4.7 (thinking max) |
| 提供方 | Anthropic |
| 执行起止 | 14:14 — 15:53 |
| 总耗时 | 99 分钟 |
| 报告版本 | 1 版(一次过) |
Claude Code (DeepSeek V4 Pro)
| 底层模型 | DeepSeek V4 Pro |
| 提供方 | DeepSeek |
| 执行起止 | 17:00 — 次日 08:00 |
| 总耗时 | 15 小时(最慢) |
| 报告版本 | 1 版(一次过) |
Codex
| 底层模型 | GPT 5.5 (extra-high) |
| 提供方 | OpenAI |
| 执行起止 | v1: 04:44 / v2: 16:48-17:28 / v3: 15:43-15:58 |
| 总耗时 | ~72 分钟(v1+v2+v3 合计) |
| 报告版本 | 3 版(三连败) |
三、基本对比数据(核心结论速览)
| 对比项 | Claude Code (Opus 4.7) |
Claude Code (DeepSeek V4 Pro) |
Codex v1 (GPT 5.5) |
Codex v2 (GPT 5.5) |
Codex v3 (GPT 5.5) |
|---|---|---|---|---|---|
| 遵守"红方固定 step2 不优化" | 遵守 | 遵守 | 违反 | 遵守 | 再次违反 |
| 跑满 10 局 | 4 局(坦诚说明) | 10 局(耗时 15h) | 10 局 | 10 局 | 10 局 |
| 每局最大半回合 | 120 | 120 | 60 | 20(过短) | 40 |
| 10 局结果分布 | 2 黑胜 / 1 红胜 / 1 和 | 10/10 全部和棋 | 10/10 黑胜(违规) | 10/10 红胜(material 裁定) | 10/10 黑胜(material 裁定) |
| 开局多样化设计 | 独立 seed + top-3 采样 | 无(仅 game1 略不同) | 无 | 无 | 无(走法分数全等) |
| 黑方平均每步耗时 | 3.18s | 12.47s | 3.01s | 4.97s | 3.80s |
| 黑方总思考耗时 | 493.5s(baseline 3546s) | 14,968s(4h+) | 904.3s | 497.4s | 760.3s |
| 系统级加速比(vs baseline) | 7.6x(端到端 4 局) | 1.13x(49 局面 mean) | 12-13x(仅 2 局面) | 未测量 | "31.6x" ⚠ 双重不可信 |
| 等价性验证规模 | 19,288 局面 | 49 局面 | 2 局面 | 无 | 无 |
| 等价性验证严格度 | 17/20 同走子 20/20 同分数 |
49/49 严格同走子 | 2/2 同走子 | — | — |
| 识别真实瓶颈 | Python get_legal_moves(深 profile) | 网络 forward(浅 profile) | 未做 profile | 未做 profile | 未做 profile |
| 能力是否下降 | 已验证未下降 | 已验证未下降 | 不可判断 | 不可判断 | 不可判断 |
| 报告执行过程透明度 | 11 阶段时间线 + 失败实验留痕 | "为何只有 1.13x"专章解释 | 仅一段方案描述 | 仅一段方案描述 | 仅一段方案描述 |
一句话结论
核心依据:
- Opus 4.7:唯一找到真实瓶颈(Python 侧 get_legal_moves),实现端到端 7.6x 加速 + 能力持平 + 多 seed 验证
- DeepSeek V4 Pro:完成度高(10 局/100% 严格等价性),但 profile 深度不足(误判网络为瓶颈),耗时 15 小时(17:00 至次日 08:00)仅换来 1.13x 加速,且 10 局全和棋无法测试能力
- Codex (GPT 5.5):v1 违反硬约束、v2 测试破损(max_plies=20)、v3 又把 v1+v2 错误叠加(红方再次违规 + 10 局完全相同),三版合计 72 分钟仍未产出可用结论
四、五版报告核心指标
综合最强
合规 + 深度优化
合规但浅层
合规但 profile 浅
违反约束
红方也优化
测试破损
max_plies=20
v1+v2 合体
红方又违规 + 10 局相同
五、约束遵守矩阵
| 用户约束 | CC · Opus 4.7 | CC · DeepSeek V4 Pro | Codex v1 | Codex v2 | Codex v3 | 说明 |
|---|---|---|---|---|---|---|
| 红方为 step2 baseline,不参与优化 | 遵守 | 遵守 | 违反 | 遵守 | 再次违反 | Codex v1 / v3 都让红方共用 FastSearchEngine |
| 黑方 step3 优化方 | 是 | 是 | 是 | 是 | 是 | 五版都遵守 |
| 跑满 10 场 | 4 局 | 10 局 | 10 局 | 10 局 | 10 局 | Opus 4.7 因时间预算停在 4 局,但坦诚说明 |
| 10 局应有统计学意义(不同开局) | 独立 seed | 仅 game1 不同 | 10 局相同 | 10 局相同 | 10 局走法/分数全等 | 除 Opus 4.7 外,其余四版均未做开局多样化 |
| 能力不下降 | 已验证 | 已验证(最严) | 无法判断 | 无法判断 | 无法判断 | DeepSeek 49/49 严格同走子,Opus 4.7 17/20 同走子+20/20 同分数 |
| HTML 报告含执行过程/方案/总时间 | 完整 | 完整 | 部分 | 部分 | 部分 | Opus 4.7 含 11 阶段时间线,DeepSeek 含限制专章 |
| 性能优化(加速比) | 7.6x 端到端 | 1.13x 端到端 | 12-13x(2 局面) | 未量化 | "31.6x" ⚠ 双重不可信 | Opus 4.7 量级和样本规模平衡最好;v3 加速比里混杂红方违规优化 |
六、关键指标可视化
6.1 任务完成度(满分 10 项)
评分项:约束遵守(2) · 10 局有效性(2) · 等价性验证(2) · 加速比量化(1) · 报告完整度(1) · 多样化设计(1) · 工程透明度(1)。Codex v3 因再次违反硬约束 + 测试设计同样破损,得分低于 v2
6.2 端到端加速比对比
Codex v1 / v3 的加速比都"看似"更高但都不可信:v1 仅 2 个孤立局面 + 红方也优化;v3 用"≥120s 超时下界"作分子、分母里又混杂红方违规优化,且 10 局基本同一局复制
6.3 等价性验证规模(log 刻度示意)
DeepSeek 走子等价是 100% 严格匹配(最严判定);Opus 4.7 量大但含 17/20 同走子(剩余 3 个分数等价的"等价最优招")
6.4 总耗时对比
DeepSeek 总耗时 15 小时(17:00 至次日 08:00),是 Opus 4.7 的 9 倍、Codex 合计的 12.5 倍——而加速比只有 Opus 4.7 的 1/7。从"加速比 ÷ 投入时间"看,DeepSeek 的工程效率是垫底的;Codex 三连败 72 min 产出 0 可用结论
七、Claude Code 双底层模型对照(关键发现)
本次评测最有价值的洞察来自同框架(Claude Code)+ 不同底层模型的对照——它能剥离"Agent 框架"与"底层模型"两个变量。
| 对照维度 | Claude Code (Opus 4.7) | Claude Code (DeepSeek V4 Pro) |
|---|---|---|
| 对约束的精确度 | 完美 | 完美 |
| 对"红方 step2 不优化"的理解 | 正确 | 正确 |
| 主动设计等价性验证 | 是(19,288 局面) | 是(49/49 严格) |
| 诚实披露限制 | 是(披露未跑满 10 局) | 是(专章解释 1.13x 是天花板) |
| profile 深度 | 深 — 找到 Python get_legal_moves | 浅 — 误判网络是瓶颈 |
| 失败迭代能力 | v1 batched 反而变慢 → 重新 profile → 找到真因 | 浅尝辄止:测了 batch eval 发现"net 0.4-1.1x" 就拒绝了 |
| 开局多样化设计 | 主动设计:seed + top-3 采样 | 未设计:10 局几乎相同 |
| 最终加速比 | 7.6x | 1.13x |
无论底层是 Opus 4.7 还是 DeepSeek V4 Pro,都正确遵守了"红方不优化"硬约束,都主动做了等价性验证,都诚实披露了限制——这三点 Codex 三版都没做到。说明 Claude Code 框架的"工程素养"确实存在并起作用。
同样是合规执行,差距体现在:
- profile 深度:Opus 4.7 多 profile 一层,发现"网络只占 15%、Python 侧占 85%";DeepSeek 第一层 profile 显示"网络占 85%"就停了,结论是"网络是瓶颈"
- 失败迭代:Opus 4.7 的 v1 batched 实验反而变慢(37s→93s),它没有放弃,而是重新 profile 找到原因;DeepSeek 测了 batch eval 发现"0.4-1.1x"就直接拒绝,没追问为什么
- 多样化设计:Opus 4.7 主动想到"10 局如果都一样就没统计学意义";DeepSeek 满足于"跑完 10 局"
这些差距不是约束理解问题,而是"工程直觉"和"求知欲"层面的差距——Opus 4.7 有"为什么"的追问,DeepSeek 有"完成"的满足。
DeepSeek 报告专章论证"network IS the bottleneck,1.12x 是不损失能力下的最大加速"——但 Opus 4.7 在同一份代码上实测 7.6x。这说明 DeepSeek 不是诚实地告知用户限制,而是把自己的 profile 局限当成了客观天花板。这是一种隐蔽的失败:表面上看起来很专业(讲清了为什么),但底层假设是错的。
八、为什么 Codex 失败 —— 三连败根因分析
用户写:"红方固定是 step2 的 AI,这个也不参与优化"。Codex v1 把"step 2"理解为"depth=2 不变"就够了,把"实现可以换"——这是语义层面的精确性失败。一个工程上严谨的 agent 应该把"不参与优化"理解为"包括代码实现在内的任何变更都不允许"。
v2 在修正约束后,反而做出了几个让测试无效的设计选择:
- max_plies = 20:象棋开局都没结束就强制裁定,等于没下完
- 全部 material_adjudication:没一局打到将杀
- 无随机种子:10 局完全相同的着法序列(甚至 v1 也是这样)
- 无基线对照跑:只有"优化版 vs baseline"对局,没有"优化前 vs 优化后"的直接对比
结果:黑方 0/10 胜率根本判断不出来是优化把能力打废了,还是 max_plies=20 太短让谁深度浅谁占优。
从 v1 到 v2 到 v3,Codex 每次只修上一版被指出的具体问题:
- 10 局应该有不同开局 → 三版都是 1 局重复 10 遍
- 需要基线对照才能说"加速比" → v1 测了 2 个局面,v2 完全没做,v3 只用初始局面探针
- 需要等价性验证才能说"能力不下降" → v1 测了 2 个局面,v2 / v3 完全没做
这说明 Codex 对"任务真正需要回答什么问题"缺乏整体把控,只是在打补丁。
v3(2026-04-26 15:58 完成,14.2 min)一边把 v2 的 max_plies=20 改回 40,一边把 v1 的违规重新犯了一遍:
- 红方又被同一个 FastSearchEngine 接管:
rl/ai_vs_ai_report.py:292-297直接把FastSearchEngine实例化给红方,跟黑方共用,只差use_pruning参数 - net 内存布局污染:
rl/search.py:111-112中self.net.to(memory_format=torch.channels_last)永久修改了红黑共用的 net;红方实测加速 30 倍(探针 15.852s 对实跑 0.4-0.5s/手) - 10 局走法/分数完全相同:第 2-10 局前 12 步走法、分数、子力全等,只有耗时纳秒级抖动;终局原因全部 max_plies_material(子力固定 0.330 vs 0.345)
- "31.6x 加速"双重不可信:分子用"≥120s 超时下界"不是真实测量;分母里又混杂了红方违规优化的功劳
三连败的本质:Codex 没有"系统性思考整个评测的科学性"的能力,每次只修上一版被指出的具体问题,反而把已经通过的检查项打破。这是"补丁式"工程的极致表现。
九、为什么 Claude Code (Opus 4.7) 综合最强 —— 工程方法论拆解
Claude Code 没急着改代码,而是先 cProfile 量化基线,发现 GPU 不是瓶颈、Python 侧 get_legal_moves 才是。这避免了 Codex 那种"凭直觉缓存合法走法、批处理 leaf value"的盲目优化。
Claude Code 的 v1 batched 版本反而从 37s 涨到 93s,它没有藏掉这次失败,而是在报告里完整记录了 profile → 发现瓶颈转移 → 引入 FastSearchState → has_any_legal_move 早退的修复链条。这种透明度让人类评估者能信任结论。
Claude Code 主动设计了多层验证机制:
- 19,268 个局面 legal_moves 集合等价(0 不一致)
- 100 局 × 200 plies 随机对局 board/player/done/winner 五状态等价
- 20 个 mid-game 局面 depth=3 搜索分数等价(17/20 同走子,20/20 同分数)
- baseline + optimized 共享种子的 4 局对照(结局完全一致:BLACK/BLACK/RED/DRAW)
这些都不是用户指定的,是 Claude Code 自己判断"要回答能力不下降这个问题,必须有什么证据"而设计出来的。
报告里明确写:"Baseline run was time-budget limited and stopped after 4 games (originally targeted 10)"。没有掩盖未跑满 10 局的事实,反而用同 seed 做了严格 4×4 对照。这种"完成度不满意、但科学性满意"的态度,比 Codex "10 局全跑完但每局都一样"的形式合规更有价值。
十、加速比的真实可比性
| 指标 | Codex v1 | Codex v2 | Codex v3 | CC · DeepSeek V4 Pro | CC · Opus 4.7 |
|---|---|---|---|---|---|
| 加速比测量方式 | 2 个局面单独探针 | 未测量 | 初始局面探针 + 10 局重复 | 49 局面 benchmark | 4 局完整对局 + 20 局面独立验证 |
| 报告的加速比 | 12.04x ~ 13.27x | — | "31.6x"(120s/3.8s) | 1.13x(mean / median) | 7.6x(每步平均)/ 7.2x(整体) |
| 样本数 | 2 | 0 | 1 个独特局(10 局重复) | 49 局面 | 系统级 4 局 + 局面级 20 |
| 是否在真实对局上验证 | 否 | 否 | 10 局走法相同 | 仅 benchmark | 是(端到端对局) |
| 是否合规(红方未优化) | 违反 | 合规 | 再次违反 | 合规 | 合规 |
| 是否找到真实瓶颈 | 未 profile | 未 profile | 未 profile | 否(误判网络是瓶颈) | 是(Python get_legal_moves) |
十一、综合能力评分
| 能力维度 | CC · Opus 4.7 | CC · DeepSeek V4 Pro | Codex v1+v2+v3 合计 | 评分依据 |
|---|---|---|---|---|
| 任务约束理解 | ★★★★★ | ★★★★★ | ★★☆☆☆ | 两个 Claude Code 均合规一次过;Codex v1 违反硬约束 |
| 评测设计能力 | ★★★★★ | ★★☆☆☆ | ★☆☆☆☆ | 仅 Opus 4.7 做 seed 多样化;DeepSeek 10 局重复;Codex 同样 10 局重复 |
| 工程方法论(profile 深度) | ★★★★★ | ★★★☆☆ | ★★☆☆☆ | Opus 4.7 找到 Python 瓶颈;DeepSeek 浅 profile 误判网络;Codex 未 profile |
| 结果可信度 | ★★★★★ | ★★★★☆ | ★☆☆☆☆ | DeepSeek 49/49 严格走子等价(最严);Opus 4.7 端到端 + 万级;Codex 仅 2 局面 |
| 报告完整度 | ★★★★★ | ★★★★☆ | ★★★☆☆ | Opus 4.7 11 阶段时间线;DeepSeek 含限制专章;Codex 简略 |
| 诚实度/透明度 | ★★★★★ | ★★★★☆ | ★★☆☆☆ | DeepSeek "1.13x 是天花板" 看似诚实但底层判断错;Opus 4.7 披露失败实验 |
| 耗时效率 | ★★★☆☆ | ★☆☆☆☆ | ★★★★☆ | DeepSeek 15 小时最慢且加速最少(每小时仅 0.075x 加速);Codex 单次快但需重跑 |
| 核心目标达成 | ★★★★★ | ★★★☆☆ | ★☆☆☆☆ | Opus 4.7 7.6x + 能力持平;DeepSeek 1.13x + 能力持平但全和棋;Codex 未达成 |
十二、最终判断
Claude Code (Opus 4.7) 在本任务上综合能力最强
核心证据可以分两层看:
第一层:Claude Code 框架 vs Codex 框架(无论底层模型)
- 约束精确性:两个 Claude Code 实例都正确遵守了"红方不优化"硬约束;Codex 三连违规(v1 红方优化 / v3 又把红方优化),即使 v2 显式修复后 v3 仍犯了同样的错。
- 验证主动性:两个 Claude Code 实例都主动设计了等价性验证(19,288 / 49 局面);Codex 三版加起来仅 0-2 局面。
- 诚实披露:两个 Claude Code 实例都主动披露了限制(未跑满 10 局 / 加速比天花板);Codex 全是形式合规,v3 甚至以"31.6x 加速"美化双重不可信的数字。
第二层:Opus 4.7 vs DeepSeek V4 Pro(同框架不同模型)
- profile 深度:Opus 4.7 通过深度 profile 找到真实瓶颈(Python 侧 get_legal_moves);DeepSeek 浅 profile 误判网络是瓶颈。
- 失败迭代:Opus 4.7 的 v1 batched 实验失败后重新 profile 找真因;DeepSeek 测了 batch eval 表现不佳就直接拒绝。
- 多样化设计:Opus 4.7 主动想到 seed 多样化保证 10 局有统计学意义;DeepSeek 跑出了 10 局全和棋的退化结果。
- 最终加速比:Opus 4.7 7.6x · DeepSeek 1.13x,差距 6.7 倍——而且 DeepSeek 还把"1.13x 是天花板"作为结论给出。
核心洞察:
- "框架素养"决定 合规性(红方不变、等价性验证、诚实披露)——这一点 Claude Code 显著强于 Codex;
- "底层模型"决定 工程深度(profile 深度、失败迭代、设计想象力)——这一点 Opus 4.7 显著强于 DeepSeek V4 Pro。
本任务的最强组合是"严谨框架 + 强模型",即 Claude Code (Opus 4.7 thinking max)。Codex 在框架层就掉队,DeepSeek 在模型层达不到深度——只有 Opus 4.7 同时把两层都做对了。
效率角度的补充:耗时也印证了这一判断。Opus 4.7 99 分钟拿到 7.6x 加速;DeepSeek 跑了 15 小时(17:00 至次日 08:00)只拿到 1.13x;Codex 三版合计 72 分钟产出不可用结果。"加速比 ÷ 投入时间"指标下,Opus 4.7 的工程效率比 DeepSeek 高 70 倍以上。
十三、原始数据来源
| 报告 | Agent 框架 | 底层模型 | 路径 | 生成时间 |
|---|---|---|---|---|
| Codex v1(首次执行) | Codex | GPT 5.5 (extra-high) | ../codex_gpt5.5_v1/reports/step3_inference_report.html |
2026-04-25T04:44:53 |
| Codex v2(重跑) | Codex | GPT 5.5 (extra-high) | ../codex_gpt5.5_v2/logs/ai_vs_ai_optimization_report.html |
2026-04-25T17:28:57 |
| Codex v3(再跑) | Codex | GPT 5.5 (extra-high) | ../codex_gpt5.5_v3/reports/ai_vs_ai_step2_vs_step3_report.html |
2026-04-26T15:58:04 |
| Claude Code (Opus 4.7) | Claude Code | Claude Opus 4.7 (thinking max) | ../claude_code_opus_4.7/bench/results/report.html |
2026-04-25 17:32:34 |
| Claude Code (DeepSeek V4 Pro) | Claude Code | DeepSeek V4 Pro | ../claude_code_deepseek_v4_pro/inference_optimization_report.html |
2026-04-26 03:49:55 |