Awesome Harness Engineering banner
ai-boost/awesome-harness-engineering 深度阅读笔记

Harness Engineering:让 Agent 真正能干活的脚手架工程

这份仓库不是普通的“AI 工具大全”。它把 Agent 成败背后的环境、工具、权限、记忆、评测、沙箱和运维拆成工程问题,告诉我们:模型只是发动机,Harness 才决定它能不能稳定上路。

527README 行数,核心内容是一份持续演进的主题索引
1,635GitHub stars,采集时间为 2026-06-06
163forks,说明该主题正在被工程社区快速引用
8仓库 topics:agent harness、memory、orchestration、MCP 等
CC0README 中声明为 public domain dedication

一、先说结论:Harness 是 Agent 的“工作系统”

README 对 Harness Engineering 的定义很清楚:它研究的是围绕 AI Agent 的脚手架,包括上下文投递、工具接口、规划产物、验证循环、记忆系统和沙箱。换句话说,它不讨论“哪个模型更聪明”,而讨论“怎样把聪明模型放进一个不会乱跑、能复盘、能恢复、能验收的工作系统”。

不是模型榜单

它关心模型之外的部分

很多 Agent 失败不是因为模型完全不会,而是因为缺上下文、工具太乱、权限过宽、结果没人验、失败没有轨迹。Harness 就是把这些外部条件设计好。

不是工具堆砌

它按工程问题组织资源

仓库按 Agent Loop、规划、上下文、工具、MCP、权限、记忆、编排、验证、观测、调试、HITL 等问题域分类,而不是按厂商分类。

不是一次性提示词

它强调可演进的系统

好的 Harness 会随着模型能力、失败轨迹、生产数据和人类反馈持续调整。README 反复强调:每个脚手架假设都会过期,因此 Harness 需要被版本化、评测和迭代。

二、为什么这个主题突然重要?

AI Agent 从 demo 走向真实任务后,瓶颈从“生成一段答案”变成“连续执行、调用工具、恢复错误、控制权限、证明结果”。这时,模型能力只是上限,Harness 决定日常可用性。

传统 LLM 应用 输入 Prompt 返回文本 人来判断是否可用 失败后重写 Prompt Agent 需要 Harness 上下文 文件/历史/规则 工具 Shell/API/MCP 权限 审批/策略/身份 验证 测试/评测/CI 观测 Trace/成本/回放 Agent 模型在系统中行动
我读完后的判断:这个仓库的真正价值,不在于列了多少链接,而在于把“Agent 可靠性”从玄学 Prompt 问题转成工程学问题。你能把每次失败归因到具体层:上下文、工具、权限、记忆、编排、评测、观测或运维。

三、一张图理解 Harness 分层

最实用的理解方式是把 Harness 看成围绕模型的多层系统。越靠内越接近 Agent 的每一步行动,越靠外越接近团队治理、生产运行和长期演进。

Model / Agent 内层:循环、工具、上下文、规划、记忆 外层:权限、安全、评测、观测、运维、治理 生产 Harness 任务 Harness 执行 Harness 团队策略、成本、SLO、审计、部署 CI、评测、沙箱、权限、观测 Plan.md、AGENTS.md、MCP、工具 schema、记忆检索 observe → plan → act → verify

Context

让 Agent 在正确时间看到正确材料,而不是把所有东西塞进上下文。

Tool

工具接口是 Agent UX。命名、参数、错误返回、输出结构都会影响成功率。

Control

权限、审批、沙箱、预算和状态机约束,决定 Agent 能做什么和不能做什么。

Feedback

测试、评测、trace、人类反馈和生产事故,把失败转化为下一轮 Harness 改进。

四、Agent Loop:Harness 的心跳

仓库把 Agent Loop 放在设计原语的第一项,这是合理的。只要 Agent 会连续调用工具,它就不再是“一问一答”,而是一个可中断、可恢复、可观测、可验证的循环系统。

