当我们谈论 AI Agent 工程时,"模型"往往占据了大部分讨论空间------哪个模型更强、上下文窗口多大、推理速度几何。但有一个问题被长期低估:围绕模型构建的工程外壳,究竟意味着什么?
李博杰在《深入理解 AI Agent:设计原理与工程实践》中借用了软件工程中已有的词来描述这层外壳------Harness。
从一个词的本义说起
Harness,原指套在马身上的挽具与缰绳。这套装置不是为了捆绑马,而是为了将马的力量定向传导------让一匹力量充沛却难以预测的动物,能够精准地完成拉犁、驾车这样的任务。
放到 Agent 工程语境里,这个比喻非常精确:
- 马 → 大语言模型(强大但不可预测)
- 缰绳 → System Prompt、约束规则、Safety Filter(传达方向指令)
- 挽具 → Tool Calling、Memory、工作流编排(将力量定向输出)
- 驭手 → 用户 / 业务逻辑层
- 马车前进的方向 → 任务目标的可靠完成
Harness 不削弱模型的能力,它让模型的能力沿着任务轨道可控地释放。
"人的先验"是什么
理解 Harness 的价值,需要先理解它在补什么。
今天我们在 Agent 工程中写下的每一条约束规则,背后都隐含着一个对模型当前状态的判断:
| Harness 规则 | 隐含的判断 |
|---|---|
| 输出必须是合法 JSON | 模型会随机乱输出 |
| 工具调用次数上限 N 次 | 模型会陷入死循环 |
| 涉及删除操作必须二次确认 | 模型对破坏性操作不够谨慎 |
| RAG 召回后强制引用来源 | 模型会幻觉编造 |
这些判断不是从当前这批数据中学出来的,而是工程师基于已有经验提前带入系统的------这就是"人的先验"。它在短期内高效,但本质上是对模型当前能力边界的一种手动补偿。
苦涩的教训与一个合理的忧虑
Rich Sutton 在 2019 年发表的《苦涩的教训》(The Bitter Lesson)中,回顾了 AI 研究七十年间反复上演的规律:研究者一次次将自己对领域的理解编码进系统,短期见效,长期却总是输给能随算力与数据规模持续扩展的通用方法------搜索与学习。
- 国际象棋专家精心构建的开局库,被 AlphaZero 的自我博弈碾压
- NLP 领域手工设计的语法规则,被 Transformer 的暴力预训练取代
用这个视角审视今天的 Harness 工程,一个合理的忧虑随之浮现:我们今天写下的那些约束规则,是否只是新一轮的"人的先验",注定会被更强大的模型内化和淘汰?
这个忧虑并非杞人忧天。
Harness 不是抵抗,而是接力
但书中的立场并非对这一忧虑的回避,而是对它的正面回应:方向认同,节奏务实。
方向上,承认 Sutton 是对的。模型会变强,今天的约束会被逐步内化,Harness 里的每一层终将有被卸下的一天。
节奏上,这个"被内化"的过程远比直觉中慢。模型训练以月计,无法一次性消化真实业务中所有的约束与偏好。模型此刻的能力边界,就是 Harness 此刻的价值所在。
这带来了一个动态的工程范式:
模型还做不稳的,Harness 先补上;
模型每内化一层,Harness 就卸下一层,转而兜底新的能力前沿。
一个具体的演进路径可能是这样的:
今天:JSON 格式校验、幻觉引用、循环次数上限、删除二次确认------这些都由 Harness 承担,因为模型在这些维度上尚不稳定。
模型变强后:格式输出和来源引用被内化,对应的 Harness 层卸下。但工具调用的自主性和多步规划的可靠性成为新的能力前沿,Harness 转向这里。
更强之后:旧的规划约束卸下,Harness 继续前移,兜底当时模型尚未掌握的新能力边界。
这不是螳臂当车,这是和苦涩的教训同向而行------在模型尚未完成内化的时间窗口内,用工程手段保障系统的可靠性。
对工程师的实践意义
理解这一点,对 Agent 系统的设计有直接影响。
每一条 Harness 规则都应该有明确的退出条件。 它不是永久性的架构决策,而是针对当前模型能力边界的临时补偿。在设计时就应该明确:当模型在哪个指标上达到什么水平,这条规则可以被移除或简化。
Harness 的复杂度是模型能力的镜像。 如果你的 Harness 越来越厚重,要么是你在应对真实的能力边界,要么是你在用工程复杂度掩盖一个不该上线的系统。这两种情况都值得审视。
卸下一层 Harness,本身就是一个值得追踪的工程里程碑。 它意味着模型在某个维度上的能力已经可以独立承担责任。这和删掉一段不再需要的兼容代码一样,是系统演进成熟度的标志。
结语
Harness 工程的本质,是在模型能力与业务可靠性之间维持一种动态平衡。它不是对"更强模型终将到来"这一事实的否认,而是在此之前,工程师对系统稳定性应尽的职责。
马具不会永远套在同一匹马身上。但在马还没有完全驯化之前,挽具和缰绳是让它真正能用的必要条件。