Skip to content

模板使用指南

这些模板可以直接复制到你的项目里用。每个文件在 agent 的工作流程中各有分工。复制过去后,把里面的命令、路径、功能名称和验证步骤换成你自己项目的。

怎么开始

先把这四个文件复制到项目根目录:

  1. AGENTS.mdCLAUDE.md
  2. init.sh
  3. claude-progress.md
  4. feature_list.json

等项目变复杂了,再补其余的文件。


AGENTS.md

根指令文件。agent 每次开工会先读这个文件。它定义了工作规则:写代码前要做什么、工作过程中怎么守规矩、收尾时要检查什么。

怎么用:

  • 复制到项目根目录
  • 把开工流程里的步骤换成你自己项目的路径和命令
  • 工作规则按你们团队的约定调整
  • 完成定义那一段别改——那是整个 harness 最关键的部分

它帮 agent 做什么:

  • 让它在开始工作前先读进度和功能状态
  • 逼它一次只做一个功能
  • 要求它拿出证据才能标记完成
  • 定义了什么叫"干净收尾"

AGENTS.md 给 Codex 或其他 agent。用 CLAUDE.md 给 Claude Code——内容一样,格式按 Claude 的指令风格来的。

init.sh

启动脚本。一条命令完成依赖安装、验证和打印启动命令。

