人:Harness Engineering 的最终责任主体

38 阅读10分钟

人:Harness Engineering 的最终责任主体

本文是「企业级应用中 Harness Engineering 的实践与思考」系列的第 7 篇。

Agent 能做的事越多,人反而越重要

当 Agent 能够承担分析、实现、审查、测试、协调等职责时,软件开发的生命周期似乎已经被 Agent 覆盖了。于是一个自然的问题出现了:人在 Harness Engineering 中还剩下什么?

这个问题背后,其实隐藏着一个常见误解:Agent 能做的事越多,人就越不重要。

实际情况正好相反。

Agentic 开发不是对人的取代,而是对人的解放。Agent 承担了大量重复、繁琐、可工程化的工作,也承担了很多原本会消耗人的认知负载和工作负载的细节:阅读上下文、整理材料、生成代码、补充测试、运行检查、准备报告、追踪状态。

这些事情被 Agent 接过去之后,人并不是从系统中退出,而是被推向更重要的位置。人的精力和责任,会更多集中到那些 Agent 无法真正承担、但对企业级应用最关键的部分:方向判断、价值判断、范围取舍、风险评估、最终确认,以及对系统长期演进负责。

所以,Agent 能力越强,Harness 越不能把人弱化成旁观者。恰恰相反,Agent 做得越多,越需要有人能够判断它做得是否正确、是否值得、是否越界、是否带来了新的风险,以及结果是否真的可以被接受。

人不是审批按钮,而是判断者

也正因为人的作用变得更重要,人就更不能放弃自己的思考和判断。

实践中一个很常见的问题是:当人发现 Agent 的能力足够强之后,会不自觉地开始把判断权交出去。Agent 给出一个看起来合理的分析,就直接接受;Agent 说已经完成,就直接确认;Agent 请求权限,就直接同意;Agent 给出一个方案,就顺着方案继续往下走。

这看起来像是信任 Agent,实际上是放弃了 Human in the Loop 中最关键的部分。

Agent 能做很多事。它可以阅读文档,理解当前进度和状态,整理上下文,提供信息、建议、报告、实现和验证。但这些能力仍然是在给定目标和已有信息之下工作。Agent 可以帮助系统向前推进,却不能真正决定系统应该往哪里前进,也不能为前进的后果负责。

人要承担的是更高价值的判断:方向是否正确,价值是否成立,范围是否可以接受,风险是否已经被看见,结果是否可以确认,以及系统是否能够在长期演进中持续保持健康。正是这些判断,让 Agent 的工作不只是“动起来”,而是在正确的方向上前进。

Agent 会遗漏上下文,会在局部信息上过度自信,会把未经确认的假设当成事实,会为了完成任务而擅自补全需求,也会在错误方向上持续产出看起来很合理的结果。更麻烦的是,这些问题不一定会以明显错误的形式出现。它们常常包裹在流畅的解释、完整的结构和自信的语气里,让人误以为系统正在正常前进。

所以,Human in the Loop 不是让人机械地点 approve,也不是让人给 Agent 的判断盖章。人必须始终保持清醒和警惕:Agent 的输出越流畅,越需要确认它是否真的理解了问题;Agent 的行动越快,越需要确认它是否还在正确方向上。越早发现,越早指出,越能在系统跑偏之前把它纠正回来。如果人一直没有发现问题,就会和 Agent 一起在错误中迷茫徘徊。人的核心作用,是在 Agent 偏离方向、遗漏上下文、过度自信、产生幻觉或陷入局部最优时,及时指出问题,并把它拉回正确的工程轨道。

如果人只是顺着 Agent 走,那就不是 Harness。那只是把系统前进的方向盘交给了一个没有最终责任、也无法真正理解后果的执行体。Harness 中人的价值,不是点确认,而是判断、纠偏和负责,而这些才是更高价值的部分。

过去分散在团队里的判断,正在集中到一个人身上

这也意味着,Harness Engineering 并没有降低对人的要求。恰恰相反,它提高了对人的要求。它降低的是执行负担和认知负担,但提高了人的判断密度。

在过去的软件团队中,这些能力通常分散在不同角色身上。Product 或 PO 关注价值、方向和最终确认;BA 关注业务规则、范围边界和需求澄清;SA 或 TL 关注架构、技术风险和代码质量;QA 关注质量、验证和异常路径;PM 关注流程、节奏、协调和进度。

这些角色并不是在 Harness 中消失了,而是其中大量可执行、可整理、可验证、可报告的部分被 Agent 承接了。Agent 可以阅读材料、整理上下文、生成代码、运行测试、准备报告、追踪状态,也可以在不同阶段提供建议和检查。

正因为这些执行和信息处理负担被 Agent 接过去,一人团队才变得可能。但一人团队不是一个人亲手完成过去整个团队的所有工作,而是一个人通过 Harness 管理一组 Agent,让它们分别承担可工程化的职责。

