Skip to content

Q1 - 什么是 Agent Harness,跟 Agent System 有什么区别? ​

Agent Harness(智能体运行框架)是让 AI 模型真正成为一个能够持续执行任务的 Agent 的运行与控制机制。

它与 Agent System 的关系非常密切,但两者的抽象层级不同:

  • Agent Harness:关注 Agent 如何运行、如何调用模型和工具、如何管理上下文,以及如何控制执行过程。
  • Agent System:关注一个或多个 Agent 如何与其他软件组件共同构成完整系统,实现特定目标。

可以简单理解为:Harness 是 Agent 的运行与控制核心,而 Agent System 是包含这一核心的完整软件系统。

不过,Harness 的行业用法还没有完全统一。有些框架将它定义为 Agent Runtime 的一种封装,有些则将上下文、记忆、工具、权限和运行治理都纳入 Harness。下面结合本站正在整理的全栈地图来解释。

一、什么是 Agent Harness? ​

Microsoft Agent Framework 将 Agent Harness 描述为一种运行时支撑结构,负责模型调用、工具执行、上下文管理、审批策略和多步骤任务推进。

Google Cloud 也采用类似定义,强调 Harness 是包围 AI 模型的运行基础设施和控制层,使模型能够使用工具、维护状态、执行多步骤任务。

假设你有一个大语言模型,并希望它帮你完成公司调研。

模型本身能够理解问题、推理和生成内容,但要让它真正执行任务,还需要一套程序负责:

  1. 将用户任务、系统指令和上下文发送给模型。
  2. 接收模型返回的决策。
  3. 判断模型是否请求调用工具。
  4. 执行搜索、文件读取或其他工具。
  5. 将工具结果重新发送给模型。
  6. 保存执行状态,并判断任务是否继续。
  7. 在必要时处理错误、权限审批或执行终止。

负责组织这一过程的运行机制,就是 Agent Harness。

其典型结构可以表示为:

text
              Agent Harness
┌──────────────────────────────────┐
│                                  │
│  Context Management              │
│          ↓                       │
│     Model Calling                │
│          ↓                       │
│     Decision Handling            │
│          ↓                       │
│     Tool Execution               │
│          ↓                       │
│     Result Processing            │
│          ↓                       │
│     State Management             │
│          ↓                       │
│     Continue / Stop              │
│                                  │
└──────────────────────────────────┘
         │               │
         ▼               ▼
      AI Model        External Tools

模型负责产生决策,Harness 负责让决策能够被执行,并维护整个执行过程。

二、Agent Harness 包含哪些核心部分? ​

一个典型的 Harness 可以从以下八个方面理解:

组成部分英文名称主要职责
1. 执行循环Agent Loop控制模型调用、工具执行和反馈循环
2. 模型调用Model Interface连接模型服务,组织请求和响应
3. 上下文管理Context Management构建 Prompt、管理上下文窗口和信息压缩
4. 工具管理Tool Management注册工具、分发调用、处理执行结果
5. 状态管理State Management维护会话、任务进度和执行状态
6. 记忆机制Memory读取和保存需要跨步骤或跨会话使用的信息
7. 执行控制Execution Control管理停止条件、超时、重试和错误处理
8. 安全与监控Guardrails & Observability权限审批、执行追踪、日志和运行监控

这些是常见职责的归纳,并不是所有 Harness 都必须包含八个独立模块。

其中,Agent Loop 是最核心的部分。其他能力可以根据系统需求逐渐增加。

例如,Cloudflare Agents 文档将 Harness 主要描述为负责 Agent 行为的执行循环,同时将持久化基础设施、网络连接等能力放在更底层的 Runtime 中。这说明 Harness 与 Runtime 的具体边界取决于框架设计。

三、Agent Harness 与 Agent System 有什么区别? ​

我们从技术职责、组成范围和架构层级三个角度比较。

对比维度Agent HarnessAgent System
核心定义Agent 的运行与控制机制围绕 Agent 构建的完整软件系统
主要关注Agent 如何执行任务系统如何实现整体目标
核心职责模型调用、工具执行、上下文、状态、执行循环Agent 执行、任务组织、外部集成、系统运行与治理
技术范围主要集中于 Agent Runtime 及其周边能力涉及模型、基础服务、Agent 引擎、编排、应用等
Agent 数量可以运行一个或多个 Agent可以是 Single-Agent 或 Multi-Agent
多 Agent 编排部分 Harness 支持根据系统需求决定
用户界面通常不属于 Harness 核心可以包含 Web、App、API 等
基础设施通常依赖外部运行环境需要相应基础设施支持,但不一定自行部署
关系可以作为 Agent System 的核心运行组件可以包含一个或多个 Harness

这里有一个值得注意的区别:

Harness 主要关注执行机制,System 主要关注完整的软件系统边界。

例如,一个 Agent Harness 可以负责运行 Research Agent,但如果要将它变成一个完整的自动化研究系统,还可能需要增加任务数据库、报告存储、用户界面、调度服务和业务流程管理。

