从云原生走向 AI 原生:一套面向未来的架构方法论 → 阅读《AI 原生基础设施》

Harness:智能体的运行时基座

已完成

软件工程能力不再只由模型决定,而是由 Model–Harness–Environment 联合决定。

什么是 Harness

在智能体系统中,Harness(运行时基座)指的是介于模型与应用之间的那一层基础设施——它负责将模型的推理能力转化为可执行、可观测、可恢复、可治理的实际行为。

如果把大模型比作引擎,那么 Harness 就是底盘:引擎提供动力,底盘负责转向、制动、悬挂和传动。没有底盘的引擎无法上路,没有 Harness 的模型也无法可靠地完成实际任务。

Harness 的正式定义可以概括为:

Harness 是一个运行时基座(Runtime Substrate),负责 mediates observation / action / feedback / completion——即中介观察、行动、反馈与完成。

这一概念在 2025–2026 年间迅速获得关注,学术研究已把 Claude Code、OpenAI Codex、Hermes Agent、OpenClaw 等产品统一归类为 CLI Harness,标志着智能体工程正在形成新的共识层。

Harness 的三层定位

在智能体系统的架构中,Harness 处于一个关键的中间层位置:

图 1: Harness 在智能体架构中的定位
图 1: Harness 在智能体架构中的定位
  • 模型层:提供 LLM 推理引擎和工具调用能力
  • Harness 层:单 Agent 的运行时基座,负责观察、行动、反馈、验证、权限与记忆
  • Agent Runtime 层:更上层,负责多会话、多租户、调度、持久化、治理与控制面
Harness vs Agent Runtime
Harness 更像是单 Agent 的运行时基座,关注个体 Agent 的执行质量;Agent Runtime 则是多 Agent 的运营平台,关注系统级的调度与治理。二者是互补关系,不是替代关系。

Harness 的核心职责

一个完整的 Harness 需要承担以下六项核心职责:

1. 观察(Observation)

Harness 负责从环境中采集信息并组装成模型可理解的上下文。这包括:

  • 文件系统状态与变更追踪
  • 进程输出与日志收集
  • 用户输入与意图解析
  • 外部 API 响应的结构化处理

2. 行动(Action)

Harness 将模型的工具调用决策转化为受控的实际行动:

  • 工具调用的审批与门控
  • 执行环境的沙箱隔离
  • 并发工具调用的调度
  • 副作用的追踪与记录

3. 反馈(Feedback)

Harness 为模型提供执行结果的反馈回路:

  • 工具执行结果的结构化回写
  • 错误处理与重试策略
  • 上下文压缩与摘要
  • 多步推理的中间状态维护

4. 验证(Completion)

Harness 确保任务完成的质量和可信度:

  • 输出的结构化校验
  • 测试执行与结果判定
  • 副作用的审计追踪
  • 证据包的生成与存档

5. 权限(Permission)

Harness 管理智能体的操作权限边界:

  • 破坏性操作的审批流程
  • 能力的 Allowlist 与 Blocklist
  • 文件/网络/进程级别的访问控制
  • 操作日志与审计追踪

6. 记忆(Memory)

Harness 维护智能体的状态持续性:

  • 会话状态的持久化存储
  • 跨会话的长期记忆管理
  • 检查点(Checkpoint)的创建与恢复
  • Session Lineage 的维护
工程完整性
以上六项职责的完整性,是区分"框架"和"Harness"的关键标准。一个只提供工具调用封装的库是框架;一个同时覆盖观察、行动、反馈、验证、权限和记忆的系统,才是 Harness。

从框架到 Harness 的范式转变

维度框架范式Harness 范式
核心抽象Chain / Graph / PipelineEpisode / Session / Task Graph
状态模型无状态或单次请求状态持久化会话、检查点、Lineage
执行环境调用方进程内独立 Sandbox、Gateway、Cron
错误处理抛异常、RetryCheckpoint、Rollback、Session Resume
安全模型Prompt Guardrails权限审批、能力隔离、审计追踪
可观测性Print / Logging结构化日志、证据包、审计追踪

