Harness Engineering完整指南:如何让你的AI编码Agent输出提升100倍
【免费下载链接】harness-engineering🐎 Ryan Lopopolo’s anthology, field guide, and agent context bundle for harness engineering项目地址: https://gitcode.com/gh_mirrors/har/harness-engineering
Harness Engineering(驾驭工程)是 Ryan Lopopolo 提出的实践方法:在模型和 AI 编码 Agent 保持不变的前提下,通过优化上下文(Context)与工具(Tools)这两大外部杠杆,把 Agent 的输出质量提升数十倍乃至 100 倍。本仓库是一个"文集 + 现场指南 + Agent 上下文捆绑包",你可以直接把整个仓库连同目标代码库一起交给编码 Agent,它就能按 AGENTS.md 的路由指引,自动把任务引向最相关的论点、案例和证据。
一、为什么 Agent 输出差?先搞懂"固定Worker"原则
大多数人的第一反应是"换个更强的模型"。Harness Engineering 给出了相反的思路:
把模型和编码 Agent 当作黑盒固定住,去改造它周围的环境。
这就是"固定 Worker"(Hold the Worker Constant)原则:在一个采用周期内,Agent 完不成任务,多半不是模型不行,而是缺少机构上下文、可操作的工具、反馈回路、足够权限或结果证据——这些都是环境属性,团队完全可以检查和修复。
OpenAI 的标志性案例说明了这一点:一个内部产品从零开始,5 个月里 Codex 写完了全部约 100 万行代码、1500 个合并的 PR——工程师不改代码,而是持续改进仓库、浏览器、可观测性、评审与交付环境,直到 Codex 能自己启动应用、观察行为、回应评审并交付已验证的变更。详见 docs/fixed-worker/README.md。
🎯新手结论:与其抱怨 Agent 笨,不如问"它缺了什么环境"。
二、两大杠杆:即时上下文 + 可读工具
1. 即时路由上下文:别把全部知识塞进提示词
大上下文窗口并不能解决"注意力"问题。正确做法是:
- 保持一个大而可检索的知识库(磁盘是"无限的上下文池")
- 只给 Agent 一个小的活跃工作集
- 让路由文件(如
AGENTS.md)告诉 Agent什么上下文存在、去哪里找 - 任务推进到关键决策点时,再拉取下一片相关内容
这个"按需取用"的设计在 docs/just-in-time-context/README.md 中有完整论证,包括权威系统、共享上下文库、目标仓库、活跃上下文四层知识的路由表。
2. 让工具"看得见、用得上":六步闭环
工具从"存在"到"可用"要走完一条链:发现 → 选择 → 调用 → 解读 → 修复 → 真实系统验证。缺任何一环,能力都等于不存在。
给每个工具一份"模型可见的目录"(有意义的名字、用途、输入/输出形状、第一次最有用的调用),熟悉度与可发现性要分别处理。案例包括 Ryan 把 MCP 接口换成"2、3 个操作的小 CLI"后 Codex 工作流毫无中断的故事,见 docs/tool-legibility/README.md。
三、12个核心论点:仓库的理论全景
仓库把整套实践拆成 12 个论点(Thesis),每个都是一个独立章节:
| 论点 | 一句话 | 入口 |
|---|---|---|
| 固定Worker | 模型是黑盒,只改环境 | docs/fixed-worker/ |
| 部署进私有数据冰山 | 组织流程数据不会自动进模型权重 | docs/last-mile-deployment/ |
| 一个Agent领完整工作 | 一条主轨迹拥有分解、执行、证明与收尾 | docs/whole-job/ |
| 即时路由上下文 | 大知识库 + 小活跃集 | docs/just-in-time-context/ |
| 工具可读可操作 | 发现-调用-验证闭环 | docs/tool-legibility/ |
| 让仓库教会Agent | 非功能性需求变成可检索的上下文 | docs/domain-modeling/ |
| 显式权限内的最大自主 | 能力与权限分开签约 | docs/authority/ |
| 真实环境证明结果 | 绿勾只证明它断言的事 | docs/proof/ |
| 反馈变基础设施 | 教训沉淀为最早期的持久所有者 | docs/feedback/ |
| 保护连贯性与生命周期风险 | 行为契约、迁移完整性、发布身份 | docs/durable-systems/ |
| 已知工作跑成持续循环 | 有信号、证明和权限的活进入循环 | docs/continuous-maintenance/ |
| 优化可度量的有效性 | 优化"单位人力注意力产出的有用结果" | docs/effectiveness/ |
完整索引见 docs/README.md,仓库自身的分层与检索设计见 ARCHITECTURE.md。
四、三步上手:最快让 Agent 用上这套方法
1️⃣克隆仓库
git clone https://gitcode.com/gh_mirrors/har/harness-engineering2️⃣指向你的目标系统:把这个仓库和你的代码库一起交给编码 Agent。根目录 AGENTS.md 会按"未解决的决策"路由到唯一一个相关论点,而不是把全部语料塞进上下文——这正是仓库自己践行的即时路由。
3️⃣选一个 Playbook 开始行动,playbooks/ 提供两套现成流程:
- 改进一次具体工作playbooks/improve-harness.md:观察基线 → 定位最早失败交接 → 最小可逆干预 → 原生验证 → 全新重跑 → 保留/修改/移除。闭环公式:
基线 → 最早缺口 → 最小干预 → 验证 → 重跑 → 决策 - 评审整个仓库playbooks/repository-review.md:沿代表任务从请求走到交付,定位缺失的上下文、能力、所有权、证明、权限与反馈
五、在真实环境证明结果:绿勾不等于完成
新手最常踩的坑是"测试全绿就收工"。Harness Engineering 的立场:证据必须匹配声称的边界。
- 浏览器行为 → 真实浏览器旅程 + 渲染状态
- 部署 → 被验证的制品在跑 + 部署后健康检查
- 远程高危变更 → 金丝雀、切换、回滚、切换后检查
一个生动案例:团队没有文档描述产品有哪些功能,于是让 Codex 爬代码库生成"功能清单",人工评审后变成 QA Agent 可重复执行的验收套件,部署前的手动冒烟测试大幅减少。证据边界表完整收录在 docs/proof/README.md。
六、延伸阅读:证据库与原始素材
- 仓库 sources/README.md 收录了 Ryan 的全部关键文章(含 2026-02-11 的开创性文章 "Harness engineering: leveraging Codex in an agent-first world")、演讲、访谈与来源清单 sources/sources.json
- 本地保留了原文快照(如 sources/raw/hyperbola/production-function-changed.mdx),Agent 无需联网即可阅读原文
- 思想渊源与其他框架对照见 docs/lineage/
总结
| 你要解决 | 去读 |
|---|---|
| Agent 为什么总"差一点" | docs/fixed-worker/ |
| 上下文太多/太少 | docs/just-in-time-context/ |
| 工具不好用 | docs/tool-legibility/ |
| 怎么验证结果 | docs/proof/ |
| 明天就开始动手 | playbooks/improve-harness.md |
Harness Engineering 的核心洞察只有一句:Agent 的能力上限不在模型里,而在你为它铺设的环境里。上下文与工具就是那两根杠杆,而本仓库正是杠杆的说明书、案例库和可直接投喂给 Agent 的上下文捆绑包。
【免费下载链接】harness-engineering🐎 Ryan Lopopolo’s anthology, field guide, and agent context bundle for harness engineering项目地址: https://gitcode.com/gh_mirrors/har/harness-engineering
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考