选型前先对齐的几点

是否企业级、可运维?

是——持久化运行、审批、恢复与可观测均为内置能力(非演示后补装)。执行仍可留在现有技术栈中;产品级运行时由 harness 承载。

第一天会多出什么?

你会立刻得到持久化的请求与会话、审批、可跨重启的恢复、可观测性,以及可对外提供的协议接入能力。

为什么值得看这页?

最省事的接入方式,是保留上游语义,而不是再背一套新的 framework 语义。

顶层比较

Codex、Claude Code、Cursor

给人直接使用的 agent 产品。

执行框架

定义 agent execution semantics 的框架。

agent-harness

承担多智能体应用的运维、恢复、审批与治理——即产品侧运行时层。

平台 SDK 可以把某一家 provider 的 agent runtime 打包进它自己的生态。agent-harness 保持另一条边界:backend-neutral workspace assembly、由 YAML 持有的运行策略、持久化 requests / sessions、 recovery、approvals,以及同一 runtime control plane 上的协议适配层。

产品边界

agent-harness 不是第三个 agent framework,而是把一个 workspace 变成一个可运行、 可观测、可恢复的 application runtime 的产品层。

  • 执行框架拥有 agent execution semantics。
  • agent-harness 负责 workspace assembly、runtime lifecycle、approvals、inspection、persistence 和 recovery。
  • 如果上游已经有协议或执行 primitive,harness 应该 direct passthrough 或 lossless adaptation,而不是平行再造一层。

边界矩阵

领域 面向终端用户的智能体产品 执行框架 agent-harness
拥有执行语义否,复用上游语义
拥有 approvals 与 operator control可能以产品 UX 提供不是产品边界
拥有持久化 requests / sessions / approvals / events视产品而定默认不拥有
拥有 recovery / resume orchestration视产品而定primitive 层能力系统托管的 runtime 行为
拥有 YAML workspace assembly
拥有 runtime.sqlite inspection 记录视产品而定
拥有 ACP / A2A / AG-UI / runtime MCP 接入有时作为应用集成存在没有统一产品层

执行框架映射

这部分能力应该保持上游所有权,由 harness 透传或无损适配,而不是换一种本地语义重新发明。

所有权 执行框架能力 agent-harness 如何处理
直接透传 model config、prompts、schemas、middleware、stores、checkpointers,以及通过 passthrough 传入的 adapter-facing extras 保持上游形状,不额外包一层 harness 本地语义。
适配后仍属上游 skills、bootstrap memory、subagents、HITL tool pauses、filesystem tooling、planning behavior 把 YAML 编译成上游 middleware,例如 createSkillsMiddlewarecreateMemoryMiddlewarecreateSubAgentMiddlewarehumanInTheLoopMiddlewarecreateFilesystemMiddleware
Harness 在外围负责 Workspace compilation、routing、持久化 projection、queueing、recovery、maintenance、MCP bridge / tool export 在不改写上游 execution semantics 的前提下,负责产品级 runtime lifecycle。

哪些能力继续留在上游

执行框架保留 execution semantics。Harness 应该 passthrough 或 lossless adaptation,而不是平行造协议。

  • Model config、response format、context schema、middleware、store 和 checkpointer 保持 upstream-shaped。
  • Subagents、tool pauses、summarization、provider-native tools 和 MCP usage 属于上游执行行为。
  • Harness 在外围负责 workspace assembly、routing、persistence、approvals、inspection、queueing 和 recovery。

打开完整 upstream feature matrix →

Runtime record 规则

面向产品的 runtime state 应该存在 harness 自己持久化的 structured records 里,而不是直接把 backend checkpoints 当作产品侧 inspection 的主要来源。

  • runtime.sqlite 保存 harness 持久化的 runtime records。
  • checkpoints.json 保存 backend checkpoint state,用于 resume 和 recovery。
  • 即使以后替换 backend,也不该重新定义产品级 runtime record model。

决策过滤器

在新增 harness abstraction 之前,建议按下面顺序自检:

  1. 执行框架是否已经提供了这个能力?
  2. 如果有,runtime 能不能直接 passthrough?
  3. 如果不能直接 passthrough,能不能通过 YAML 无损适配,同时保持上游语义?
  4. 剩下的问题是否真的属于 runtime owned,而不是 execution owned?

只有最后一个答案是 yes,这个功能才应该进入 harness 自己拥有的行为层。

什么时候该用

该用的时候

你需要 approvals、restart recovery、queueing、inspectable request records 和稳定 runtime contract。

不该优先用的时候

你只需要一次短生命周期 agent 调用,不需要 approvals、persistence 或 operational control surface。