MMarathon
Claude Code 和 OpenAI Codex 通用的 skill

把要做几个小时的项目交给 AI,Marathon 一直做到达标为止

它先和你定好目标和评分标准,再派多个 worker 并行干活;每一轮由两个不同的模型独立打分,直到分数达标、分数不再上涨或预算用完。最后提交、上线,并给你一份决策备忘。

一个 zip 包支持 Windows、macOS、Linux · 免费,MIT 许可 · 需要 Python 3.10+ 和 Claude Code(默认模式还需要 Codex CLI)

status(简化)
● running · build wave 9 · 47.9 / 57 h
Progress ████████████░░░░░░░░ 58%
Targets  14 / 22 met
Score    73.5 → 76.5 → 77.0   pass 75
Workers  3 running · GPT-6.1-Sol high
Gate     Opus 5.5 xhigh + GPT-6-Astra high
Next     inventory walk · UI audit
根据一次真实的业务系统项目简化(预算 57 小时,已用 47.9 小时)。随时问一句“进度”,就能看到这样的面板,以及 lead 自己的判断。
−72%
worker 换成 Codex 后,每活跃小时的 Claude 花费(另一个项目 −59%)
67.5 → 77.0
一个停在 65.5–67.5 分的项目,切换后三轮内达标
5 / 6
盲测重做 6 个历史任务,Codex worker 一次通过的数量(Claude Opus worker 为 3 个)

你只和一个 lead 说话;worker 干活;每轮两个模型打分

1 开工最多 5 个问题默认值已选好 · 定目标 2 派活几行任务说明交给并行的 worker 3 汇报每个 worker 交回一段简短总结 4 闸门Opus + Astra 给同一个冻结的版本打分 5 修改或交付没达标:下一波达标:提交、上线 没达标时,lead 按评审指出的最大短板安排下一波
  1. 1 开工最多 5 个问题,默认值已选好;定下目标
  2. 2 派活几行任务说明,交给并行的 Codex 或 Claude worker
  3. 3 汇报每个 worker 交回一段简短总结(≤300 个英文单词)
  4. 4 闸门Opus 和 Astra 给同一个冻结版本打分
  5. 5 修改或交付没达标:按最大短板安排下一波;达标:提交、上线
lead 只做决定。上下文超过 150k token 时,它通过 STATE.md 交给新的 lead 接班,所以一个项目可以连续跑好几天。

它能替你做什么

只问一次,然后开干

开工时最多 5 个问题,默认值已经选好,点一次确认就行;你不在时,10 分钟后按默认开跑。

目标可以检验

开工前就写下对标对象、数字目标和及格线,“做完了”是一个分数,而不是一种感觉。

并行的 worker

同时派多个 worker(默认的 balanced 模式最多 4 个)写代码、做研究、跑测试、改页面。每个只交回一段简短总结,完整报告存成文件。

双模型评审闸门

Claude Opus 和 GPT-6-Astra 独立给同一个冻结版本打分;分歧大时按证据裁决,而不是取平均。

不用说“继续”

停止 hook 让它一直跑下去,直到满足停止条件:达标、连续三轮没有实质进步、预算用完,或者只有你能处理的事。

不怕上下文变长

进度存在 STATE.md 里,不靠记忆。新 lead 在空档接班,从上一个停下的地方继续。

花费算得清

每个 worker 记一行账;marathon.py usage 按 token 类型和价格算出 Claude 花费,钱花在哪一目了然。

交付后再汇报

最终闸门就是独立复核。lead 提交、上线、核对线上版本,最后给你一份备忘:改了什么、局限、下一步选项。

这些事它永远不替你决定
登录、密码、付款、公开发布、删除东西和追加预算,一定等你回答;其他事情才按默认值走。

两种模式:默认 Codex 干活,也可以全用 Claude