1

Observe:观察环境

读取文件、日志、网页、数据库、历史记忆、当前状态。Harness 要决定哪些信息自动进入上下文,哪些按需检索,哪些必须隔离。

2

Plan:形成可执行计划

长任务不能只靠模型临场发挥,需要 Plan.md、任务分解、里程碑、风险清单、回滚点和人工确认点。

3

Act:调用工具改变世界

Shell、浏览器、MCP、API、代码编辑器、CI、云资源都可能被调用。Harness 要提供最小权限、结构化参数和清晰错误。

4

Verify:验证结果并决定下一步

测试、lint、类型检查、视觉检查、业务断言、LLM-as-judge、人类审批都可以是验证器。没有验证,Agent 只是在自信地猜。

五、README 中最值得抓住的设计原语

这份 awesome list 很长,初读容易迷路。下面是我建议优先建立的九个概念钩子,后续看每个链接时都可以往这些格子里放。

Planning & Task Decomposition

把长期任务拆成可验证的里程碑。典型产物是 PLAN.mdIMPLEMENT.md、任务 DAG 和 planner/executor 分层。

Context Delivery & Compaction

上下文不是越多越好。真正的问题是信息新鲜度、压缩损耗、检索时机、热记忆与冷知识边界。

Tool Design

工具要像 API 产品一样设计:参数少而准,输出结构稳定,错误可恢复,危险操作可识别。

Skills & MCP

Skills 负责把领域流程打包成可复用能力,MCP 负责把外部系统变成可连接工具。两者解决的是“扩展 Agent 手脚”的问题。

Permissions & Authorization

不要指望自然语言权限说明。生产环境需要策略引擎、allow/deny、审批、身份传递和审计记录。

Memory & State

长期 Agent 必须区分会话状态、项目规则、用户偏好、事实记忆和失败经验。过期记忆比没有记忆更危险。

Orchestration

单 Agent、planner/executor、多 Agent、图工作流、任务队列、checkpoint/resume,是不同复杂度下的编排选择。

Verification & CI

把质量门禁嵌入循环,而不是事后看结果。测试、CI、benchmark、trajectory eval 都是 Harness 的反馈传感器。

Observability & Debugging

没有 trace、回放、成本拆分、工具调用树和失败分类,多 Agent 系统出问题时几乎无法定位根因。

六、安全边界:Agent 越能干,权限越要工程化

README 单独列出 Security, Sandbox & Permissions,这一点很关键。Agent 的风险不是“会说错话”那么简单,而是它能调用工具、访问数据、执行代码、修改系统。

风险典型表现Harness 层解决方式
Excessive Agency工具过多、权限过大、自动执行高风险动作。最小权限、工具分级、危险动作审批、动作前策略判断。
Prompt Injection网页、文档、日志中的恶意指令诱导 Agent 泄密或越权。输入分区、工具输出净化、秘密隔离、canary、权限不依赖模型自觉。
Sandbox Escape代码执行影响宿主机、内网、凭据或其他租户。容器、microVM、网络策略、临时工作区、每任务隔离。
Stale Memory过期规则、旧分支事实、错误经验被持续注入上下文。记忆版本、失效策略、写入审批、按当前代码验证后再使用。
Cost Runaway循环不终止、工具调用过密、多 Agent 并行失控。步数上限、token 预算、墙钟超时、模型路由、CAPO 成本指标。
工程判断:安全层不能只靠“请谨慎操作”的系统提示。真正可靠的做法是把权限判断放到模型之外:工具调用前拦截、策略引擎决策、沙箱隔离执行、全链路审计。

七、评测与运维:Harness 好不好,要能量化

README 把 Evals、Observability、Debugging、Production Infrastructure 都列为一等公民。这说明成熟 Agent 系统不能只看 demo 成功一次,而要看稳定性、可恢复性、成本、延迟和安全。

从 pass@k 到 pass^k

