不是单纯把提示词写得更厉害,而是给 agent 一整套“能稳定做对事情”的运行环境。它回答的是:模型进了真实世界以后,怎么别跑偏。
模型没换、提示词没换,提升来自任务拆解、状态管理、关键步骤校验、失败恢复等 harness 层优化。
相同模型在不同团队手里效果差很大,差异常常不在模型本身,而在模型外部的执行系统。
这不是三门互相替代的学问,而是层层包裹、逐级升级的系统能力。越往后,越接近“真实世界里的可靠执行”。
核心问题:模型有没有听懂你说什么?
核心问题:模型有没有拿到足够且正确的信息?
核心问题:模型在真实执行中能否持续做对?
大模型本质上是上下文敏感的概率生成系统。提示词工程并不是按按钮发命令,而是在通过角色设定、风格约束、few-shot 示例、输出格式引导等方式,塑造一个局部概率空间。
当 agent 要多轮对话、调浏览器、写代码、查数据库时,问题已经不再是一句话写得好不好,而是整条链路里,模型在每一个瞬间有没有拿到“当前决策真正需要的那部分信息”。
即使信息给对了,模型依然可能在连续行动中跑偏:计划对、执行歪;工具会调、结果会看错;长链路任务越走越偏航。Harness 的价值就在于为执行过程加上监督、约束和纠偏机制。
| 工程维度 | 客户拜访类比 | 本质 |
|---|---|---|
| Prompt | 交代任务:寒暄、介绍方案、挖需求 | 把话说明白 |
| Context | 准备资料:客户背景、沟通记录、报价 | 把信息给对 |
| Harness | 带 checklist、关键节点汇报、发现偏差纠正、按标准验收 | 持续观测、纠偏、验收的机制 |
根据 LangChain 的定义:Agent = Model + Harness。也就是说,除了模型本身之外,那些让 agent 真正可靠工作的东西,几乎都属于 harness。
让模型在正确信息边界内思考:角色目标定义、信息裁剪选择、结构化组织。
让模型接触真实世界:工具数量平衡、正确调用时机、结果提炼再回流。
为行动建立轨道:理解目标 → 补足信息 → 分析 → 输出 → 检查 → 修正或重试。
分清当前任务状态、长期记忆、用户偏好,避免系统越跑越乱。
不仅会做,还要知道是否做对:输出验收、环境验证、自动测试、错误归因。
真实世界失败是常态:需要约束、校验、恢复三件套,系统才敢上线。
不是越多越好,而是越相关越好。信息边界清晰,模型才不会被噪声带跑偏。
不要让 agent 想到哪做到哪。成熟系统要明确下一步该做什么、何时停下来检查。
超时、误检、脏数据都很正常。真正的系统感,来自失败后还能稳稳回到正轨。
明确成功标准
不够就补,不猜答案
按结构推进而不是即兴发挥
不满足就回退、重试、修正
Context Reset:上下文太满时,不是继续压缩,而是交接给一个全新的干净 agent,像内存泄漏后重启进程再恢复状态。
生产验收分离:Planner 产规格,Generator 做实现,Evaluator 像 QA 一样真实测试,而不是自己做完自己夸。
把工程师角色从“写代码的人”变成“设计决策环境的人”。agent 失败时,不问它为什么不努力,而问环境里缺了什么结构性能力。
用分层验证机制建立验证链:工具结果被编排层验证,编排输出被评估层验证,最终输出再被约束层验证,层层把关。
把 Harness Engineering 产品化成 AutoGen:多 agent 编排、人工参与插槽、可插拔校验器,让 harness 不只是理念,而是框架级能力。
| Prompt Engineering | Context Engineering | Harness Engineering |
|---|---|---|
| 把话说对 | 把信息给对 | 让系统持续做对 |
| 语言设计 | 系统设计 | 环境设计 |
| 单点优化 | 链路打通 | 持续驾驭 |