深度“解剖”AI Agent Harness
Akshay Pachaar 2026年5月25日 07:00
“如果你不是模型本身,那你就是 Harness”。—— Vivek Trivedy
楔子
在这个 OceanBase 社区公众号上,兹拉坦向来没有把一份儿外文资料翻译成中文后直接发布的习惯。因为我们希望每篇文章都是在自己阅读之后,把理解的东西提炼出来分享给大家。但今天的这篇文章,是个特例。
Akshay Pachaar 前段儿时间,在推特上发了一篇长文《The Anatomy of an Agent Harness》,系统地拆解了 Anthropic、OpenAI、LangChain 等公司的 Agent Harness 架构设计。这篇文章也是截至目前为止,兹拉坦读到过的,讲 Harness 最为清晰和全面的。而且这篇文章现在已经有 139 万的阅读量了。


也欢迎大家关注 OceanBase 社区公众号 “老纪的技术唠嗑局”。
正文开始
这篇文章聊的是 Anthropic、OpenAI 和 LangChain 他们究竟在造什么。让我们一起来看看——编排循环、工具、记忆、上下文管理,以及那些把“无状态”大语言模型变成全能智能体的底层机制。
你可能已经搭过聊天机器人,甚至用几个工具撸了一个 ReAct 循环。Demo 跑起来一切美好,但一上生产环境就原形毕露:模型转头就忘了三步前干过啥,工具调用悄无声息地挂掉,上下文窗口里塞满了没用的垃圾。
问题不在模型,在模型外面那一圈基础设施。
LangChain 用事实说了话:模型没换,参数没动,光改了外面那层架构,就在 TerminalBench 2.0 上从 30 名开外一路杀到第 5。还有一项研究让大模型自己去优化这套架构,结果通过率干到了 76.4%,比人类精心设计的系统还猛。现在,这套基础设施有了个正式名字:AI Agent Harness。
什么是 Agent Harness?
Harness 这个词虽然 2026 年初才正式叫开,但背后的理念早就有了。Harness 就是套在大模型外面的那一整套软件架构:编排循环、工具、记忆、上下文管理、状态持久化、错误处理、护栏……全算。
Anthropic 在 Claude Code 文档里说得很直白:SDK 就是“驱动 Claude Code 的 Agent Harness”。OpenAI 的 Codex 团队也是一个意思。LangChain 的 Vivek Trivedy 给出的定义:“如果你不是模型本身,那你就是 Harness。” 简单粗暴。
很多人分不清这俩概念:“AI 智能体”(Agent)是你看到的那个表现;“Harness” 是幕后那台机器。当有人说“我做了一个智能体”,其实他是说“我搭了一套 Harness,然后把模型接上去了”。

Beren Millidge 打了个特别到位的比方:裸奔的大模型就是一颗没有内存、没有硬盘、也没有输入输出的 CPU。上下文窗口是内存,外部数据库是硬盘,工具集成是设备驱动。而Harness,就是操作系统。“我们重新发明了冯·诺依曼架构”。

工程化的三个层次
- 提示词工程:把喂给模型的指令写好。
- 上下文工程:管好模型在什么时候能看到什么。
- Harness 工程:前两者全包,再加上整个应用架构——工具编排、状态持久化、错误恢复、验证循环、安全执行、生命周期管理。
Harness 可不是什么提示词套壳(AI Wrapper),它是让智能体真正能自主行动的完整系统。

生产级 Harness 的 12 个核心组件
综合 Anthropic、OpenAI、LangChain 和一线从业者的经验,生产级 Harness 由 12 个核心组件构成。

1. 编排循环 (The Orchestration Loop)
“思考 - 行动 - 观察”(TAO)循环:拼提示词 → 调大模型 → 解析输出 → 执行工具调用 → 喂回结果 → 再来,直到任务完成。代码层面就是一个 while 循环。Anthropic 管自家运行时叫“笨循环”。

2. 工具 (Tools)
工具是智能体的“手”。Claude Code 提供了六大类工具:文件操作、搜索、执行、网页访问、代码分析和子智能体创建。OpenAI 的 Agents SDK 支持函数工具、托管工具以及 MCP 服务器工具。
3. 记忆 (Memory)
短期记忆就是一次会话里的对话历史。长期记忆跨会话存在:Anthropic 用 MEMORY.md,LangGraph 用 JSON 存储,OpenAI 用 SQLite 或 Redis。Claude Code 搞了三层记忆架构。重要原则:智能体把自己的记忆当“提示”看,行动前必须拿实际状态验证。
4. 上下文管理 (Context Management)
这是很多智能体悄悄翻车的重灾区。上下文腐烂:关键信息一旦落到窗口中间位置,模型表现就会掉 30% 以上——斯坦福管这叫“迷失在中间”。