很多传统 benchmark 关注“多试几次是否有一次成功”。生产 Agent 更关心“连续多次是否都成功”。因为真实业务不接受偶尔把事情做坏。

从结果分数到轨迹诊断

Agent 失败时,结果分数只能告诉你坏了。trajectory eval、trace、工具调用树、状态快照,才能告诉你坏在哪一层。

从离线评测到运行时控制面

成熟系统会把评测、观测、预算、回滚和自动修复连起来。评测不是报告,而是发布门禁和自愈入口。

从模型选择到基础设施选择

README 引用的资料多次强调:容器资源、缓存策略、工具数量、上下文布局都会显著影响结果。Harness 配置本身就是性能变量。

一个实用的 Agent 发布门禁可以这样看:

1. 任务完成率:能否稳定完成,而不是偶尔完成
2. 可恢复性:工具失败、网络失败、测试失败后能否自救
3. 权限合规:危险动作是否被拦截或审批
4. 成本稳定:token、工具调用、墙钟时间是否受控
5. 可解释性:失败时能否从 trace 找到根因
6. 可演进性:失败经验能否转成 AGENTS.md、Skill、Eval 或工具改进

八、普通工程团队应该怎么用这份仓库?

不要把它当收藏夹一次性读完。更好的方式是把它当“Agent 平台建设路线图”,先补最薄弱的一层。

A

如果你刚开始做 Agent

先读 Foundations、Agent Loop、Tool Design。目标是理解 Agent 为什么需要 observe-plan-act-verify,以及工具接口为什么不能随便暴露。

B

如果你在做 Coding Agent

优先看 Context Delivery、Planning、Verification、Debugging,再参考 OpenHands、Aider、SWE-agent、mini-coding-agent、deepagents 等实现。

C

如果你要进生产

优先看 Permissions、Security、Sandbox、Observability、Production Infrastructure。不要先追多 Agent,先把单 Agent 的权限、评测和日志做扎实。

D

如果你已经有稳定业务 Agent

再看 Meta-Harness、Self-Healing、Memory Governance、Cost Optimization。把生产 trace 变成 Harness 改进输入,而不是靠人工反复调 prompt。

九、我的选型速查表

下面不是替 README 做排名,而是按常见工程问题给一条阅读路径。

你遇到的问题先看 README 哪一类落地时优先产物
Agent 老是跑偏Planning、Context、Tool Design任务模板、工具 schema、上下文检索规则
工具调用容易出错Tool Design、Skills & MCP、Debugging结构化错误、重试策略、MCP Inspector、工具回放
不敢开自动模式Permissions、Security、HITL权限矩阵、审批节点、沙箱、审计日志
长任务中途丢状态Memory、Orchestration、Context Compactioncheckpoint、session replay、项目记忆、冷知识库
上线后不知道为什么失败Observability、Debugging、Evalstrace、trajectory eval、失败 taxonomy、成本看板
成本和延迟压不住Production Infrastructure & Operations模型路由、缓存、步数上限、工具调用预算

十、最终理解:Harness 是 AI Agent 时代的新基础设施

读完这个仓库,我认为它最重要的启发是:未来工程团队不会只比较模型,也会比较 Harness 能力。谁能把上下文、工具、权限、记忆、评测、沙箱、观测、运维做成可复用平台,谁就能更稳定地释放 Agent 生产力。

对个人开发者

先别盲目堆 MCP。把 AGENTS.md、任务计划、验证命令、权限边界和失败复盘做起来,收益会更直接。

对平台团队

Agent 平台不是聊天 UI,而是执行环境、工具注册、身份权限、沙箱、评测、观测、成本和审计的组合。

对管理者

衡量 Agent 项目不要只看 demo。要看可重复完成率、人工介入率、事故风险、单位成果成本和知识沉淀速度。

资料来源

本页基于官方仓库 README、仓库元数据和仓库声明整理。数据采集时间:2026-06-06。