以视图视角出发的harness五大子系统架构设计详解

alex
0
2026-06-30

现在回到实现视角出发的harness架构,本文将会详细讲述五大子系统如何构建、核心原理(有读者遗忘了可以回看06harness工程文章的第六章节部分)、这节课要给 harness 一个精确的、可操作的定义。不是学术论文里的抽象概念、不是功能视角的六级分层结构也不是系统视角的四层体系。而是你今天就能拿去用的框架。harness 由五个子系统组成:指令、工具、环境、状态、反馈。每个子系统都有明确的职责和评判标准。

一、Harness 五子系统模型

指令子系统:创建 AGENTS.md(或 CLAUDE.md),内容包括项目概览和目的、技术栈和版本、首次运行命令、不可违反的硬约束、指向更详细文档的链接。

工具子系统:确保 agent 有足够的工具访问权限。不要因为"安全考虑"把 shell 给禁了,agent 连 pip install 都跑不了,还怎么干活?但也别什么都开放,按最小权限原则来。

环境子系统:让环境状态自描述。用 pyproject.tomlpackage.json 锁定依赖,用 .nvmrc.python-version 指定运行时版本,用 Docker 或 devcontainer 让环境可重现。

状态子系统:长任务必须有进度跟踪。用一个简单的 PROGRESS.md 文件记录:哪些做完了,哪些在做,哪些被阻塞。每个会话结束前更新,下一个会话开始时读取。

反馈子系统:这是投入产出比最高的子系统。在 AGENTS.md 里显式列出验证命令:

验证命令:
- 测试:pytest tests/ -x
- 类型检查:mypy src/ --strict
- Lint:ruff check src/
- 完整验证:make check(包含以上全部)

核心要点

  • Harness = 指令 + 工具 + 环境 + 状态 + 反馈,五个子系统缺一不可。

  • 不是模型权重的部分全是 harness,你的 harness 决定了模型能力能被发挥多少。

  • 五个子系统中,反馈子系统通常是投入最少、回报最高的。先把验证命令写清楚。

  • 用"控制变量排除法"量化各子系统的边际贡献;定位真正瓶颈要靠失败记录和归因,不能只靠拆除实验。

  • Harness 和代码一样会腐化,定期审计,像还技术债一样还 harness 债。

参考文献

https://walkinglabs.github.io/learn-harness-engineering/zh/skills/

动物装饰