天天用 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 越久,越觉得"别看榜、测你自己的活"这句话背后,其实藏着一个还没被认真解决的测量学问题。

相关推荐
全栈弄潮儿17 小时前
AI 编程中的隐私与安全:哪些信息不要提交
安全·openai·ai编程
必须会一定会18 小时前
AI 编程工具选型:Cursor、Claude Code、Codex、OpenCode 与 DeepSeek Harness 的产品形态和成本边界
人工智能·ai编程
wangruofeng20 小时前
OpenAI 断供 Cursor:这不是商业决定,是战争行为
openai·ai编程·cursor
码哥字节20 小时前
你的PPT交给人改还是发链接?41k星Skill相反
ai编程
小江的记录本20 小时前
【AI Agent】《2026年9月 AI Agent全栈开发技术选型专项面试宝典》
java·spring boot·python·spring·ai·面试·ai编程
魔术师Grace1 天前
调用一次大模型,就算 Agent 吗?
aigc·agent·ai编程
zandy10111 天前
网络支付合规三重门:Kimi Code、Cursor、GitHub Copilot等五款AI编程工具国内实战测评
github·copilot·ai编程
Java小白笔记1 天前
AI Agent-CLI 的启动命令与跳过权限模式
人工智能·ai·ai编程
陈大鱼头1 天前
突发!OpenAI 要封杀 Cursor
openai·cursor·vibecoding
小虎AI生活1 天前
阿里开源 Pixelle-Video:一段文案 5 分钟出片,我把短视频生产线跑通了
ai编程