生产环境应对策略:压缩(Compaction)、观察掩码(Observation Masking)、即时检索(Just-in-time Retrieval)、子智能体委托。
5. 提示词构建 (Prompt Construction)
分层的:系统提示词、工具定义、记忆文件、对话历史,最后是当前用户消息。
6. 输出解析 (Output Parsing)
现代 Harness 用原生工具调用:模型直接返回结构化的 tool_calls 对象。
7. 状态管理 (State Management)
LangGraph 把状态建模成类型化字典,关键步骤自动存档。Claude Code 拿 Git 提交当存档点。
8. 错误处理 (Error Handling)
10 个步骤,每步 99% 成功率,全流程成功率只剩 90.4%。LangGraph 分四类错误处理。
9. 护栏与安全 (Guardrails and Safety)
OpenAI 搞三层防线。Anthropic 把“权限执行”和“模型推理”拆开——模型决定想干什么,Harness 决定让不让干。

10. 验证循环 (Verification Loops)
“能 Demo”和“能上线”的分水岭。Claude Code 创造者 Boris Cherny 说过,让模型验证自己的活儿,产出质量能翻 2~3 倍。
11. 子智能体编排 (Subagent Orchestration)
Claude Code 支持三种玩法:克隆(Fork)、队友(Teammate)、工作树(Worktree)。
循环运作:步进式演练
零件认全了,看看它们在一次循环里是怎么配合干活的。

七步循环:提示词组装 → 模型推理 → 输出分类 → 工具执行 → 结果打包 → 上下文更新 → 循环。
退出条件:模型给出无工具调用回复、达到最大轮次、Token 预算用完、护栏触发、用户中断。Anthropic 还开发了“Ralph 循环”两阶段方案用于跨窗口长任务。
现实中的框架是怎么落地的

- Anthropic(Claude Agent SDK):
query()函数暴露 Harness,运行时“笨循环” - OpenAI(Agents SDK):代码优先路线,Codex Harness 分三层
- LangGraph:显式状态图,两个节点加条件边
- CrewAI:基于角色的多智能体协作
- AutoGen:微软出品,五种编排模式
“脚手架” (The Scaffolding Metaphor)

协同进化原则:现在的模型在训练时,就已经把 Harness 考虑在内了。检验标准:换更强模型,性能提升而不需要增加 Harness 复杂度。
定义 Harness 的 7 个关键决策

- 单智能体 vs. 多智能体:先把单智能体潜力榨干
- ReAct vs. 先规划后执行:LLMCompiler 比顺序 ReAct 快 3.6 倍
- 上下文管理策略:优先保留推理过程,减少 26~54% Token 消耗
- 验证循环设计:引导(前馈)+ 传感器(反馈)
- 权限与安全架构:宽松还是严格取决于场景
- 工具范围管理:Vercel 砍掉 80% 工具反而更好
- Harness 的厚度:多少逻辑写死,多少留给模型
Harness 即产品
两个同模型智能体性能天差地别——差就差在 Harness 上。TerminalBench 证明光换 Harness 排名能蹿 20 多位。Harness 永远不会消失。即便是最强的模型,也需要 Harness 帮它管窗口、跑代码、存状态、验结果。

小编评注
因为 Agent 时代会产生大量高频、半结构化、带上下文、需要回放和比较的过程性数据。
现在有一个非常“刺眼”的问题:通用 Agent 把运行时数据落到 JSONL / Markdown / SQLite 等外围文件中。很多公司被 Postgres + pgvector + Redis + ClickHouse + LangSmith + JSONL 的运维成本搞疯了。

LangChain 为 LangSmith 自研了 SmithDB。详见:LangChain “不务正业”,居然从零造了个数据库?

Agent 的 context、execution history、task、observability 与 footprint,应该直接沉淀到数据库中。

What’s more?
5 月 30 日,OceanBase × LangChain Meetup 上会重磅发布 AgentSeek。

AgentSeek 拥有 OB4AI + SeekVFS + SeekContext,可以把 context / trace / tool I/O / footprint 作为数据库原生对象承接。
点击下方图片,查看活动详情:

时间:5 月 30 日;地点:上海市浦东新区张江科学之门 T1 (模力·源) 35 楼
原文链接:《The Anatomy of an Agent Harness》: https://x.com/akshay_pachaar/status/2041146899319971922