> ## Content Index
> Fetch the complete content index at: https://www.hubwiz.com/blog/llms.txt
> Use this file to discover other available public pages before exploring further.

# Claude Code中的12种Harness模式
- URL: https://www.hubwiz.com/blog/12-harness-patterns-in-claude-code/
- Published: 2026-04-12T17:12:07.000Z
- Updated: 2026-04-12T17:12:07.000Z
- Description: 我们接下来要探索Claude Codez中的12个 Harness Engineering 模式，将脆弱的智能体转变为可靠的系统。
- Author: admin
- Tags: AGENT, CLAUDE CODE, #Import 2026-10-14 14:41

你已经构建了一个AI智能体。

它在约五个步骤内运行得*非常完美*。

然后出现了问题。

它幻觉了一个不存在的函数。 它忘记了自己在做什么。 它覆盖了不该触碰的文件。 它陷入了无用的循环。

你调整了提示词。 你切换了模型。 你添加了更多上下文。

仍然不稳定。

于是你责怪模型。

但这里有一个令人不安的真相：

**问题不在于你的模型。 问题在于你的控制层（Harness）。**

将酷炫的演示与生产级AI系统区分开来的不是智能，而是控制。

高级智能体背后的真正魔力并不隐藏在LLM内部。 它在于*围绕它的那一层*，即决定以下内容的系统：

- 模型看到什么
- 它被允许做什么
- 它如何从失败中恢复
- 以及它如何记住重要事项

这一层现在有了名字：

> **Harness Engineering（控制层工程）**

一旦你理解了它，你将再也不会以同样的方式构建智能体。

而这就是我们接下来要探索的12个 Harness Engineering 模式，将脆弱的智能体转变为可靠的系统。

> 内存与上下文（5个模式）

## 1\. 持久指令文件（CLAUDE.md 模式）

大多数智能体会话之间会忘记一切。

生产智能体不会。

它们依赖于**持久指令文件**，一个动态文档（通常称为`CLAUDE.md`或类似名称），定义：

- 编码标准
- 项目结构
- 命名约定
- 行为规则

这个文件*总是被注入上下文*，充当长期的"个性+策略层"。

**示例：**一个跨会话工作的编码智能体永远不会忘记：

- "使用TypeScript，不是JavaScript。"
- "所有API路由必须遵循`/api/v1/`"
- "未经确认不得修改`/core/`中的文件"

与其每次都重复指令，不如让 Harness 强制执行它们。

**事实：** *持久指令层减少提示词膨胀并跨会话稳定输出。*

## 2\. 作用域上下文组装

将整个代码库转储到上下文中是一个错误。

生产智能体**只加载相关的**，基于作用域。

不同的目录 → 不同的规则 → 不同的上下文。

**示例：**在单体仓库中：

- `/frontend/` 加载UI指南
- `/backend/` 加载API契约
- `/infra/` 加载部署配置

Harness 根据智能体操作的位置动态组装上下文。

**事实：** *更小、作用域化的提示词提高准确性并减少幻觉。*

## 3\. 分层内存（三层设计）

并非所有内存都应该被同等对待。

生产系统使用**三层**：

1. **紧凑索引** → 一切的快速摘要
2. **按需文件** → 详细特定主题内存
3. **归档转录** → 完整历史，很少访问

这防止了上下文过载，同时保留了长期知识。

**示例：**与其塞入50k tokens：

- 智能体读取摘要索引
- 仅在需要时拉取详细笔记
- 除非必要，忽略旧转录

**事实：** *分层内存实现长期任务而不会达到上下文限制。*

## 4\. 梦境整合（AutoDream 模式）

这就是事情变得有趣的地方。

生产智能体不只是存储内存；它们**清理**它。

在空闲时间，后台进程：

- 删除重复项
- 合并相似想法
- 压缩冗余上下文

把它想象成"AI的睡眠模式"。

**示例：**在对某个功能进行多次迭代后：

- 冗余笔记被合并
- 过时的步骤被移除
- 只保留最新的理解

