工程方法 · Lesson 04
Harness Engineering:为 Agent 设计工程环境
把项目规则、工具、权限、测试、日志和恢复机制组织成 Agent 可以可靠工作的环境。
完成后你能:
- 识别 Agent Harness 的组成部分
- 用项目规则和工具降低重复解释
- 为 Agent 设置权限、反馈和恢复边界
Harness Engineering 关注 Agent 在什么环境里工作:它能读取什么、使用哪些工具、收到什么反馈、如何判断完成、失败后怎样恢复。OpenAI 将这类工作概括为设计环境、明确意图和建立反馈循环。
可借鉴的 Harness 机制
Claude Code Plugins、Hooks 和 Permissions 可以组合成一个 Harness:插件提供能力,Hook 在工具调用前后执行确定性检查,权限系统决定哪些动作必须得到人工批准。这里没有一个“万能 Harness Skill”;关键是把工具、反馈、审批和恢复路径组合起来,并且让这些边界可以审计。
一个 Harness 包含什么
| 部件 | 项目中的例子 |
|---|---|
| 任务规范 | SPEC.md、Issue、验收清单 |
| 项目记忆 | AGENTS.md、README、架构说明 |
| 工具接口 | 搜索、编辑、Git、测试命令 |
| 反馈系统 | 类型检查、单测、E2E、构建日志 |
| 状态与观测 | 进度文件、Diff、命令输出 |
| 权限边界 | 工作区、网络、凭证和发布审批 |
| 恢复机制 | 小提交、worktree、回滚和停止开关 |
项目规则应回答如何安装、测试和构建,哪些文件不能改,何时必须先计划,以及完成后要提供什么证据。规则要短、可执行、经常验证。
Agent 能在几分钟内改几十个文件,不代表应该允许它这么做。一次理想任务应解决一个可命名的问题、修改高度相关的文件、能运行明确检查,并且可整体撤销。
完成检查