
🧠 记忆锚点:模型决定能不能,Harness 决定稳不稳;管上下文、工具、约束、恢复和观测。
💡 答案要点
一句话定义:
Harness(马具)= Agent 系统的中间件层 + 治理层,把业务通用的能力抽出来统一封装。
核心认知(面试必答):
模型调用只占 Agent 系统代码量的不到 20%
剩下 80% 都是围绕模型的工程层——这就是 HarnessHarness 的四大核心职责:
| 职责 | 作用 | 类比 |
|---|---|---|
| 上下文管理 | 决定每次调用放什么信息:历史截断、知识召回、冗余压缩、记忆维护 | 给老板准备汇报材料,只放精选内容 |
| 工具调度 | 工具注册/发现/调用/重试/熔断,动态加载、并行调度 | 微服务调度中心 |
| 约束与验证 | 输入过滤、权限校验、输出审查、风险评级 | 公司合规部门 |
| 可观测性 | 轨迹日志、性能指标、成本统计、失败归因 | 系统黑匣子 |
为什么模型越强,Harness 越重要?(高频追问)
- 错误影响范围大:一个误删生产数据的自主 Agent,远比聊天机器人危险
- 上下文庞大:几十万 Token 的上下文管理本身就是工程学问
- 成本延迟高:多轮调用需要精细的成本/效果平衡
核心结论(面试金句):
"模型决定系统的上限,Harness 决定系统的下限。用顶级模型但 Harness 粗糙的 Agent,往往不如用中等模型但 Harness 精细的系统。"
面试话术:
"做 Agent 不是调 API 就完事了——模型调用只占代码量的 20%,剩下 80% 是 Harness 工程:上下文管理、工具调度、约束验证、可观测性。我理解的核心是'模型决定上限、Harness 决定下限':模型再强,没有可靠的工程层约束,系统也落不了地。我自己的 Agent 项目里,工具风险评级和轨迹可观测性这两块是投入最多的。"