这也带来一个意外的收获。Harness 的目标并不是把团队压缩成一个人,但当很多执行工作被 Agent 承接之后,过去团队内部大量沟通、澄清和等待的成本也会被压缩。需求不需要在多个角色之间反复转述,判断不需要穿过很长的决策链路,反馈也更容易在同一个上下文中快速完成。这会让需求落地变得更敏捷,也让人的判断价值被进一步放大。

代价是,过去分散在团队里的判断能力,会越来越集中到 Human in the Loop 的人身上。这个人需要判断方向、价值、范围、风险、质量、节奏和最终结果。Agent 降低了执行门槛,但提高了人的判断密度。这也是为什么,在 Harness Engineering 中,人的价值不是变低了,而是变得更高了。

这不是新的能力,只是新的管理对象

前面这些要求听起来很高,但它们并不是 AI 时代凭空出现的新能力。软件工程过去一直要求人做方向判断、范围控制、风险识别、质量把关、流程管理、反馈闭环和最终验收。Harness Engineering 没有发明这些能力,只是把它们应用到了新的管理对象上。

过去,人的管理对象更多是团队协作、需求文档、代码实现、测试验证和发布流程。现在,这些对象变成了 Agent、workflow、Spec、Context、report、status、工具链和 human gate。

需求不清时,过去需要 PO、BA 和相关角色澄清;现在人需要判断 BA Agent、TL Agent 整理出的 Spec 是否真的清晰、完整、无歧义。范围失控时,过去需要 PM 或 PO 控制 scope;现在人需要判断 Agent 是否擅自扩大实现范围。质量有风险时,过去需要 TL、QA、工具链和 review 机制暴露问题;现在人需要阅读 review report、test report 和风险总结,而不是退回到逐行阅读所有代码。流程反复出错时,过去团队会通过复盘调整规范和流程;现在人需要判断问题究竟来自 workflow、handbook、project knowledge、工具链,还是某个 Agent 的职责边界不清。

一个简单的例子是 CI 失败。表面上,它可能只是一个类型问题、一个 lint 问题,或者一个本地没有跑出来的测试问题。从局部修复的角度看,改掉眼前错误就够了。但在 Harness Engineering 中,人还需要继续往上看一层:为什么 Agent 在提交前没有发现这个问题?workflow 是否要求了必要检查?handbook 是否写清楚了步骤?本地工具链和 CI 是否一致?这个失败是否暴露了 project knowledge 的缺口?

所以,当一个 CI 失败、一个测试漏掉、一个 Agent 误解需求,真正重要的不只是修掉眼前问题。更重要的是判断这个问题暴露了什么机制缺口:Spec 是否不清楚,workflow 是否没有要求,文档是否没有沉淀,工具是否没有接入,Agent 是否没有正确的 Context。

Human in the Loop 的价值,不是替 Agent 补每一个洞,而是从这些问题中看见系统应该如何变得更好。一个错误如果只是被修掉,它只是一次修复;如果它被沉淀进 workflow、handbook、project knowledge、Spec 或 Agent 行为规则里,它才会让 Harness 本身变得更可靠。

变化的不是软件工程原则,而是管理对象。人的工作不是回到手工细节里和 Agent 拼速度,而是在更高层级管理 Agent、流程、知识、工具和责任边界。

回到 Harness:人是责任锚点

回到 Harness,人之所以处在系统的中心,不是因为人要亲自完成所有工作,而是因为权限和职责必须对等。Agent 可以分析、实现、审查、测试、协调和报告,但最终为方向、范围、风险和结果负责的,只能是人。

这也是 Harness Engineering 的根本出发点。workflow、文档工程、Spec、对抗、Agent 分工,这些东西看起来都在帮助 Agent 更好地工作,但最终都是围绕人来设计的:让人不必记住所有细节,不必追踪所有状态,不必亲自完成所有重复检查,也不必在混乱的上下文中独自拼凑判断依据。

Harness 要做的,是将人的负担降到最低,同时让人的价值最大化。它把可重复、可工程化、可验证的工作交给 Agent,把过程沉淀到文档,把风险暴露在报告里,把状态放回 workflow 中,让人能够把精力集中在真正需要人的地方:方向判断、价值判断、范围取舍、风险评估、最终确认,以及对系统长期演进负责。

但这也意味着,Harness 并没有降低对人的要求。恰恰相反,它对人提出了更高要求。人越少做低价值的执行工作,就越需要在高价值判断上保持清醒、准确和负责。

所以,Human in the Loop 不是 Harness 中的一个审批环节,而是整个系统能够成立的责任基础。Agent 是为了服务人,Harness 是为了帮助人更稳定地驾驭 Agent。人的价值不在于抵抗 Agent,也不在于顺从 Agent,而在于管理、引导、纠正 Agent,并为最终结果负责。