大数跨境

AI 编程|搞懂 Harness 一定要区分 User Harness 和 Agent Harness

AI 编程|搞懂 Harness 一定要区分 User Harness 和 Agent Harness TechLead 少个分号
2026-07-22
1
导读:User Harness 是我们作为用户能控制的部分,是保障 AI 编程质量的关键 。Agent Harness 虽然重要,但那是别人的事。与其纠结于哪个 Agent 更好,不如专注于构建自己的 Us

之前跟大家聊过 Martinmartinfowler 的 Harness Engineering 的概念,今天想深入聊聊一个很关键的区分:User Harness 和 Agent Harness 。这两个概念很容易混淆,但理解它们的区别对我们实际落地 AI 编程非常重要。

01 先搞清楚定义

首先,我们得明确这两个概念到底指什么。

Agent Harness 是 Agent 本身自带的基础设施。按照原文的说法,Agent = Model + Harness,这里的 Harness 就是模型之外的所有东西,比如系统提示词、代码检索机制、编排系统等等。这部分是 Agent 开发者负责构建的,对用户来说是黑盒。

User Harness 则是我们作为用户,为自己的使用场景构建的外部护栏。它不在 Agent 内部,而是围绕 Agent 运行的一层控制机制。比如我们项目里的代码规范文档、测试框架、架构检查工具等,这些都是 User Harness 的一部分。

02 一个生动的比喻

用养宠物来类比可能更容易理解。

Agent Harness 就像是宠物店提供的基础装备——笼子、食盆、玩具。这些是宠物店准备好的,所有用户都能用。

User Harness 则是你自己给宠物准备的个性化设施——家里的围栏、训练计划、健康监测设备。这些是根据你的生活环境和需求定制的,目的是让宠物在你的家里能安全、规矩地生活。

03 核心区别在哪里

控制权不同

Agent Harness 的控制权在 Agent 开发者手里。作为用户,我们只能使用,无法直接修改它的核心机制。比如我们无法修改 Agent 的代码检索算法或编排逻辑。

User Harness 的控制权完全在我们自己手里。我们可以根据项目需求随时调整、扩展或替换它的任何部分。

关注点不同

Agent Harness 关注的是 Agent 本身的能力——如何让模型更好地理解任务、调用工具、生成代码。它解决的是 Agent 能不能做的问题。

User Harness 关注的是 Agent 产出的质量——如何确保生成的代码符合我们的规范、架构和质量标准。它解决的是 Agent 做得对不对的问题。

实现方式不同

Agent Harness 通常是代码层面的实现,比如 LangChain 这样的框架,或者 Anthropic 的 Orca。它是技术性的,需要专业的工程团队来维护。

User Harness 则可以是多种多样的——文档、工具、流程、规范。它不一定需要复杂的代码实现,更多是工程实践的积累。

04 两者的关系

这两者不是对立的,而是互补的。

Agent Harness 是基础,它决定了 Agent 的能力上限。一个好的 Agent Harness 能让 Agent 更智能、更高效。

User Harness 是保障,它决定了 Agent 的质量下限。一个好的 User Harness 能让 Agent 的产出更可靠、更符合预期。

就像原文里提到的,很多时候我们是在 Agent Harness 外面再套一层 User Harness。这个比喻虽然有点奇快——给护栏再套护栏——但确实能帮我们理解这种双层结构。

05 为什么这个区分很重要

理解 User Harness 和 Agent Harness 的区别,能帮我们避免两个常见的误区。

第一个误区是:把所有希望都寄托在 Agent Harness 上。很多人觉得只要换一个更强大的 Agent,AI 编程就能自动变好。但事实是,再好的 Agent 也需要 User Harness 来约束和验证,否则产出的质量无法保证。

第二个误区是:试图去修改 Agent Harness。作为用户,我们不应该把精力放在改造 Agent 内部机制上,而是应该专注于构建自己的 User Harness。这才是我们能控制、能产生实际价值的地方。

06 我的实践经验

在我们团队的实践中,我们并没有花太多时间去挑选或优化 Agent。相反,我们把大部分精力放在了构建 User Harness 上。

比如,我们建立了完善的代码规范文档,让 Agent 一开始就知道该怎么写代码。我们搭建了测试框架,让 Agent 能自动验证自己的产出。我们制定了架构检查规则,防止 Agent 破坏系统的整体设计。

这些 User Harness 的建设,让我们即使使用普通的 Agent,也能获得高质量的产出。

07 总结

User Harness 是我们作为用户能控制的部分,是保障 AI 编程质量的关键 。Agent Harness 虽然重要,但那是别人的事。

与其纠结于哪个 Agent 更好,不如专注于构建自己的 User Harness。这才是 AI 编程落地的核心竞争力。


08 原文要点

以下是原文中关于 User Harness 和 Agent Harness 的核心观点摘要:

The term harness has emerged as a shorthand to mean everything in an AI agent except the model itself - Agent = Model + Harness. That is a very wide definition, and therefore worth narrowing down for common categories of agents.

In coding agents, part of the harness is already built in (e.g. via the system prompt, or the chosen code retrieval mechanism, or even a sophisticated orchestration system). But coding agents also provide us, their users, with many features to build an outer harness specifically for our use case and system.

A well-built outer harness serves two goals: it increases the probability that the agent gets it right in the first place, and it provides a feedback loop that self-corrects as many issues as possible before they even reach human eyes.


原文链接: https://martinfowler.com/articles/harness-engineering.html

关于作者

少个分号,知名外企十年 Tech Lead(技术经理)和企业咨询师,技术书作者,精通敏捷软件交付团队的工作方式,关注 AI 对软件工程的重塑,搞了一个在线研讨会。

提供 1V1 技术管理和职场咨询服务,已帮助 100+ 位朋友解决管理和职场的问题。

网站 shaogefenhao.com,微信同号。


【声明】内容源于网络
0
0
TechLead 少个分号
知名技术咨询公司 TechLead(技术经理),分享系统设计技术方案和技术管理。 公众号愿景和定位是:做好软件,带好团队。 原名《DDD和微服务》,合作请留言。
内容 117
粉丝 0
TechLead 少个分号 知名技术咨询公司 TechLead(技术经理),分享系统设计技术方案和技术管理。 公众号愿景和定位是:做好软件,带好团队。 原名《DDD和微服务》,合作请留言。
总阅读686
粉丝0
内容117