Anthropic 的 Harness 思路:Agent 基础设施正在走向 Agent OS

从 session、harness、sandbox 三层拆解 Anthropic 的新实践,理解为什么 Agent 架构会向稳定抽象与可恢复执行演进。

Anthropic 最近发布了一篇关于 Harness 的工程实践。表面看是在讲产品实现,实质上回答的是一个更长期的问题:

当模型能力持续变化时,Agent 系统哪些层要稳定,哪些层应该允许快速替换?

核心判断

我对这篇文章的核心理解是:Agent 基础设施会越来越像一个轻量的 Agent OS

重点不在“把今天的最佳流程写死”,而在“定义长期稳定的系统抽象”。

为什么这点重要

很多 Agent 框架常见的问题是:

  • 把模型的临时短板固化为永久架构
  • 把 prompt 工程误当成系统边界
  • 把一次有效的补丁写成长期依赖

模型会变强,今天合理的补丁,明天可能就是技术债。

Anthropic 的解法:从具体 Harness 到 Meta-Harness

这套思路不是承诺某一种固定编排方式,而是抽象出三层稳定接口:

  1. session:可恢复的事件与状态历史
  2. harness:推理与调度循环(brain)
  3. sandbox:执行环境与工具能力(hands)

它们分离后,系统更容易替换、恢复和扩展。

1) Session 不是上下文窗口

一个关键观点是:Session 不等于模型上下文。

Session 应该是可查询、可回放、可恢复的事件日志,而不是直接塞给模型的历史拼接。

这样做的价值:

  • trimming 不等于历史消失
  • compaction 不等于事实丢失
  • 崩溃恢复可以回到事件层,而不是依赖摘要记忆

2) Harness 是可替换的编排层

Harness 应专注于调度,而不是持有业务状态。

理想接口更接近:

execute(name, input) -> string

这意味着模型只关心“我能调用什么能力”,而不强绑定具体设备、容器或操作系统。

3) Sandbox 是“手”,不是“脑”

当 brain 和 hands 解耦:

  • 工具环境可以独立演进
  • 不同基础设施可以并行接入
  • 不必每个会话都预热完整执行环境

这直接带来更好的启动与扩展表现。

性能与安全启发

这种拆分通常会同时改善性能和安全。

性能上:

  • 可以先启动 brain,再按需拉起 hands
  • 降低首 token 延迟(TTFT)

安全上:

  • 不把高敏凭证直接暴露给模型
  • 用受控 proxy / vault 做间接凭证访问
  • 安全边界建立在系统约束上,而不是“模型应该做不到”

相关链接

记录并分享
使用 Hugo 构建
主题 StackJimmy 设计