1 什么是Harness Engineering

针对agent的设计和构建约束机制、反馈回路、工作流控制和持续改进循环的系统工程实践。解决agent 1)无有效的实时评测,不稳定。2)输出一致性不强。3)不好长期维护的问题。

注:仅做自己的学习笔记用

2 harness的工程架构

2.1 架构介绍

Harness Engineering 并不是凭空出现的,它是Prompt Engineering和Context Engineering的自然延伸。三者构成嵌套关系。

harness engineering有四大支柱:

1. 上下文工程

        实践中分为三层记忆:

三层上下文体系

层级 加载时机 内容示例 上下文占用
Tier 1:会话常驻 每次会话自动加载 AGENTS.md / CLAUDE.md,项目结构概览 最小
Tier 2:按需加载 特定子 Agent 或技能被调用时 专业化 Agent 的上下文、领域知识 中等
Tier 3:持久化知识库 Agent 主动查询时 研究文档、规格说明、历史会话 按需

2. agent专业化

        将agent根据领域进行技能划分,子agent只要获取相关上下文即可,通用性agent由于上下文巨大反而不利于扩展,子agent化有利于扩展。

实践中的角色分工

Agent 角色 职责范围 工具权限
研究 Agent 探索代码库、分析实现细节 只读(Read, Grep, Glob)
规划 Agent 将需求分解为结构化任务 只读,无写入权限
执行 Agent 实现单个具体任务 限定范围的读写权限
审查 Agent 审计完成的工作,标记问题 只读 + 标记权限
调试 Agent 修复审查发现的问题 限定范围的修复权限
清理 Agent 对抗熵积累,清理低质量代码 读写权限

3. 持久化记忆

        核心原则:进度持久化在文件系统上,而非上下文窗口中。每次新 Agent 会话从零开始,通过文件系统制品重建上下文。

* Linter 错误消息即修复指令

传统 Linter 错误消息仅标记违规。OpenAI 的自定义 Linter 在错误消息中直接包含修复方法——Agent 在遇到违规时同时获得了"教学"。

4. 结构化执行

        核心原则:将思考与执行分离。研究和规划在受控阶段进行,执行基于验证过的计划,验证通过自动化反馈(测试、Linter、CI)和人类审查完成。

Harness 模板可能包含

自定义 Linter 规则

结构测试

基础上下文和知识文档

额外的上下文提供者

预配置的 CI/CD 管道

2.2 最佳实践总结

2.2.1 立即可行的行动清单

创建并维护 AGENTS.md:不是一次性任务,而是每当 Agent 犯错时都更新的活文档。

在仓库中建立单一事实源:所有团队知识作为版本控制的制品存放在代码仓库中,不放在 Slack、Wiki 或 Google Docs。

构建自定义 Linter 并在错误消息中嵌入修复指令:工具在 Agent 工作时同时"教会"它。

为 Agent 提供端到端测试工具:浏览器自动化(如 Puppeteer MCP)显著提升验证质量。

实施增量执行策略:每次会话只处理一个功能,完成后提交 git 和进度更新。

分层管理上下文:避免将所有信息堆叠在单个文件中,使用 Tier 1/2/3 渐进式披露。

上下文利用率保持在 40% 以下:更多 token 不代表更好的结果。

建立定期"垃圾回收"机制:自动化 Agent 定期清理技术债、检查文档一致性。

2.2.2 Harness 成熟度评估模型

阶段 特征 工程师角色
Level 0:无 Harness 直接给 Agent prompt,无结构化约束 手动写代码+偶尔使用 AI
Level 1:基础约束 AGENTS.md + 基础 Linter + 手动测试 主要写代码,AI 辅助
Level 2:反馈回路 CI/CD 集成 + 自动化测试 + 进度追踪 规划+审查为主,部分 AI 编码
Level 3:专业化 Agent 多 Agent 角色分工 + 分层上下文 + 持久化记忆 环境设计+管理为主
Level 4:自治循环 无人值守并行化 + 自动化熵管理 + 自修复 架构师+质量把关者

2.2.3 关键 Harness 组件检查清单

组件 用途 优先级
AGENTS.md / CLAUDE.md 会话常驻上下文,动态反馈循环 P0
自定义 Linter + 结构测试 机械化执行架构约束 P0
CI/CD 管道 自动化测试和验证反馈 P0
进度文件 (progress.txt / JSON) 跨会话的持久化记忆 P1
功能列表文件 (feature_list.json) 结构化完成标准 P1
浏览器自动化 (Puppeteer MCP) 端到端测试验证 P1
可观测性集成 Agent 可查询日志/指标 P2
熵管理 Agent 定期清理低质量代码 P2
专业化子 Agent 分工协作减少上下文污染 P2
MCP 工具集成 连接外部工具和数据 P2

3 参考

https://zhuanlan.zhihu.com/p/2014014859164026634

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