Codex worker 模式(默认)全 Claude
lead你对话的那个会话:Claude Code 里是 Claude Opus,Codex 里是你的 Codex 模型
workerGPT-6.1-Sol high → GPT-6-Astra high → Claude SonnetClaude Sonnet → Claude Opus
评审闸门每轮 Opus xhigh + Astra high每轮 Opus,最终轮再加 Astra
花谁的额度worker 用你的 ChatGPT/Codex 订阅或你自己的 API;lead 和 Opus 用 Claude几乎全部用 Claude
什么时候选大多数长项目没有 Codex,或任务离不开只有 Claude 才有的工具

随时可以换,直接说就行(“worker 换成 Astra”“改成全 Claude”),从下一个 worker 开始生效。生物类题目如果 Opus 不愿意审,可以用 Sonnet + Astra 当闸门。

在真实项目上量出来的,不是演示

worker 换成 Codex 后,每活跃小时的 Claude 花费少了 59–72%
Claude 花费,按 API 价格折算,美元 / 活跃小时;切换前 24 小时对比切换后约 20 小时
业务系统 $41.0 $11.4(−72%) 网页游戏 $15.5 $6.3(−59%) 切换前(Claude worker) 切换后(Codex worker)
按项目自己的对话记录、分 token 类型(缓存读写分开)计价。Codex 用的是订阅,不在这些数字里。
卡住的项目,切换后三轮内达标
业务系统项目各轮评审分数(0–100);当时的及格线为 75
及格 75 55 70 Codex worker + 双模型闸门 77.0 R1R5R8最终
第 3–5 轮一直在 65.5–67.5 之间。第 6 轮开始用 Codex worker 并加入第二位评审,第 8 轮首次超过及格线。上涨有一部分来自第二位评审抓到了第一位漏掉的问题,不全是 worker 的功劳。

盲测用 GPT-6-Astra worker 重做了 6 个已完成的任务,与当初 Claude Opus 的结果对比:Codex 一次通过 5 个(Opus 3 个),严重问题 2 个对 8 个。两位评委在每个有争议的用例里都偏向自家模型,所以裁决只认测试结果和能复现的 bug。之后默认 worker 改成了 GPT-6.1-Sol,Astra 仍然一句话就能换回。

一键安装

  1. 下载 marathon-skill.zip,解压到任意位置。
  2. 运行安装程序。Windows:双击 install.cmd;macOS / Linux:sh install.sh。它会装到你已有的 Claude Code 和 Codex 里,旧版本会先备份。
  3. 开始一个项目。在 Claude Code 或 Codex 里说“用 marathon 做……”,回答问题,或者直接让它按默认走。

需要:Python 3.10 或更新,以及 Claude Code;默认模式还需要登录了 ChatGPT 的 OpenAI Codex CLI,或者在 MARATHON_API_BASE_URL 和 MARATHON_API_KEY 里填你自己的 OpenAI 兼容接口。卸载:Windows 运行安装程序加 -Uninstall,其他系统加 --uninstall。

常见问题

它会不会不问我就花钱或公开发布?

不会。付款、公开发布、删除、登录和追加预算一定由你决定;其他事情按开工时你看到的默认值走。

它提问时我不在怎么办?

普通问题 10 分钟后按默认值处理(等待时间可以改,也可以设成 0)。必须你定的事会先放着,其他工作照常进行。

必须同时有 Claude Code 和 Codex 吗?

Claude Code 是必需的:lead 和评审闸门都在 Claude 上运行。Codex CLI 只在默认的 Codex worker 模式下需要(登录 ChatGPT,或配置你自己的 API);全 Claude 模式不需要它。

跟写一段很长的提示词有什么不同?

长提示词会忘、会跑偏、会停。Marathon 把状态写在文件里,开工前定好目标,每轮由两个独立模型打分,在上下文变差之前换 lead,按规则停下,而不是看心情。

适合什么样的项目?

要花几个小时、做得好不好能评判的:网页应用和业务系统、网页游戏、数据网站和地图集、带数字和结论的研究报告。两分钟能修好的小事不需要它。