--- source_url: https://mp.weixin.qq.com/s/8PwDQSX7ZX6HdDiW-H9Dzg title: "深入浅出 Harness Engineering 之核心模式与理念" source: "腾讯云开发者" ingested: 2026-06-01 sha256: 5372402802787c22bc4e3d08e1460a29edb9f8f7625db3f567802b4a72b680d2 --- # 深入浅出 Harness Engineering 之核心模式与理念 **作者:** 张碧泉 **发布日期:** 2026年4月29日 ## 摘要 从 Claude Code、Claude Managed Agents、Hermes 三个系统出发,梳理 Harness Engineering 的核心模式:持久化指令、分层记忆、工作流编排、工具权限管理、Session/Harness/Sandbox 三件套解耦、凭证安全设计、多智能体协作模式、性能优化等。 ## 内容 ## 一、Claude Code 的核心模式 ### 1.1 持久化指令文件 没有持久化指令文件时,每次对话都像从头开始,相同规则和错误反复出现。代价:文件需要随项目更新维护,否则可能误导智能体。 ### 1.2 作用域上下文组装 将指令按不同范围(组织、项目)拆分,让智能体动态加载最相关规则。代价:规则分散,可读性变差,可能冲突。 ### 1.3 分层记忆 三层记忆:常驻精华摘要 → 按需加载细节 → 仅支持搜索的完整历史。代价:实现更复杂,需设计分层流动和索引同步。 ### 1.4 做梦整理 定期后台对记忆去重、清理和重组,类似"垃圾回收"。代价:消耗资源,可能误删有用信息。 ### 1.5 渐进式上下文压缩 新对话保留细节 → 稍旧的轻量总结 → 更早的简短摘要。代价:压缩必有信息损失,可能导致智能体"编造"。 ### 1.6 工作流与编排 核心是"分离"——拆解任务流程提升复杂任务质量和可控性: - **探索-规划-行动循环:** 三步严格分离(只读探索→与用户对齐的规划→有写权限的执行)。代价:流程更慢,小任务显得"笨重" - **上下文隔离子智能体:** 不同阶段创建独立上下文和权限的子智能体,防止信息污染。代价:需要协调信息传递 - **分支-合并并行:** 并行子任务分发到多个独立环境的子智能体,最后合并。代价:合并复杂,代码冲突处理难 ### 1.7 工具与权限 - **渐进式工具扩展:** 开始只提供必要工具,复杂工具按需动态加载,降低选择成本和出错概率 - **命令风险分类:** 按命令类型/参数/影响评估风险等级(安全/有风险/危险),自动执行/请求确认/拦截 - **单用途工具设计:** 将常用操作封装为专用工具(读文件、搜索),而非通用 Shell 命令,提高可理解性和审查性 ### 1.8 自动化 - **确定性生命周期钩子:** 在智能体生命周期关键节点(会话开始、工具调用后)自动触发预设动作(如代码格式化),由系统确保关键流程执行,不依赖可能被模型遗忘的指令 ## 二、Claude Managed Agents 的架构 ### 2.1 宠物与牲畜基础设施哲学 - **Session(会话)是宠物:** 精心培育、持久保存、不可丢失 - **Harness(控制器)和 Sandbox(沙盒)是牲畜:** 随时创建、销毁、替换 ### 2.2 智能体三件套解耦 | 组件 | 角色 | 说明 | |------|------|------| | **Claude(大脑)** | 推理和决策 | 核心 LLM | | **Harness(双手)** | 驱动运行循环 | 控制中心,无状态 | | **Sandbox(工作台)** | 隔离执行环境 | 编写代码/编辑文件/运行命令 | **Session:不可变的事件流** — 核心接口 `emitEvent()` / `getEvents()`,只追加日志,天然支持重放和状态恢复。 **Harness:驱动循环** — 从 Session 取上下文→调用 Claude→记录响应→路由工具到 Sandbox→记录结果→循环。Harness 无状态,可随时替换或重启。 **Sandbox:隔离的执行环境** — 完全隔离,有独立文件系统/进程/网络。可隔离、可重建、可扩展。 ### 核心安全设计:凭证永不进沙盒 保险库(vault) + 代理(proxy)架构: - 所有第三方凭证存储在独立保险库中,Harness 和 Sandbox 都无法直接访问 - 调用外部工具时,通过代理从保险库按需获取凭证执行 - 凭证始终不暴露给 Sandbox 中的代码 优势:最小权限原则、所有外部调用可审计、凭证可统一轮换。 ### 2.3 多智能体协作模式 三组件解耦自然支持三种协作模式: | 模式 | 说明 | 适用场景 | |------|------|---------| | **多脑一手** | 多个 Claude 实例共享一个 Sandbox | 多角度分析同一份代码(安全审查+性能优化) | | **一脑多手** | 一个 Claude 控制多个 Sandbox | 不同环境(Python 和 Node.js)同时执行 | | **多脑多手** | 多个 Claude 各有 Sandbox,通过共享 Session 协调 | 最复杂的多步骤任务 | ### 2.4 上下文工程 - **上下文压缩:** 上下文将满时压缩早期对话为总结,原始数据保留在 Session 中 - **记忆工具:** Claude 主动将重要信息写入持久存储,后续主动检索 - **上下文裁剪:** 发送前智能裁剪不相关内容,只保留当前任务需要的部分 ### 2.5 性能优化 关键:**将大脑(推理)从容器(Sandbox)中解耦**。解耦前每次推理需等 Sandbox 容器完全启动;解耦后编排层从 Session 拉取事件后推理立即开始。**首 Token 延迟降低 60-90%**。 ## 三、Hermes:会进化的智能体 ### 3.1 五段式循环 规划 → 执行 → 观察 → 学习 → 适应 ### 3.2 五层记忆架构 | 层级 | 定位 | 说明 | |------|------|------| | **L1 短期记忆** | 便利贴 | 当前对话的临时信息 | | **L2 技能手册** | 肌肉记忆 | 完成复杂任务(5+工具调用)后自动生成 SKILL.md,形成可复用流程 | | **L3 知识库** | 语义记忆 | 向量存储实现模糊检索(语义相近向量在数学空间位置接近) | | **L4 用户建模** | 对你的了解 | 黑格尔"辩证式":AI 内部讨论"我对用户的理解对吗?新证据说明了什么?怎么更新理解?" | | **L5 工作日志** | 长期档案 | FTS5 全文检索 + LLM 摘要,跨会话搜索历史对话 | L4 用户建模示例:"林总平时喝美式,但周三下午会换拿铁"——不是一次判断定终身,允许用户改变、情况复杂,通过不断观察、思考、调整来更新理解。