AINotes 101
菜单
Learn / 03 构建 AI / Agent Harness

Agent Harness

智能体运行时

承载 Agent 循环、工具注册、权限与状态管理的运行环境。它决定可靠性的下限。

BUILD #core#engineering

一句话定义

Agent Harness(运行时)是模型之外的那一整套系统:循环控制、工具注册与执行、上下文组装与压缩、权限校验、状态持久化、错误重试、日志与可观测性。

如果说模型是引擎,Harness 就是底盘、传动和刹车。模型决定上限,Harness 决定下限。

为什么重要

同一个模型,放在不同的 Harness 里,表现可以差出数倍。

这是很多团队踩过的坑:花大量精力比较模型,结果发现真正的瓶颈在自己的运行时——上下文没有压缩、工具返回原始数据、错误没有重试、没有步数上限。

更要紧的是,Harness 是能力的沉淀位置。 模型会换代,但你在 Harness 里积累的工具、约束、评估集和失败经验会一直有用。

主要职责

  1. 循环控制:步数上限、超时、成本预算、终止条件。
  2. 工具管理:注册、发现、参数校验、执行隔离。
  3. 上下文管理:组装、压缩、排序、截断。这是最容易做砸也最值得投入的部分。
  4. 权限与安全:哪些操作需要确认、哪些目录可写、如何隔离不可信内容。
  5. 状态与持久化:任务中断后能恢复,长任务能跨会话。
  6. 可观测性:完整轨迹、token 消耗、每步耗时、失败原因。
  7. 评估接口:能对固定任务集做回归测试。

上下文管理的具体做法

  • 滑动窗口 + 摘要:保留最近 N 轮原文,更早的压缩成结论。
  • 外部化:把大块中间结果写到文件,上下文里只留路径和摘要。
  • 分层提示:稳定的规则放系统提示,易变的观测放消息尾部。
  • 明确标记:工具返回的内容要标注为「数据」,不能与指令混在一起。

安全设计的三个原则

  • 最小权限:Agent 只应拥有完成任务所需的最小权限,而不是使用者的全部权限。
  • 人类在环:不可逆操作(付款、删除、公开发布)必须确认。
  • 输入不可信:来自网页、文件、第三方服务的内容一律视为数据,永远不当作指令执行。这是防御提示注入的核心。

常见误解

  • 「Harness 就是一层胶水代码」:它恰恰是 Agent 系统的核心竞争力所在。
  • 「换个更强的模型就能解决问题」:如果失败原因是上下文里塞了错误信息,换模型只会更快地得出错误结论。
  • 「自主性来自模型」:自主性的边界是由 Harness 划定的——放多少权、在哪一步停下,都是工程决策。

延伸阅读

  • Agent:循环本身
  • MCP:工具接入的标准化方式
  • Evals:衡量 Harness 改动的真实效果

继续阅读

与 Agent Harness 同属一个层级,或在本条目中被显式引用。