写清任务合同
输入是什么、要改哪些文件、不能碰什么、什么结果才算完成。它是给执行者和检查者共用的说明书。
模型负责生成和执行。Harness 负责告诉它边界、在危险动作前拦一下、在完成后留下能重跑的证据。没有它,Agent 只是“看起来做完了”。
例如,让 Agent 修改一个配置文件。你需要的不是十个 MCP,而是下面四步。四步都走通,才有资格扩展。
输入是什么、要改哪些文件、不能碰什么、什么结果才算完成。它是给执行者和检查者共用的说明书。
删除、强制推送、写外部平台这类动作,不只写在提示词里。把它们接到 Hook 或安全门上。
不仅验证“正确配置能通过”,也验证“错误配置会被拦住”。只跑正例,不能说明保护真的有效。
执行 Agent 不能给自己判完成。检查者重跑命令、看退出码,并把仍需人工确认的地方单独列出来。
CLAUDE.md、Skill 和任务说明告诉 Agent 应该怎么做。Hook、安全门和脚本则在关键时刻真正执行规则。两者缺一个都不完整。
用具体动作表达:何时允许写、何时必须询问、完成时要带什么证据。避免“注意安全”这类无法判断对错的话。
CLAUDE.md · Skills · Task Contract危险命令、敏感文件、外部写入在工具调用前检查。模型忘了规则时,机制还能把它拦下来。
Hook · Safety Gate · Exit CodeHarness Check 不给一个掩盖细节的总分。它把自动化、人工确认和未决风险分开,因为它们不是同一种结论。
例如改一份配置或生成一个固定格式的文件。不要从发布、付费或生产删除开始。
先让错误路径能失败,再谈自动化通过。
bash .harness/scripts/verify.sh --working-tree
它为什么发生、以后由规则、Hook 还是测试防住、怎样回归验证。这个记录就是失败台账的起点。