BotOf TechAI / IoT / Full-Stack / 植物养护
返回首页Harness Engineering 13:最小可用的 Agent 可读工作区

Harness Engineering 13:最小可用的 Agent 可读工作区

前面 12 篇讲的是原则。这一篇落到工程目录:如果要把一个普通仓库改造成适合 Agent 长期工作的仓库,最小要放哪些文件?

答案不是先做复杂调度系统,而是先让仓库变得“可读、可跑、可验证、可恢复”。这四个能力到位后,再谈更复杂的多角色和自动循环。

最小目录结构

可以从这一组文件开始:

.
├── AGENTS.md
├── ARCHITECTURE.md
├── PROGRESS.md
├── DECISIONS.md
├── feature_list.json
├── evaluator-rubric.md
├── session-handoff.md
├── clean-state-checklist.md
└── init.sh

这不是文档工程,而是 Agent 的工作接口。每个文件都要服务一个动作。

文件目的不应该写成
AGENTS.md入口、硬约束、导航百科全书
ARCHITECTURE.md系统地图和边界过期架构论文
PROGRESS.md当前真实状态情绪化流水账
DECISIONS.md关键取舍会议纪要堆
feature_list.json任务状态机普通待办
evaluator-rubric.md验收评分主观好坏判断
session-handoff.md会话恢复点漂亮总结
clean-state-checklist.md结束条件可选提醒
init.sh标准开工路径一次性脚本

第一步:写一个短入口

AGENTS.md 的任务是让新会话启动,而不是把项目全部讲完。

# AGENTS.md

## Startup
1. Confirm working directory.
2. Read PROGRESS.md.
3. Read feature_list.json.
4. Run ./init.sh.
5. Select one active feature only.

## Working Rules
- Work on one feature at a time.
- Do not mark passing without evidence.
- Do not expand scope silently.
- If baseline verification fails, stop feature work.

## Definition of Done
- Required verification ran.
- Evidence is recorded.
- Clean-state checklist passes.

入口文件越短,越容易被稳定遵守。复杂规则用链接跳到专题文件。

第二步:让功能清单成为调度器

feature_list.json 是最关键的状态文件。它决定 Agent 该做什么,以及什么时候可以停。

必需字段说明
id稳定任务标识
priority调度顺序
area影响范围
user_visible_behavior用户可见行为
status当前状态
verification验证步骤
evidence实际证据

第一版不要塞太多任务。先写 3 到 5 个能明确验证的 feature,让 Agent 学会按状态推进。

第三步:初始化脚本先做小

init.sh 不需要一开始覆盖所有环境。它只要能回答三个问题:依赖是否可用、项目能否启动、最小验证能否跑。

init.sh 应该做:
- 打印当前目录和版本信息。
- 检查必要依赖。
- 检查必要配置。
- 运行一个快速 smoke check。
- 输出下一步建议。

不要让初始化脚本偷偷修改大量状态。它的主要任务是检查和报告。

第四步:进度日志只写可恢复事实

PROGRESS.md 应该帮助下个会话继续,而不是证明上一轮很努力。

推荐格式:

区块写什么
Verified now当前确实可用
Active feature当前唯一任务
Last verification跑过的命令和结果
Known risks未验证路径
Next step下一步和通过标准

示例:

## 2026-06-08

Verified now:
- 应用可启动。
- 文档上传 API smoke check 通过。

Active feature:
- import-003:显示导入进度。

Known risks:
- 20MB 以上文件未验证。

Next step:
- 加入大文件夹具,跑完整上传流程。

第五步:评价表要能拒绝

evaluator-rubric.md 的价值是让检查者敢于说“不通过”。如果评价表只鼓励总结优点,就没有意义。

维度通过问题
正确性是否实现了目标行为
验证是否有实际运行证据
范围是否只改了允许范围
可靠性重启或重跑后是否仍可用
可维护性下个会话是否能理解
交接是否能直接继续

每个维度最好有 0 到 2 分。任何关键维度为 0,都应该要求修订。

最小工作流

这个工作流足够小,但已经覆盖了 Harness 的核心:入口、环境、状态、验证、反馈、交接。

常见落地错误

错误调整
一次写 50 个 feature先写 3 到 5 个
AGENTS.md 写太长拆成入口和专题
只写文档不写命令init.sh 和验证命令
证据停在终端写回 feature 和 progress
评价表太主观改成证据驱动
结束不清理增加 clean-state gate

最小工作区的目标不是自动化一切,而是让每一次 Agent 会话都能从明确状态开始,并在明确状态结束。

参考材料