怎么用:

  • 复制到项目根目录
  • 改顶部这三个变量:
    • INSTALL_CMD — 你的依赖安装命令(比如 npm installpip install -r requirements.txt
    • VERIFY_CMD — 你的基础验证命令(比如 npm testpytest
    • START_CMD — 你的开发服务器启动命令(比如 npm run dev
  • 加执行权限:chmod +x init.sh

它做什么:

  1. 打印当前目录(确认跑在正确的地方)
  2. 安装依赖
  3. 跑验证命令
  4. 打印启动命令(如果设了 RUN_START_COMMAND=1 就直接启动)

如果验证失败了,agent 应该停下来先修基础状态,不要在坏的基础上继续叠新功能。

claude-progress.md

进度日志。每轮会话往里写,每轮新会话先读它。

怎么用:

  • 复制到项目根目录
  • 把"当前已验证状态"那段填上你的项目信息
  • 每轮会话结束后更新会话记录

每个字段的意思:

  • 当前已验证状态 — 项目当前进展的唯一真相
    • 仓库根目录 — 项目在哪
    • 标准启动路径 — 把项目跑起来的命令
    • 标准验证路径 — 跑测试的命令
    • 当前最高优先级未完成功能 — 下一轮该做什么
    • 当前 blocker — 哪里卡住了
  • 会话记录 — 每轮一条
    • 本轮目标 — 打算做什么
    • 已完成 — 实际做了什么
    • 运行过的验证 — 跑了什么测试
    • 已记录证据 — 留下了什么证明
    • 提交记录 — 提了什么 commit
    • 已知风险或未解决问题 — 哪里可能有问题
    • 下一步最佳动作 — 下一轮从哪开始

feature_list.json

功能清单。机器可读的功能列表,每个功能有状态、验证步骤和证据。

怎么用:

  • 复制到项目根目录
  • 把示例功能换成你自己的
  • 每个功能需要填:
    • id — 短的唯一标识
    • priority — 整数,越小越优先
    • area — 属于应用的哪块(比如 "chat"、"import"、"search")
    • title — 简短描述
    • user_visible_behavior — 功能正常时用户能看到什么
    • status — 四种状态之一:not_startedin_progressblockedpassing
    • verification — 逐步验证步骤
    • evidence — 验证通过的记录(agent 填)
    • notes — 额外说明

状态规则:

  • not_started — 还没碰
  • in_progress — 当前正在做的那个(同一时间只能有一个)
  • blocked — 有记录的阻塞问题,推不动
  • passing — 验证通过,证据已记录

agent 任何时候只能有一个功能处于 in_progress

session-handoff.md

会话交接摘要。一轮会话结束时写,下一轮开始时读。让接手的人(或 agent)快速了解现状。

怎么用:

  • 复制到项目根目录
  • 每轮会话结束时填写(也可以让 agent 自己填)

每段写什么:

  • 当前已验证 — 哪些是确认能用的,跑过什么验证
  • 本轮改动 — 改了什么代码或基础设施
  • 仍损坏或未验证 — 已知问题和风险区
  • 下一步最佳动作 — 下一轮该做什么,哪些东西不要动
  • 命令 — 启动、验证、调试命令,方便快速参考

短会话可以不写这个文件。会话长了或者项目有多个并行区域时,它就很关键了。

clean-state-checklist.md

收尾检查清单。每次会话结束前过一遍,确保仓库处于下一轮可以直接开工的状态。

怎么用:

  • 复制到项目根目录
  • 关掉会话前逐项检查
  • agent 的收尾流程里也应该包含这些检查

检查什么:

  • 标准启动路径还能用
  • 标准验证还能跑
  • 进度日志已更新
  • 功能清单真实反映了 passing 和未验证的边界(没有假 passing)
  • 没有半成品处于未记录状态
  • 下一轮会话不需要人工修复就能继续

evaluator-rubric.md

评审评分表。会话结束后或到里程碑时,用它评估 agent 做的东西够不够格。

怎么用:

  • 复制到项目根目录
  • 一轮(或几轮)会话后,按六个维度打分
  • 每个维度 0-2 分

六个维度:

  1. 正确性 — 实现出来的行为是否符合目标功能
  2. 验证 — 要求的检查是否真的跑过,并留下证据
  3. 范围纪律 — 是否基本保持在选定功能范围内
  4. 可靠性 — 结果是否能在重启或重跑后继续工作
  5. 可维护性 — 代码和文档是否清楚到足以交给下一轮会话
  6. 交接准备度 — 新会话是否能只靠仓库内文件继续推进

结论选项:

  • Accept — 达标
  • Revise — 需要修补才能接受
  • Block — 有根本性问题,需要先解决

Evaluator 需要校准。 开箱即用的 agent 做评审很弱——它会发现问题,然后把自己说服到通过。你需要反复校准:

  1. 用 evaluator 给一个已完成的 sprint 打分。
  2. 把它的分数和你自己的人工判断对比。
  3. 有分歧的地方,把 rubric 里的通过/失败标准写得更具体。
  4. 对同一个输出重新跑 evaluator,看对齐了没有。
  5. 重复直到 evaluator 的判断和人工评审基本一致。

预计需要 3-5 轮校准。每轮记录改了什么、为什么改。

quality-document.md

质量快照。给项目的每个产品领域和架构层打分,跟踪代码库随时间是变强了还是变弱了。

怎么用:

  • 复制到项目根目录
  • 开始会话前:读它,了解代码库哪里最弱
  • 会话结束后:更新评级
  • 长期:对比不同时间点的快照,看哪些 harness 改动真正改善了代码库健康度

评什么:

  • 产品领域(如文档导入、问答流程、索引):每个领域按验证状态、Agent 可读性、测试稳定性、关键缺口打分
  • 架构层(如 Main Process、Preload、Renderer、Services):每层按边界执行和 Agent 可读性打分

为什么需要它:

Evaluator rubric 评的是单次 agent 输出的质量。Quality document 评的是代码库本身的质量。它们回答的是不同的问题:

  • Evaluator rubric:"这轮 agent 做得好不好?"
  • Quality document:"这个项目是在变强还是变弱?"

什么时候更新:

  • 每轮重要会话之后
  • 做基准对比之前
  • 做清理或简化之后
  • 换新 agent 或新模型时

和 harness 简化的关系:

Quality document 也可以用来验证 harness 是否可以简化。Harness 里的每个组件都编码了一个假设——"模型做不到这件事"。模型变强后,这些假设就过时了。检查某个组件是否还有必要:

  1. 拍一份 quality document 快照。
  2. 移除一个 harness 组件。
  3. 跑基准测试。
  4. 再拍一份快照。
  5. 对比——评级没降,说明那个组件是多余的。降了,就恢复。