用 Harness 开发 Harness:Claude Code Harness 自引用开发模式的终极奥义
【免费下载链接】claude-code-harnessClaude Code Dedicated Development Harness - Achieving High-Quality Development Through an Autonomous Plan→Work→Review Cycle项目地址: https://gitcode.com/GitHub_Trending/cl/claude-code-harness
Claude Code Harness是一个让 Claude Code 等 AI 编程助手按「Plan(计划)→ Work(执行)→ Review(评审)→ Release(发布)」纪律循环自主开发的项目。它最特别的地方在于:这个 Harness 本身就是用 Harness 开发的——AI 在计划、实现、评审它自己的同时,还要防止自己「钻规则空子」。本文将带你读懂这种自引用(self-referential)开发模式如何运作,以及它给普通开发者带来的启发。
什么是「自引用开发模式」
所谓自引用开发,简单说就是:用某套开发流程工具来改进这套工具本身。
在 CLAUDE.md 中,项目方明确写下了一句话:
本项目是自引用的——它用 Harness 本身来改进 Harness。
这意味着当 AI 执行/harness-work实现一个任务时,它编辑的往往就是 Harness 自己的技能文件、脚本和 Go 引擎代码。规则在约束 AI 的同时,AI 又在修改规则的载体——这就是自引用开发的核心张力。
自引用循环:五大动词技能如何「套娃」
Harness 把开发流程压缩成 5 个核心命令(详见 README.md):
| 命令 | 作用 |
|---|---|
/harness-plan | 把意图变成spec.md+Plans.md契约 |
/harness-work | 只实现已批准的任务切片 |
/harness-review | 独立于实现者的评审 |
/harness-sync | 对比计划与实际实现的漂移 |
/harness-release | 只打包已验证的证据发布 |
当这个循环「套娃」到 Harness 自身时,会出现三层递进的自引用结构:
- 契约层:spec.md 是产品契约(规定什么必须一直成立),Plans.md 是任务台账(记录 Phase 1 到 138+ 的计划与证据)。AI 的每次改进都必须先落到这两份文件里。
- 执行层:AI 按计划实现,但 CLAUDE.md 特别提醒:「对插件运行
/work意味着在编辑它自己的代码」——这是自引用场景下的日常现实。 - 评审层:评审必须由独立上下文(甚至跨模型,如 Codex 作为伴生评审)完成,防止「自己改的代码自己说好」。
安全网:如何防止 AI「给自己出题、自己判分」
自引用模式最大的风险是:AI 既是被管束的对象,又是规则的修改者。Harness 用三道防线解决它:
- 运行时地板(Runtime Floor):账单、网络外发、密钥读取、生产部署、越界删除这 5 类操作一律直接拒绝,且没有任何配置、环境变量或权限模式可以关闭它。自主运行无法「说服」自己绕过地板。
- 护栏规则 R01–R15:如禁止
git push --force、保护分支推送需确认等,可按项目配置调整力度。 - 宪法保护(自我修改保护):spec.md 明确将规则定义文件、deny 基线、settings 文件列为「不可触碰类」——没有任何 AI 路径可以修改它们,只能人类修改;并设有全局急停开关(
~/.harness/HALT),可先于一切模型判断拒绝所有工具调用。
此外还有两条「反作弊」纪律:
- 测试篡改绝对禁止:CLAUDE.md 将「篡改测试伪造成功」列为绝对禁止项,配套的测试接线审计(agents/test-wiring-auditor.md)会检查测试是否真的连着被测代码。
- 写出来 ≠ 生效:CI 门禁会验证文档声称的组件确实被接线、二进制确实能从源码重建(scripts/ci/check-consistency.sh)。
证据优先:主张必须被机器验证
自引用开发还有一个独特难题:AI 写的文档可能夸大了 AI 实现的功能。Harness 的解法是 docs/claims-audit.md —— 一张「公开主张审计表」,把每条对外宣称的功能分成「现已证明 / 尚未敢强言 / 需补充证据」三类,README 里出现的每一个功能,都必须先通过某个门禁证明它真实可达。
配合只追加不改写的判断台账(docs/judgment-ledger.md),人类的关键决策会被记录、可检索、可在未来的决策卡片中被召回——AI 改自己的规则可以有,但必须有迹可循。
给开发者的三个启发
- 流程比模型更可靠:Harness 不指望模型变聪明,而是固定流程和边界,「这样模型换代时它依然能用」。
- 自引用的关键是人守宪法:让 AI 参与修改自身流程并不可行,可行做法是把「宪法层」留给人,把「执行层」交给 AI,并用只追加日志留痕。
- 证据先于宣传:功能声称必须配机器可验证的证据,「未观察到 ≠ 不存在,但也 ≠ 已支持」。
延伸阅读
- 产品契约正本:spec.md
- 任务台账与阶段证据:Plans.md
- 架构文档:docs/ARCHITECTURE.md
- Go 原生引擎设计:go/SPEC.md、go/DESIGN.md
- 主张审计机制:docs/claims-audit.md
- 判断台账:docs/judgment-ledger.md
如果你想体验这种自引用循环,可以在 Claude Code 中通过插件市场安装claude-code-harness,运行/harness-setup后,从一个/harness-plan开始——让 AI 先出契约,你的工作不是写计划,而是批准或修正它。
【免费下载链接】claude-code-harnessClaude Code Dedicated Development Harness - Achieving High-Quality Development Through an Autonomous Plan→Work→Review Cycle项目地址: https://gitcode.com/GitHub_Trending/cl/claude-code-harness
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考