AI harness 是围绕 AI 模型的软件,用于控制模型接收什么、如何处理模型的输出,以及模型如何连接到应用程序的其他部分。它可以小到只是管理聊天历史记录的代码,也可以大到管理工具、记忆、权限、重试和长时间运行任务的运行时。

这个术语没有标准定义。AI harnessagent harness通常指围绕可使用工具的模型的运行时。一些开发者会使用更宽泛的含义,指 AI 应用中除模型本身之外的几乎所有部分。

AI harness 如何工作

模型接收输入并生成输出。模型本身不会决定应用如何存储对话、某项请求的操作是否获准,或工具失败后应该发生什么。harness 负责处理这些工作。

典型的 harness 会重复执行四个步骤:

  1. 准备模型的输入。harness 将用户请求与指令以及本轮所需的信息组合起来。它可能会加载对话状态、检索文档,或描述模型可以请求使用的工具。
  2. 调用模型。它将输入发送给模型提供商,并接收文本或结构化请求。
  3. 解释并控制输出。如果模型请求使用工具,harness 会检查工具是否存在、验证其参数,并应用权限或审批规则。如果输出必须符合某种格式,harness 也会对其进行验证。
  4. 返回、执行或继续。harness 可以显示最终答案、执行获准的操作,或将工具结果返回给模型以进行下一轮。它还会强制执行停止条件,例如轮次上限或超时。

并非每个 harness 都包含所有功能。简单的摘要服务可能只会构建输入、调用模型、验证答案并返回结果。编码 harness 还可能提供文件、命令运行器、持久化状态、测试结果、人工审批,以及每项操作的日志。

关键区别在于:模型提出输出,而 harness 决定该输出能够产生什么效果。模型可能生成发送电子邮件的请求,但 harness 中的普通应用代码会对用户进行身份验证、检查收件人、在需要时请求审批、调用电子邮件服务,并报告结果。

示例:退款助手

假设客户写道:“请退还订单 4812 中耳机的款项。”

首先,harness 将该请求连同指令以及两个可用工具的描述发送给模型:get_orderissue_refund。模型请求调用get_order,并传入订单号 4812。

harness 检查参数是否符合预期格式,以及客户是否可以访问该订单。它执行查询,并将结果提供给模型。结果显示耳机售价 80 美元,且仍符合退款条件。

随后,模型请求调用issue_refund,退款金额为 80 美元。在资金发生转移之前,harness 会检查退款政策和客户身份。如果公司政策要求审批,它会暂停操作,并向员工显示拟执行的操作。只有获得批准后,harness 才会调用支付系统。

模型帮助选择了步骤。harness 负责处理具有实际影响的部分:数据访问、验证、政策执行、审批、执行操作,以及记录发生的一切。

这种分离也让故障更容易处理。如果订单服务超时,harness 可以重试一次,然后以清晰的错误信息停止。它不需要寄希望于模型自行编造安全的恢复方案。

为什么 harness 很重要

同一个模型在两个 harness 中的表现可能截然不同。一个 harness 可能为模型提供清晰的工具描述、相关上下文、严格的权限和有用的错误信息;另一个则可能向模型塞入无关信息、暴露有风险的工具,并隐藏故障。模型质量很重要,但它并不能描述完整系统的行为。

harness 也是开发者可以强制执行规则,而不只是提出要求的地方。“未经审批,绝不退款超过 100 美元”这样的指令可以影响模型,但不是可靠的控制措施。能够阻止支付调用的代码级检查是可强制执行的,即使模型出错,或不可信文本试图将模型引向其他方向,也依然如此。

定义良好的 harness 还会让应用更易于检查和修改。日志可以显示一次运行的输入、工具请求、审批、结果和停止原因。有时可以替换模型,而不必重建周围的每个集成,不过仍然需要测试特定于模型的提示词和工具行为。

Harness 不一定是 agent

harness 是系统的一层。agent 通常是使用模型在一个或多个步骤中选择操作的完整系统。

这意味着 harness 可以在几乎没有自主性的情况下存在。基础聊天界面背后的软件仍然会管理指令、消息历史、模型调用和显示的输出。即使模型不能使用工具或自行追踪任务,这些也都属于 harness 的功能。

对于已部署的 agent,情况则相反。模型不能直接向数据库进行身份验证、执行审批政策,或在进程重启后保留任务状态。模型周围的软件必须提供这些能力,无论其开发者是否将这类软件称为 harness。

这个术语也出现在evaluation harness中。在这种语境下,harness 会让模型执行一组一致的测试任务,并记录得分。它是一个测试系统,不一定是 agent 的运行时。通常需要根据上下文判断具体指的是哪种含义。

接下来阅读

阅读什么是 AI Agent?,了解模型和 harness 如何组成一个能够选择并执行多个步骤的系统。阅读LLM 中的工具使用是什么?,了解 harness 所控制的提议、验证、执行和观察循环。有关主要层之间的边界,请参阅AI 模型、聊天机器人、Harness 与 Agent 的区别