这些共同构成 Agent System。

四、Agent Harness 在六层技术架构中的什么位置? ​

这是与正在建立的全栈地图最相关的问题。

目前采用的六层架构是:

层级名称
L6Application · 应用
L5Orchestration & Collaboration · 编排与协作
L4Agent Engine · 执行引擎
L3Model Services · 模型服务
L2Platform Services · 基础软件服务
L1Infrastructure · 基础设施

在这套参考架构中,Agent Harness 的核心职责主要位于 L4 Agent Engine,但可能延伸到 L5 和多个横向工程能力域。

可以这样理解:

text
┌────────────────────────────────────┐
│ L6  Application                    │
│     用户界面 / API / 业务应用       │
├────────────────────────────────────┤
│ L5  Orchestration & Collaboration  │
│     工作流 / 多 Agent 协作          │
│          ▲                         │
│          │ 部分 Harness 涉及       │
├──────────┼─────────────────────────┤
│ L4  Agent Engine                   │
│                                    │
│     ┌────────────────────────┐     │
│     │     Agent Harness      │     │
│     │                        │     │
│     │  Agent Loop            │     │
│     │  Model Interface       │     │
│     │  Context Management    │     │
│     │  Tool Management       │     │
│     │  Execution Control     │     │
│     └────────────────────────┘     │
│                                    │
├────────────────────────────────────┤
│ L3  Model Services                 │
├────────────────────────────────────┤
│ L2  Platform Services              │
├────────────────────────────────────┤
│ L1  Infrastructure                 │
└────────────────────────────────────┘

这里要特别注意:Agent Harness 并不是 Agent Engine 之外必须额外增加的第七层。

Agent Harness 是一种运行机制或运行组件的概念,Agent Engine 则是我们在全栈地图中定义的逻辑技术层级。

两者不是同一种分类维度。

在一些框架中,Harness 可能直接就是 Agent Engine 的核心实现;在另一些框架中,Agent Engine 可能包含 Harness、工具执行器、状态管理器和其他运行组件。

五、Agent Harness、Agent Runtime、Agent Framework 有什么区别? ​

这三个概念很容易混淆。

概念主要含义关注重点
Agent Framework用于开发 Agent 的软件框架、库和抽象如何开发和组织 Agent
Agent Runtime支持 Agent 实际运行的软件环境与机制Agent 如何运行
Agent Harness组织模型决策、工具调用、上下文与执行循环的控制机制Agent 的行为如何被驱动和控制

它们之间存在大量重叠。

例如:

  • Framework 可能提供 Harness 的实现。
  • Runtime 可能直接包含 Harness。
  • Harness 可能使用 Runtime 提供的状态持久化、调度和执行环境。
  • 某些产品直接将 Harness 和 Runtime 作为近义词使用。

因此,不建议在知识体系中强行规定三者必须对应三个独立的软件组件。

更适合的处理方式是:

Framework 是开发工具层面的概念,Runtime 是运行能力层面的概念,Harness 是运行控制层面的概念。

这一划分有助于理解职责,但具体技术产品可能将这些职责封装在一起。

六、一个具体例子:自动化公司调研系统 ​

假设你要开发一个 Agent System,能够根据公司名称自动完成企业信息调研。

系统包含三个 Agent:

  • Research Agent:收集公司信息。
  • Analysis Agent:分析公司业务。
  • Report Agent:生成研究报告。

那么可以这样划分:

1. Agent ​

每个 Agent 都有自己的任务目标、模型配置、指令和工具权限。

Research Agent 负责寻找资料,Analysis Agent 负责分析,Report Agent 负责撰写。

2. Agent Harness ​

Harness 负责让每个 Agent 实际运行。

例如,Research Agent 的 Harness 会执行:

text
接收调研任务
    ↓
准备上下文
    ↓
调用 LLM
    ↓
模型决定搜索公司官网
    ↓
Harness 调用搜索工具
    ↓
获取搜索结果
    ↓
Harness 更新上下文
    ↓
再次调用 LLM
    ↓
模型决定继续搜索
    ↓
...
    ↓
任务完成

3. Orchestration ​

编排层负责组织三个 Agent 的执行关系。

text
Research Agent
      ↓
Analysis Agent
      ↓
Report Agent
      ↓
最终研究报告

如果 Research Agent 没有找到足够的信息,编排层可以要求其补充调研。

4. Agent System ​

完整的 Agent System 还需要处理:

  • 用户如何提交研究任务。
  • 如何管理任务状态。
  • 如何保存调研资料。
  • 如何协调三个 Agent。
  • 如何审核最终报告。
  • 如何处理失败任务。
  • 如何向用户展示研究结果。

因此,Harness 解决 Agent 如何运行的问题,Orchestration 解决任务和 Agent 如何协作的问题,Agent System 则涵盖整个任务执行与交付过程。

不过,具体框架可以把 Harness 和 Orchestration 放在同一套软件中。OpenAI Agents API 架构文档就明确区分了 Harness、执行环境与应用服务器的职责。