这场转变的核心驱动力是:Agent 从一次性任务执行走向长期自治运行。当 Agent 需要持续运行数小时甚至数天,传统的无状态框架范式就不再适用——你需要检查点来恢复、审计来追查、权限来约束、记忆来延续。

Harness 的产品化实践

2026 年,多个代表性产品已经在不同形态下实现了 Harness 的核心理念:

Hermes: Always-on Harness

Hermes Agent 是一个 Productized Harness 的典型案例。它的核心能力包括:

  • Shadow Git 检查点——破坏性操作前快照工作目录,支持 /rollback 回退
  • FTS5 会话检索——基于全文索引的会话历史快速查找
  • 跨会话记忆与技能——支持 Agent 在多次会话间保持能力连续性
  • Gateway 架构——通过统一入口连接 20+ 消息平台
  • 危险命令审批——破坏性操作的权限门控

Claude Code:开发者 Harness

Claude Code 展示了面向开发者的 Harness 形态:

  • 终端、IDE、桌面、Web 共享同一底层引擎
  • Auto Memory 自动管理上下文窗口
  • Skills 系统支持能力扩展
  • Background Agents 支持后台长任务
  • 文件编辑级别的权限门控

OpenAI Codex:云端异步 Harness

OpenAI Codex 代表了云端异步的 Harness 形态:

  • 每个任务在独立隔离环境中运行
  • 可读写仓库、跑测试与 Harness
  • 通过日志和测试结果提供可验证证据
  • 完全异步的提交 - 审查模式
形态分化
三种形态的分化说明 Harness 不是某个特定产品的名称,而是一类运行时基座的统称。不同场景需要不同的 Harness 形态——开发场景需要交互式(Claude Code),通用场景需要 Always-on(Hermes),安全场景需要异步隔离(Codex)。

Harness 与智能体运行时的关系

Harness 和 Agent Runtime 是两个互补的概念,理解它们的关系对于构建完整的智能体系统至关重要:

图 2: Harness 与 Agent Runtime 的层次关系
图 2: Harness 与 Agent Runtime 的层次关系
  • Harness 是单 Agent 的运行时基座,负责个体 Agent 的执行质量
  • Agent Runtime 是多 Agent 的运营平台,负责系统级的调度与治理
  • 一个 Agent Runtime 可以管理多个 Harness 实例

这与本书「智能体运行时概览」中描述的"把 Agent 当 Workload 运营"的思路一脉相承:Harness 是 Workload 的执行层,Agent Runtime 是 Workload 的管理层。

安全考量

Harness 的设计必须正视 Always-on Agent 带来的新安全挑战:

  1. Prompt Injection 风险:消息、记忆、技能、调度和 Shell 折叠进同一 Authority Boundary,会形成新的注入攻击面
  2. Confused Deputy 问题:Agent 可能被欺骗以合法权限执行非预期操作
  3. 权限逃逸:仅靠 Shell 级 Permission Gate 不足以覆盖文件编辑等操作的风险
  4. 检查点安全:Shadow Git 快照可能包含敏感信息,需要访问控制
安全设计原则
在设计 Harness 时,应遵循最小权限原则:Agent 只应获得完成任务所需的最低权限,所有操作都应有审计追踪,破坏性操作必须有审批门控。安全边界不应只在 Shell 级,还应覆盖文件系统、网络和进程级别。

总结

Harness 概念的兴起,标志着智能体工程正在从"如何编写 Agent 逻辑"转向"如何为 Agent 提供可靠的运行时基座"。这一转变有三个关键含义:

  1. 工程质量决定上限:模型能力不再是唯一瓶颈,Harness 的完整性直接影响 Agent 的实际表现
  2. 标准化势在必行:随着 Claude Code、Hermes、Codex 等产品的收敛,Harness 的核心职责正在形成共识
  3. 层次分离是趋势:Harness(执行基座)与 Agent Runtime(调度治理)的分离,使得系统可以在不同尺度上独立演进

理解 Harness,是理解「智能体作为 Workload」和「自治闭环」的前提——因为 Harness 正是把 Workload 的抽象和 Control Loop 的自治,落地为可运行、可治理的工程系统。

参考链接

创建于 2026/05/18 更新于 2026/05/18 2795 字 阅读约 6 分钟