什么是 Harness?AI Agent 的基础设施革命
"模型智力已经在线,我们现在比拼的就是 Harness。"
------ 黄佳,《动手做 AI Agent》作者
引言:从拼模型到拼 Harness
2026 年,AI 领域迎来了一个关键转折点。
当大模型的能力进入高原期------GPT、Claude、DeepSeek 等模型在智力水平上已难分伯仲------决定 Agent 系统成败的关键不再是"哪个模型更聪明",而是"如何驾驭这些模型"。
DeepMind 的 Agents 团队做了一个著名实验:用同一个模型,只换 Harness(模型的外围工程),性能就能产生巨大差异。 Claude Code 的崛起、OpenAI Codex 的发布、Hermes 的创新,都在证明一个事实:
Harness 是战略级别的资产。
一、Harness 的定义:Agent = Model + Harness
1.1 核心公式
Agent = Model + Harness
Harness( harness / ˈhɑːrnɪs /) 原意为"马具"、"缰绳",引申为"驾驭、控制"。在 AI 领域,Harness 指的是包裹模型运行的完整基础设施------它是将一个大语言模型转变为能够自主行动的 AI Agent 所需的全部外围系统。
1.2 通俗理解
如果把大模型比作一个聪明的大脑:
| 组件 | 类比 | 功能 |
|---|---|---|
| LLM | CPU | 提供推理和决策能力 |
| Context Window | RAM | 快速但有限的短期记忆 |
| External Database | 硬盘 | 大容量但较慢的长期存储 |
| Tool Integrations | 设备驱动 | 与外部世界交互的接口 |
| Harness | 操作系统 | 统筹管理一切的运行环境 |
正如 Beren Millidge 在 2023 年的经典比喻:"一个原始 LLM 就像一台没有 RAM、没有硬盘、没有 I/O 的 CPU。Harness 就是操作系统。"
1.3 官方定义
"The SDK is the agent harness that powers Claude Code."
------ Anthropic 官方文档
"An agent harness is the operational software layer that manages an AI's tools, memory, and safety to ensure reliable, autonomous task execution."------ Salesforce Agentforce
二、为什么需要 Harness?30 年软件工程的启示
Harness 的出现不是偶然,而是历史的必然。回顾 30 年软件工程演进,我们可以看到一条清晰的脉络:
2.1 复杂性中心的不断转移
1994 ──→ 2002 ──→ 2010 ──→ 2017 ──→ 2026
对象 企业架构 分布式 数据系统 Agent
复杂性 复杂性 系统复杂性 复杂性 复杂性
1994 年:驾驭对象的复杂性
GOF(Gang of Four)的《Design Patterns》提出了 23 种设计模式,第一次让程序员有了设计词汇,能够高效沟通面向对象的设计。
驾驭目标:对象的生命周期、职责划分、协作关系
2002 年:驾驭企业架构的复杂性
Martin Fowler 的《企业应用架构模式》将系统分层(表现层、服务层、领域层、数据层),Eric Evans 的《领域驱动设计》让代码结构反映业务结构。
驾驭目标:系统分层、业务边界、领域模型
2010 年:驾驭分布式系统的复杂性
微服务架构应对互联网爆炸式流量,成百上千个系统之间需要通信、扩容、灾备。
驾驭目标:分布式通信、消息传递、最终一致性
2017 年:驾驭数据系统的复杂性
Martin Kleppmann 的《Designing Data-Intensive Applications》(DDIA)指出:软件的复杂性不在于业务逻辑,而在于数据系统。
驾驭目标:数据分区复制、共识机制、时空维度上的数据流动
2026 年:驾驭智能体的复杂性------Harness 登场
Agent 是比数据更复杂的存在 ------它会推理、会行动、会自我迭代,但同时也是一个概率机器:你输入一个东西期待一个输出,但它并不一定按你的要求走。
驾驭目标:一个不确定性的系统
2.2 Harness 是驾驭 Agent 的缰绳
正如黄佳老师所说:
"Agent 本身是一个概率机器,怎么样去拆解它的输入输出、怎么样拆解这个结构,这都是我们新时代需要做的新事。在 Agent 时代我们驾驭的就是一个智能体,这是我们第一次驾驭一个不确定性的系统。"
Harness,就是我们驾驭 Agent 的缰绳。
三、Agent 工程的三次跃迁
过去两三年,Agent 工程思维经历了三次主要的跃迁:
3.1 第一阶段:Prompt Engineering(2023)
"你是一个聪明的工程师" vs "你是一个教小学生的教师"
研究者探索如何通过精心设计的提示词让大模型理解人类意图。CoT(Chain of Thought)------"请你一步一步思考"------是这一阶段的代表性成果。
局限:Prompt Engineering 只能影响模型的"思考方式",无法解决模型的"行动能力"问题。
3.2 第二阶段:Context Engineering(2024-2025)
"你给大模型什么东西,就是你能够从大模型身上得到的东西。"
RAG(检索增强生成)、企业知识库、Agent 上下文管理------这一阶段的核心是调教模型的上下文。
Claude 团队在这一领域领先,提出了 Context Compression(上下文压缩)、渐进式披露等关键技术。
局限:Context Engineering 只解决了"模型看到什么",没有解决"模型能做什么"。
3.3 第三阶段:Harness Engineering(2026)
"我们需要不仅仅让它回答问题,还要让它自动采集、自动做审核、自动完成任务。"
Harness Engineering 的核心是两个字:可控。
- 设计循环的策略
- 设计工具系统
- 设计质量审核机制
- 设计分发治理体系
我们正在设计可控的系统。
四、Harness 的核心组件
一个生产级的 Agent Harness 通常包含以下六大核心模块:
4.1 Agentic Loop:心脏
while (true) {
// 1. 解构状态
// 2. 压缩上下文
// 3. 构建系统提示
// 4. 调用 LLM API(流式)
// 5. 收集 tool_use 块
// 6. 错误恢复
// 7. 工具执行
// 8. Stop Hook → 终止或继续
// 9. 更新状态 → continue
}
设计哲学:
- Async Generator :不是返回最终结果,而是
yield每一个中间事件 - 无限循环 + 显式退出 :只在
return Terminal时退出,提供最大灵活性 - 单一 State 对象:维护伪不可变语义
这个复杂行为都从这个简单的循环中涌现出来,与最早的 ReAct(Reasoning + Acting)论文一脉相承。
4.2 Tool System:手脚
智能体通过调用各种工具和 API 来扩展大语言模型的行动范围,使其不仅限于语言生成和理解,还可以实际参与到现实世界中。
Claude Code 的设计哲学:少而精的工具设计,涌现出超强能力。
4.3 Memory & Context Management:记忆
- 静态上下文:仓库文档、CLAUDE.md/AGENTS.md 文件、设计文档
- 动态上下文:日志、指标、目录映射、CI/CD 状态
核心原则:"Agent 无法在上下文中访问的信息不存在。"
当 token 使用率达到上下文窗口的 98% 时,Harness 会自动压缩:总结早期历史以释放空间,保留关键元数据,剥离图像和 PDF。
4.4 Guardrails:缰绳控制
权限模型:Allow / Deny / Ask
- Allow:允许执行
- Deny:拒绝执行(不可配置、不可绕过)
- Ask:询问用户
Claude Code 会一直询问"要不要执行某个操作"------人必须控制权限。
4.5 Hooks:守卫
在代码提交到 GitHub 之前,检查是否误传了 environment 文件?千万不要传,这些东西传了就出大事。
Hooks 系统在关键节点插入检查逻辑,防止危险操作。
4.6 Session:会话连续性
- 会话状态持久化到本地
- 支持回滚、恢复、分叉
- 代码变更前快照受影响文件
五、Harness 解决的五大落地难题
Claude Code 出来之后,很多东西都可以落地了。Harness 解决了 Agent 的五个核心卡点:
| 问题 | 表现 | Harness 解决方案 |
|---|---|---|
| 无限循环 | Agent 陷入死循环,无法终止 | Stop Hook + 最大轮次限制 |
| 上下文爆炸 | Token 超限,关键信息丢失 | 四级压缩管道 + 磁盘持久化 |
| 权限失控 | Agent 执行危险操作 | Guardrails + 人工确认 |
| 质量不可控 | 输出质量参差不齐 | 验证循环 + 质量审核 |
| 成本不透明 | Token 消耗难以预估 | 成本追踪 + 预算限制 |
正如业界已经证明的:这就像出来了一个 Linux 系统,技术上没有任何障碍。解决的还是我们设计模式理解的问题。
六、当前 Harness 生态格局
6.1 纵深型:深度工程开发
| 产品 | 特点 | 适用场景 |
|---|---|---|
| Claude Code | Number One,上下文管理最强 | 深度编码、复杂重构 |
| OpenAI Codex | 代码能力极强,开源 | 代码生成、Code Review |
| Cursor / Windsurf | IDE 集成 | 日常开发 |
6.2 横向型:自动化运营
| 产品 | 特点 | 适用场景 |
|---|---|---|
| OpenClaw | 多平台集成 | WhatsApp、飞书运营 |
| Hermes | 自动化工作流 | 数据采集、内容推送 |
6.3 开发框架
| 框架 | 特点 |
|---|---|
| Claude Agent SDK | 官方 SDK,与 Claude Code 同源 |
| LangGraph | 显式状态图,多 Agent 支持 |
| OpenAI Agents SDK | Code-first,原生 Python |
七、工程师的能力转型
7.1 从码农到工程师
"工程师永远不会失业,但码农可能会失业。"
- 码农:单纯写代码的人
- 工程师:能够设计并驾驭复杂系统的人
工程师的核心能力:
- 理解系统的复杂性
- 抽象和结构化思维
- 驾驭不确定性
7.2 掌握 Harness 设计能力
我们需要:
- 设计循环的策略
- 设计工具系统
- 设计质量审核机制
- 设计分发治理体系
核心就是:可控。
7.3 以不变应万变
"我们不用啥都追,追那个是很累的事情。我们真的是要找本质。"
在纷纷乱乱复杂的世界中,思考一些不变性的主题 ,寻找一些本质性的东西 。当我们这样做的时候,不会觉得世界变化太快,因为万变不离其宗。
八、结语:Harness 是驾驭 Agent 的缰绳
从 2026 年的关键转折点开始,我们看到了一个贯穿 30 年软件工程演进的主题:工程师如何驾驭复杂系统。
从面向对象到企业架构,从微服务到大数据,再到今天的 Agent,复杂性的中心一直在转移,但本质从未改变------我们需要通过抽象和结构化 ,把复杂的东西变得可控。
Harness 就是我们驾驭 Agent 这个"不确定性系统"的缰绳。
在这个 Agent 时代,模型智力已经在线,我们现在比拼的就是 Harness。Claude Code 的成功、DeepMind 的实验、各家的布局,都在证明 Harness 的战略价值。
对于我们工程师来说,关键是要:
- 从码农升级为系统工程师
- 从写代码升级为设计系统
- 从被动执行升级为主动驾驭
只有理解了过去,我们才能真正驾驭未来。
凡此过往,皆为序章。
参考资源
- Agent Harness for Large Language Model Agents: A Survey - 2026年4月最新综述
- Harness Engineering: 基于 Claude Code 的完全指南
- Claude Code Agent Harness Architecture
- The Anatomy of an Agent Harness
- What Is an Agent Harness? - Firecrawl
- Salesforce Agentforce - Agent Harness
本文基于黄佳老师在 Datawhale 的分享整理,结合 2026 年最新研究进展撰写。