**事实：** *没有整合，内存系统会随时间退化。*

## 5\. 渐进式上下文压缩

随着对话增长，上下文变得昂贵。

生产系统**随时间压缩上下文**，使用多阶段摘要。

- 早期阶段 → 完整细节
- 中期阶段 → 摘要块
- 后期阶段 → 高级抽象

**示例：**一个200步的工作流变为：

- 最后5步（详细）
- 最后20步（摘要）
- 更旧的步骤（仅压缩洞察）

**事实：** *渐进式压缩对于长期运行的智能体至关重要。*

> 工作流与编排（3个模式）

## 6\. 探索 → 计划 → 执行 循环

业余智能体直接跳入行动。

生产智能体不会。

它们将执行分为**三个不同的阶段**：

1. **探索**（只读）→ 收集信息
2. **计划** → 决定做什么
3. **执行** → 应用更改

每个阶段都有递增的权限。

**示例：**在编辑代码之前：

- 探索：读取文件
- 计划：概述更改
- 执行：应用编辑

**事实：** *这大大减少了破坏性错误。*

## 7\. 并行工作流

为什么使用一个智能体，当你可以使用多个时？

生产系统为独立任务生成**多个子智能体**。

然后合并结果。

**示例：**对于一个功能请求：

- 智能体1 → 后端逻辑
- 智能体2 → 前端UI
- 智能体3 → 测试

一个监督智能体组合所有内容。

**事实：** *并行化显著提高速度和模块化。*

## 8\. 验证门

这是最重要的模式之一。

在任何**破坏性操作**之前，智能体必须通过验证步骤。

**示例检查：**

- "这会删除重要文件吗？"
- "这会破坏现有功能吗？"
- "这符合指令吗？"

只有通过验证 → 才允许操作。

**事实：** *验证门对于安全自主性至关重要。*

> 工具与权限（2个模式）

## 9\. 最小权限范围

不要给智能体完全访问权限。

**只给它现在需要的**。

**示例：**

- 探索阶段 → 只读访问
- 计划阶段 → 无工具执行
- 执行阶段 → 有限写入访问

**事实：** *过度授权的智能体是破坏性失败的第一大原因。*

## 10\. 工具适配器层

直接工具调用是脆弱的。

生产系统在智能体和工具之间使用**适配器层**。

这实现了：

- 测试
- 模拟
- 日志记录
- 安全执行

**示例：**与其直接调用API：

- 智能体 → 适配器 → API

适配器可以在测试期间模拟响应。

**事实：** *这种抽象在成熟软件系统中是标准的——现在应用于AI智能体。*

> 自动化（2个模式）

## 11\. 无头批处理模式

并非所有智能体都需要UI。

生产系统作为管道的一部分在**后台**运行智能体。

**示例：**

- CI/CD管道运行智能体来：
- 重构代码
- 更新依赖项
- 生成测试

无需人工交互。

**事实：** *无头智能体解锁真正的企业自动化。*

## 12\. 自愈循环

事情会失败。

生产智能体不会崩溃——它们**恢复**。

它们检测失败信号：

- 错误消息
- 测试失败
- 无效输出

然后重试并调整。

**示例：**

- API调用失败 → 智能体用修正的参数重试
- 测试失败 → 智能体重写代码并重新运行

**事实：** *自愈对于长期运行的自主系统至关重要。*

## 13\. 大局观

单独来看，这些模式很有用。

合在一起，它们形成了强大的东西：

> **一个结构化、有弹性、生产级的智能体系统。**

这是区别：

- 业余智能体 → 反应
- 生产智能体 → 操作

一旦你开始用这些模式设计……

> **你停止"提示词工程"——开始*工程化智能*。**

---

原文链接: [Agent Harness: 12 Agentic Harness Patterns from Claude Code](https://medium.com/@simranjeetsingh1497/agent-harness-12-agentic-harness-patterns-from-claude-code-5505b7c239c4?ref=hubwiz.com)

汇智网翻译整理，转载请标明出处