Claude Code中的12种Harness模式

我们接下来要探索Claude Codez中的12个 Harness Engineering 模式,将脆弱的智能体转变为可靠的系统。

Claude Code中的12种Harness模式
微信 ezpoda免费咨询:AI编程 | AI模型微调| AI私有化部署
AI工具导航 | ONNX模型库 | Tripo 3D | Meshy AI | ElevenLabs | KlingAI | ArtSpace | Phot.AI | InVideo

你已经构建了一个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

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