Crucible Skill:让两个 AI 模型互相审查的 Claude Code 计划硬化神器
当你让 Claude Code 直接开干一个中型项目时,最常见的翻车不是代码写得烂,而是计划本身从根上就是错的:一个不可达的访问路径、一个会在数据写入后产生脏读的模型、一个根本没数据源的”首页功能”……这些问题在 Claude 自审时几乎抓不出来——审它自己写的东西,跟让作者给作品打分没区别。
Crucible 是一个装在 Claude Code 上的「计划硬化」技能:Claude 先和你把意图对齐并锁定 PLAN.md,然后让 OpenAI Codex(跨厂商的竞品模型)在只读沙箱里一轮又一轮地攻击这个计划,直到挑不出更多毛病为止。可选第三阶段把代码生成也交给 Codex,Claude 反过来读 diff 当 PR reviewer,把”写的人不能同时是评的人”这个 AI 辅助编程的最大盲点硬性拆开。
功能与原则
- 三阶段硬化流程:RECON(侦察代码库/前沿研究)→ INTERROGATE(关键决策逐条访谈,次要决策批量确认)→ REVIEW(Codex 跨厂商对抗审查)→ 可选 BUILD(Codex 写代码 + Claude 反向读 diff 验证据)
- 跨模型对抗:写计划的模型(Claude)和审查计划的模型(Codex)强制不同厂商,打破「自审回音壁」,每一轮审查的发现都会被 Codex 持续记住并攻击自己之前被接受的修复
- 用户只在三处介入:确认 Assumptions Ledger、回答关键访谈、签署最终收敛的 PLAN.md,Codex 全程只读不写文件
- 诚实优先于流程:MAX_ROUNDS 上限宁可标记死锁也不假装 APPROVED,每一次 Codex 的攻击与 Claude 的仲裁都会写入 PLAN-REVIEW-LOG.md 作为可审计的证据链
认可度
- GitHub Stars:1,184(截至 2026-08-18,GitHub API 当下核对)
- Forks:120
- Watchers:10
- 创建时间:2026-06-05,最近一次推送 2026-08-13,处于活跃维护期
- Trending 经历:项目前身 grill-me-codex 在 Claude Code 社区被广泛传阅,crucible 改名后继承迁移路径,GitHub 老 URL 自动 301,旧用户
git pull即可无缝升级 - 社媒讨论:配套 YouTube 频道 @chaseai 持续输出 AI 编程教学,Chase AI+ 社区中有专门讨论此工作流的开发者群体
链接
- GitHub:https://github.com/chaseai-yt/crucible
原作者
Chase AI(GitHub: chaseai-yt)。YouTube 频道主理人,专注 AI 编程工作流拆解与 agent 工具教学,长期维护 grill-me-codex / crucible 一类「AI 编程工作流审计」型 Skill 集。
介绍
Crucible 的核心定位是「让 AI 编程在动手之前先被另一个 AI 拷打过」。
工作流从一个 RECON 阶段开始:Claude 先读代码库与既有文档,或在 greenfield 场景下研究前人方案、技术栈和已知坑;接着它输出一份 Assumptions Ledger,把所有已被代码或研究回答掉的事实一次性确认,然后才进入真正的访谈环节——INTERROGATE 把尚未解决的决策拆成「承重问题」和「装饰问题」两类,前者逐条访谈并附带「为什么重要 + 默认推荐 + 猜错的代价」,后者批量按默认通过即可,任何时候你都可以说「接受其余推荐」一键收尾。
锁定 PLAN.md 后进入真正的重头戏:Codex 在只读沙箱里逐轮审查,输出 VERDICT: APPROVED 或 REVISE + 具体缺陷;Claude 当仲裁,拒绝站不住脚的批评并修订,再恢复同一 Codex 会话继续下一轮。两个模型在同一份文档上来回拉锯,直到没人能再找到问题,或达到 MAX_ROUNDS 上限——这种「死锁也好过假通过」的设计让最终输出比单模型自审可靠得多。
特点
- 跨厂商对抗审查:Claude 写、Codex 审,强制不同模型家族参与,从根源避免「自审回音壁」
- 只读沙箱隔离:Codex 审查阶段全程 read-only,直到你签收 PLAN 之前一行代码都不会落盘
- 可审计证据链:每次创建/修订都会写日志到每条 Skill 的账本,事后可重放完整论辩过程
- 零配置上手:通过 Claude Code plugin marketplace 一行命令装好,Skill 默认
MAX_ROUNDS=5、LOG_FILE=PLAN-REVIEW-LOG.md,参数化覆盖门槛极低 - 可选 BUILD 阶段:Codex 拿到最终 PLAN.md 接管写代码,Claude 转去做 PR reviewer 读整段 diff,实现「两个模型在不同方向上互相检查」的双保险
使用方法
前置条件:Codex CLI ≥ 0.130(npm install -g @openai/codex@latest)+ codex login(任意 ChatGPT 账号即可)。
通过 Claude Code 插件市场安装(推荐):
/plugin marketplace add chaseai-yt/crucible
/plugin install crucible@crucible
手动安装:
# macOS / Linux
cp -r skills/* ~/.claude/skills/
# Windows (PowerShell)
Copy-Item -Recurse skills* $env:USERPROFILE.claudeskills
安装后以 /crucible、/crucible:codex-review、/crucible:codex-build 三种命名空间触发,直接说「crucible this plan」也会自动匹配到对应 Skill。常见参数:rounds=3 覆盖默认轮数上限、research=deep 在 RECON 阶段启用多代理深度研究。
使用场景与人群
- 复杂新项目立项:任何 greenfield 中型项目(小型 CRM、内部工具、API 服务)都可以在动代码前先跑一遍 Crucible,把方案缺陷在写代码之前就拦下来
- 关键路径重构:既有代码库中影响数据一致性的子系统重构——Crucible 的跨模型对抗能抓到 Claude 自己写时根本不会自我怀疑的边界条件错误
- 团队对齐与可审计交付:PLAN-REVIEW-LOG.md 是天然的项目设计文档,适合作为 Code Review 的前置物提交给团队或上级
- AI 编程工具重度用户:已经在用 Claude Code 但对「一次跑出来就交付」不放心,想要在保留 Claude 工作流的同时引入独立审查视角的开发者
输入与输出案例
输入:「我要做一个单人 CRM,联系人/公司/机会三张表,首页展示最近 7 天跟进的任务列表和金额漏斗。」
第一轮输出(RECON):
Assumptions Ledger:
1. 数据源:本地 SQLite(已确认)
2. 多用户:不需要(单人)
3. 部署:本地 desktop / CLI
4. 提醒:不做邮件/短信,做本地通知
进入 INTERROGATE——以下为承重问题:
Q1:首页"金额漏斗"是按当前阶段(stage)汇总,还是按预期成交金额(expected_value)汇总?
推荐:按 expected_value,理由:阶段会随时间前移,但漏斗要的是"钱还在哪儿"
猜错代价:用户看到的金额和实际成交金额差一个数量级,失去决策价值
第四轮 REVIEW 输出(Codex → Claude):
Round 4 — Codex 攻击结果(VERDICT: REVISE):
• [致命] PLAN.md §3.2 中的「机会-联系人」多对多关系只用了单向 FK,
在删除联系人时会出现悬挂引用,SQLite 不会报错,数据会静默腐烂
• [致命] 首页漏斗查询未声明 index,但 7 天窗口 JOIN 三张表,
数据量过万时会触发全表扫描
• [次要] 通知模块未指定权限范围,默认全盘读权限过宽
Claude 仲裁:接受全部 3 项,修订至 PLAN.md §3.2/§4.1/§6.3
最终交付物:PLAN.md(一份 12 页带决策树的实施清单)+ PLAN-REVIEW-LOG.md(4 轮 Codex 攻击与 Claude 仲裁的完整论辩记录,约 800 行)。原作者公开的第一次端到端跑下来,crucible 在 5 轮里收敛 26 → 15 → 12 → 2 → 0 个缺陷,抓出 1 个根本不可建的子系统架构和约 6 个会污染数据的模型设计——这些都是 Claude 自审时几乎不会标红的盲点。
评论区
登录后可评论。