天天用 Claude Code 和 Codex,但你比过它们在你自己的活上谁更强吗?我写了个工具让它们同台开打

先抛一个我觉得很多人没认真想过的事实:同一个模型,套在不同的工具里,干活水平能差出一大截。

有人做过独立测试,同样是 Claude Sonnet,通过 Claude Code 跑某个 benchmark 是 77%,通过 Codex 跑是 93%,差了 15 个点。模型一模一样,差的全是外面那层 harness,也就是工具怎么给模型喂上下文、怎么管工具调用、怎么处理多轮。

这件事的含义是:「哪个 AI 编程助手更好」根本不是一个模型问题,而是一个任务级的经验问题。在你这个具体仓库、这类具体任务上谁更强,只能测,不能靠口碑和直觉。

但现实是几乎没人真去测。因为测起来很烦:开三个终端,把同一个任务分别敲进 Claude Code、Codex、aider,等它们各自跑完,再肉眼比三份 diff,手动数 token 和耗时。一次两次还行,每个任务都这么来谁受得了,于是大家随便选一个就一直用下去了。

我把这一个小时的活压成了一条命令,工具叫 CodeJoust,pip install codejoust 就能装。

github.com/he-yufeng/C...

它做什么

一条命令,把同一个任务并行丢给多个 AI 编程 agent,每个在自己独立的 git worktree 里跑(互相看不到对方的改动,也不会污染你的工作区),跑完自动打分、给你获胜的那份补丁:

bash 复制代码
codejoust run "fix the off-by-one in Scheduler.next_fire" \
  --agents claude-code,codex,aider --test "pytest tests/test_scheduler.py"

你会拿到三样东西:

  • 一张按名次排好的终端表格(谁赢一目了然)
  • 一个单文件 HTML 报告,里面是每个 agent 的完整 diff,可以直接分享
  • 每个 agent 一个 .patch 文件,看中谁的直接 git apply 落地

终端输出大概长这样:

bash 复制代码
  #  agent         status    diff        tests    cost      time
★ 1  claude-code   success   +38/-2      8/8      $0.028    71.3s
  2  codex         success   +21/-1      7/8      $0.019    55.7s

winner: claude-code

它怎么判谁赢

我特意没搞成一个糊在一起的加权总分,那种分谁也说不清是怎么来的。CodeJoust 用四个信号,按固定优先级顺序,第一个能严格分出高下的信号就定胜负:

  1. 测试通过率通过数 / 总数)。自动识别 pytest 或 npm test,也能 --test 指定。
  2. 成本(美元)。越低越好,从每个 CLI 自己的 usage 输出里抠出来。
  3. diff 大小(增删行数)。越小越好,改动越克制通常越安全。
  4. 墙钟时间。平手时的 tiebreaker。

这个顺序是有讲究的:如果 Claude Code 过了 8/8、codex 过了 7/8,那 codex 再便宜也没用,正确性优先级最高,先压过去。只有在正确性打平时,才轮到成本、改动量、速度去比。我觉得这套排序比一个魔法权重总分诚实得多,每个判断你都能复盘是哪一条决定的。

一点工程细节

  • 每个 agent 一个 git worktree:这是关键。多个 agent 真并行跑同一个仓库,不隔离的话改动会互相打架。用 worktree 各跑各的,跑完各自出一份独立 diff,干净。
  • CodeJoust 自己不碰你的 key:它只是 shell 调各家的 CLI(claude-code、codex、aider、gemini cli),你本来怎么登录、key 配在哪,原样照用,它不接管认证。
  • 可复现 :在被测仓库放一个 codejoust.yaml,把参赛 agent、测试命令、超时、要不要出 HTML 固化下来,之后每次 codejoust run "任务" 都是同一套裁判标准。命令行参数还能临时覆盖。
  • codejoust doctor:先自检你本机装了哪些 agent CLI,省得跑到一半发现某个没装。
  • 产物全落在 .codejoust/runs/<时间戳>/:HTML 报告、session.json(结构化数据,方便接 CI 或脚本)、每个 agent 的 .patch 和原始日志。

谁用得上

  • 正在纠结买哪个 / 续费哪个的人:别看测评榜,测你自己的活。在你真实的仓库、你常写的那类任务上跑几次,数据会告诉你答案。
  • 想接进 CI 的团队session.json 是结构化的,可以把「同一类任务哪个 agent 性价比最高」做成长期监控。
  • 纯好奇的人:看同一个 bug 不同 agent 给出的不同解法,本身就挺涨见识,有的保守有的激进,差别很明显。

pip install codejoust,代码在 github.com/he-yufeng/C... ,MIT 开源。觉得有用给个 star,也欢迎提 issue 说你想让它再支持哪个 agent。

最后抛一个我觉得很值得较真的问题。如果同一个模型,只是换一层 harness,就能在某些 agent benchmark 上摆动三五十个百分点(今年 Terminal-Bench、SWE-bench 上都有人测出过这种量级),那我们现在挂在"某模型编程能力"名下的那些榜单,到底有多少在测模型本身,又有多少其实在测它外面那层脚手架?当"能力"本质上是模型、harness、任务三者的联合产物,一个真正可复现、能横向比较的 agent 评测协议,到底该把哪些东西固定死,又必须把哪些显式报告出来?我做 CodeJoust 越久,越觉得"别看榜、测你自己的活"这句话背后,其实藏着一个还没被认真解决的测量学问题。

相关推荐
明月_清风11 小时前
🤗 Hugging Face 模型上传完全指南:从本地到 Hub 的 4 种姿势
前端·后端·ai编程
顿哥GPT11 小时前
2026年8月更新:ChatGPT与Codex深度实践——从Token消耗到AI编程效率优化,开发者如何管理自己的AI用量(GPT-5.6 最新分享)
人工智能·chatgpt·ai编程
学者猫头鹰12 小时前
Agent与自定义Skill开发实战手册(Python/Java双版本)
ai编程
程序员黑豆12 小时前
Java入门第一步:从零开始编写你的第一个Hello World程序
java·前端·ai编程
就叫飞六吧14 小时前
codex无直接proxy 配置,拓展proxy方案
javascript·ai编程
明月_清风15 小时前
🚀 AI Agent 完全入门指南:从 LLM 到生产落地,新手必懂的 34 个核心概念
前端·后端·ai编程
plainGeekDev15 小时前
Git Hooks + 定时任务:把 Claude Code 嵌入任何自动化流程
aigc·ai编程
9i编程15 小时前
手敲重构学透 Multi-Agent 代码(上):逐行拆解 AgentScope 1.0.8,从「跑通了但没懂」到真懂了
人工智能·openai·ai编程
libokaifa15 小时前
Claude Code 的工程化落地:插件(Plugin)篇
ai编程
吾皇斯巴达15 小时前
一些我开发过程中用到的AI配置
ai·ai编程