LangChain 创始人 Harrison Chase 发文指出:Agent Harness(代理框架)与 Memory(记忆)紧密耦合。如果你使用封闭的 Harness,尤其是通过 API 调用的,你就把 Memory 的控制权交给了第三方。Memory 应该是开放的,你才能真正拥有自己的记忆。
Agent Harness 是构建 Agent 的主流方式
过去三年,构建 Agent 的方式发生了巨大变化:
- ChatGPT 初期:简单的 RAG 链(LangChain)
- 模型进步后:复杂流程编排(LangGraph)
- 现在:Agent Harness 成为新范式
代表性的 Agent Harness 包括:
- Claude Code - Anthropic 的代码 Agent
- Deep Agents - LangChain 的深度代理框架
- OpenClaw - 近期爆火的桌面端 Agent
- OpenCode - 开源代码 Agent
- Codex - OpenAI 的代码模型
Harness 不会消失。Claude Code 泄露的源码有 51.2 万行——这就是 Harness。即使是最强模型的创造者,也在大量投入 Harness 开发。
Harness 与 Memory 不可分割
Sarah Wooders 有篇文章说得很好:"Memory 不是插件,它就是 Harness 本身。"
把 Memory 插件化到 Agent Harness,就像把"驾驶"插件化到汽车里。管理 Context,因此管理 Memory,是 Harness 的核心能力和责任。
Memory 本质上是一种 Context:
- 短期记忆:对话消息、工具调用结果
- 长期记忆:跨会话的持久化存储
Harness 决定了:
- AGENTS.md / CLAUDE.md 如何加载到 Context?
- 技能元数据如何展示给 Agent?
- Agent 能否修改自己的系统指令?
- 压缩后保留什么、丢失什么?
- 交互是否存储并可查询?
Memory 目前还处于早期阶段,业界还在探索最佳实践。正因为如此,Memory 的抽象还未标准化——它和 Harness 紧密绑定。
封闭 Harness = 失去 Memory 控制权
如果你使用封闭的 Harness,尤其是通过 API 调用的,你就不拥有自己的 Memory。
轻度风险:使用有状态 API(如 OpenAI Responses API、Anthropic 服务端压缩)时,状态存储在他们的服务器上。如果想切换模型并恢复之前的会话——做不到。
中度风险:使用封闭 Harness(如 Claude Agent SDK,底层用的 Claude Code 是闭源的)时,Harness 不断演进,你的 Agent 行为会随之变化。你无法控制这些变化。
重度风险:通过 API 调用封闭 Harness 时,你无法获取原始记忆数据。那是存储在别人服务器上的黑盒。
开放 Harness 的价值
LangChain 的观点:Memory 和 Harness 应该是开放的。
开放的 Harness 让你:
- 拥有自己的记忆数据
- 控制数据存储位置
- 随时迁移到其他平台
- 自定义 Memory 策略
对开发者的启示
1. 选型时考虑数据主权
如果构建企业级 Agent,Memory 是核心资产。选择开放的 Harness(如 LangGraph、Deep Agents)意味着你拥有这些数据。
2. 避免厂商锁定
API 调用看起来方便,但长期来看:
- 数据在别人手里
- 迁移成本高
- 行为变化不可控
3. 关注 Agent Protocol
开放协议(如 Agent Protocol)提供了标准化通信方式,让不同 Harness 之间可以互操作,减少锁定风险。
参考链接: