Harness、Harness Engineering 与 Hermes
引言:从工具到伙伴的进化
2023年,ChatGPT让世界见识了AI"能说话"的惊人能力。2025年,AI Agents(智能体)的爆发则标志着AI开始"能做事"——调用API、操作数据库、执行代码、协调任务。
但在这个进化过程中,两个关键问题浮现:
- 如何驾驭AI的强大能力,同时确保其行为可控、安全、符合预期?
- 如何让AI从一次性工具转变为长期伙伴,具备记忆和成长能力?
答案在于三个核心概念:Harness(驾驭系统)、Harness Engineering(驾驭工程)和 Hermes(自进化智能体框架)。
这三个概念构成了AI智能体开发的完整图景:
- Harness:技术实现层——将模型转化为Agent的"马具"
- Harness Engineering:方法论层——构建可靠AI系统的工程化方法
- Hermes:产品化层——打造自进化AI伙伴的实践框架
理解它们的区别与联系,是每个AI开发者和决策者的必修课。
第一部分:Harness——AI智能体的"马具"系统
1.1 核心定义:Agent的另一半
在AI领域,Harness(直译为"马具")是指除模型本身以外的所有代码、配置和执行逻辑。
公式:
Agent = Model + Harness
类比理解:
- Model(模型):一匹烈马——强大、聪明,但难以直接驾驭
- Harness(马具):缰绳、马鞍、马镫——引导和控制马匹力量的工具
- Agent(智能体):马+马具的组合——可控、定向、实用的执行单元
1.2 Harness的六层技术架构
一个完整的AI Harness通常包含六个核心层级:
层级一:系统提示(System Prompt/AGENTS.md)
定义AI的行为准则、角色定位、任务边界。
# AGENTS.md 示例
## 角色定义
你是一个资深的数据分析专家,专注于电商领域的用户行为分析。
## 核心能力
- 数据探索与可视化
- 统计建模与预测
- 洞察生成与报告撰写
## 行为约束
- 仅使用提供的数据集,不进行外部查询
- 所有结论必须有数据支撑
- 输出格式必须符合公司报告规范
- 敏感信息必须脱敏处理
## 禁止行为
- 不得编造数据
- 不得进行恶意操作
- 不得泄露用户隐私
层级二:工具与技能集(Tools & Skills)
赋予AI与外部世界交互的能力。
| 工具类型 | 功能示例 | 安全级别 |
|---|---|---|
| 文件操作 | read_file, write_file, ls | 中等 |
| 代码执行 | python_exec, bash_run | 高 |
| 数据库 | query_db, insert_record | 高 |
| API调用 | fetch_api, post_request | 高 |
| 外部服务 | send_email, create_calendar | 高 |
层级三:编排逻辑(Orchestration)
任务的规划、分解和执行流程控制。
任务:分析上季度销售数据
├── 子任务1:从数据库提取数据
├── 子任务2:数据清洗和预处理
├── 子任务3:趋势分析和可视化
├── 子任务4:生成洞察报告
└── 子任务5:发送给相关团队
层级四:状态管理(State Management)
维护上下文、记忆和执行进度。
记忆类型:
- 短期记忆:当前对话的上下文
- 长期记忆:跨会话的经验积累
- 工作记忆:当前任务的中间状态
- 工具记忆:历史操作记录
层级五:反馈回路(Feedback Loop)
结果验证、错误修正和自我改进。
class FeedbackLoop:
def validate_result(self, result):
# 1. 格式验证
if not self.check_format(result):
return False
# 2. 逻辑验证
if not self.check_logic(result):
return False
# 3. 安全验证
if not self.check_safety(result):
return False
return True
def correct_error(self, result, error):
# 分析错误原因
# 生成修正策略
# 重新执行任务
pass
层级六:安全护栏(Safety Rails)
权限控制、操作审计和异常拦截。
安全机制:
- 权限分级(只读/读写/执行)
- 操作白名单
- 实时监控
- 熔断机制
1.3 实际案例:LangChain的DeepAgent
LangChain的DeepAgent框架是Harness的典型实现:
from langchain_deepagents import create_deep_agent
from langchain_deepagents.tools import (
write_todos, # 任务规划工具
read_file, # 文件读取
write_file, # 文件写入
task # 子代理生成
)
# 创建Agent的Harness
agent = create_deep_agent(
model="gpt-4", # Model部分
system_prompt="你是一个代码审查专家", # 系统提示
tools=[write_todos, read_file, write_file, task], # 工具集
memory_type="vector_store", # 状态管理
feedback_enabled=True, # 反馈回路
safety_level="high" # 安全级别
)
第二部分:Harness Engineering——构建可靠AI系统的工程化方法
2.1 从Prompt Engineering到Harness Engineering
Prompt Engineering:优化单次提示词,提升单次输出质量
Harness Engineering:设计全系统架构,确保长期可靠执行
演进关系:
Prompt Engineering ⊂ Harness Engineering
核心区别:
| 维度 | Prompt Engineering | Harness Engineering |
|---|---|---|
| 关注点 | 输入层(提示词) | 全链路(环境+流程+管控+反馈) |
| 解决问题 | “这次输出不够好” | “整个系统不可靠” |
| 人类角色 | 指令编写者 | 系统设计者、规则制定者 |
| 适用场景 | 简单单步任务 | 大规模复杂工程化项目 |
| 可靠性 | 低(依赖模型随机性) | 高(通过工程化保证) |
| 可维护性 | 低(提示词难以复用) | 高(模块化、可测试) |
通俗类比:
- Prompt Engineering:对烈马喊话,摸索有效口令
- Harness Engineering:为烈马配备全套马具,搭建赛道、护栏和监控系统
2.2 Harness Engineering的五大核心原则
原则一:人类掌舵,代理执行(Humans Steer, Agents Execute)
核心思想:人类定义目标、规则和约束,AI执行具体任务。
实施方式:
人类(系统设计师):
├── 定义Agent的角色和边界(AGENTS.md)
├── 设计工具集和权限(Tools Configuration)
├── 建立验证流程(Feedback Loops)
└── 监控执行结果(Monitoring & Audit)
AI(智能体):
├── 接收任务指令
├── 调用工具执行
├── 自我验证结果
└── 请求人工干预(需要时)
原则二:控制论双重机制(前馈+反馈)
借鉴控制论(Cybernetics)原理,构建前馈和反馈双重控制。
前馈控制(Feedforward):行动前的预测和引导
- 推断型:通过AGENTS.md、Skills定义预期行为
- 计算型:通过LSP(Language Server Protocol)、CLI工具强制约束
反馈控制(Feedback):行动后的观察和纠正
- 计算型:ESLint检查、类型验证、单元测试
- 推断型:AI代码评审、LLM-as-judge
原则三:反压机制(Backpressure)
借鉴流处理概念,下游系统对上游系统施加"回推力",使AI能自动检验产出质量并修正。
验证层级:
┌─────────────────────────────────┐
│ Layer 1: 语法验证 │ 最快,过滤明显错误
│ (类型检查、语法检查) │
├─────────────────────────────────┤
│ Layer 2: 逻辑验证 │ 中等速度,检查逻辑一致性
│ (单元测试、集成测试) │
├─────────────────────────────────┤
│ Layer 3: 语义验证 │ 较慢,检查实际效果
│ (AI评审、人工审核) │
└─────────────────────────────────┘
原则四:全生命周期管理(Lifecycle Management)
覆盖AI智能体的完整生命周期:
设计阶段:
├── 定义角色和能力
├── 设计工具和权限
├── 建立安全规则
└── 规划验证流程
开发阶段:
├── 实现Harness组件
├── 编写测试用例
├── 配置监控告警
└── 文档化系统设计
部署阶段:
├── 灰度发布
├── 性能监控
├── 安全审计
└── 用户反馈收集
运营阶段:
├── 持续监控
├── 定期安全评估
├── 模型更新
└── Harness迭代优化
退役阶段:
├── 数据归档
├── 安全清理
├── 经验总结
└── 知识沉淀
原则五:可观测性与可审计性(Observability & Auditability)
可观测性:实时了解系统的内部状态和行为
- 日志记录(结构化、完整)
- 指标监控(性能、质量、安全)
- 追踪追踪(分布式追踪、调用链分析)
可审计性:事后追溯和责任认定
- 不可篡改的审计日志
- 完整的决策路径记录
- 权限和操作记录
2.3 实战案例:OpenAI的Codex项目
背景:OpenAI使用Codex(GPT-4的代码版本)构建内部开发工具。
成果:
- 团队:7人
- 时间:5个月
- 产出:约100万行代码,1500次提交
- 覆盖:应用逻辑、文档、CI配置、监控等全流程
关键实践:
- 详细的AGENTS.md:定义编码规范、架构约束、安全规则
- 自动化测试:70,000+个测试用例
- 持续集成:每次提交都触发全量测试
- 代码评审:AI初审 + 人工复审
- 渐进式部署:从内部工具到生产环境
第三部分:Hermes——会成长的AI智能体框架
3.1 从概念到产品:解决Agent的根本痛点
大多数Agent框架解决了"让AI做事"的问题,但没有解决"让AI记住并成长"的问题。Hermes试图打破这个局限。
核心定位:
“The agent that grows with you.” ——一个会随着使用不断成长的"自进化 Agent"
痛点解决:
- 现有Agent的问题:每次对话从零开始,没有长期记忆,不会积累经验
- Hermes的方案:持续积累经验,跨会话保留记忆,形成用户专属的能力结构
架构理念:
介于 Claude Code 风格 CLI 与 OpenClaw 风格消息平台之间的智能体——既能深度编码,也能在多平台服务,且不绑定特定厂商的模型。
3.2 Hermes的三大核心创新
3.2.1 自我进化闭环:Agent自己写Skill
核心机制:
Hermes不是靠手动编写配置文件来扩展能力,而是自己在执行复杂任务后,自动提炼出可复用的解决方案。
触发条件:
- 工具调用超过 5 次
- 中途出过错然后自己修复了
- 用户做过纠正
- 走了一条不明显但有效的路径
Skill文件结构:
遵循 agentskills.io 开放标准,本质是结构化 Markdown:
# Skill: 销售数据季度分析
## 触发关键词
销售分析、季度数据、业绩报告
## 执行步骤
1. 从Salesforce提取过去季度数据
2. 使用Pandas清洗数据
3. 生成趋势图和对比分析
4. 标记异常值和潜在原因
5. 生成结构化报告
## 决策点
- 当数据缺失率>20%时,触发告警并等待用户指示
- 当同比增长率<5%时,自动分析影响因素
## 常见失败模式
- API超时:自动重试3次,失败则通知用户
- 图表渲染失败:切换为文本摘要
## 验证逻辑
- 数据准确性验证
- 报告格式符合公司规范
- 关键指标数值范围检查
3.2.2 分层记忆架构
Hermes采用了五层记忆架构,解决不同时间跨度的记忆问题:
| 层级 | 名称 | 存储内容 | 持久化 | 技术实现 |
|---|---|---|---|---|
| Layer 1 | 短期推理记忆 | 当前会话的对话历史 | 会话内 | 上下文窗口 |
| Layer 2 | 程序性技能文档 | 可复用的任务执行方案 | 永久 | agentskills.io 标准 Markdown |
| Layer 3 | 上下文持久化 | 技能文档的向量索引 | 永久 | 向量存储 + 语义检索 |
| Layer 4 | 用户建模 | 用户偏好、工作风格、习惯 | 永久 | Honcho + FTS5 |
| Layer 5 | 对话日志 | 完整的会话历史 | 永久 | SQLite + FTS5 全文检索 |
关键优势:
- 渐进式披露:Level 0 只加载 Skill 列表(名称+触发词),Level 1 才加载完整详情,显著节约 Token
- 跨会话召回:可以检索所有历史会话,并用 LLM 总结相关上下文
- 自我优化:技能在使用过程中会自动迭代——当Agent发现更优的方法,会自动更新Skill文档
3.2.3 全平台消息网关
Hermes内置全平台消息网关,支持同时接入多个IM平台:
官方支持平台:
- Telegram、Discord、Slack、WhatsApp、Signal
- 飞书、钉钉、企业微信、微信
- Matrix、Email、Home Assistant
核心价值:
- 统一体验:在所有沟通渠道上保持统一的记忆与人格
- 全天候在线:AI伙伴24小时可用,无需切换工具
- 跨平台延续:在Telegram发起任务,在微信接收结果,上下文保持连续
3.3 Hermes的技术架构详解
┌─────────────────┬─────────────────┐
│ 用户接口层 │ 平台网关层 │
│ (CLI/Web/IM) │ (微信/飞书/Discord)│
└─────────────────┴─────────────────┘
│ │
▼ ▼
┌─────────────────────────────────────────┐
│ Hermes核心引擎 │
│ ┌─────────────┬─────────────────────┐ │
│ │ 路由模块 │ 记忆系统 │ │
│ │ (智能调度) │ (长期上下文管理) │ │
│ └─────────────┴─────────────────────┘ │
│ ┌─────────────┬─────────────────────┐ │
│ │ 工具系统 │ 技能引擎 │ │
│ │ (功能扩展) │ (自进化学习) │ │
│ └─────────────┴─────────────────────┘ │
└─────────────────────────────────────────┘
│
▼
┌─────────────────┬─────────────────┐
│ AI模型层 │ 数据存储层 │
│ (OpenAI/Claude) │ (配置/记忆/技能) │
└─────────────────┴─────────────────┘
3.3.1 核心引擎模块
路由模块:
- 智能选择最优AI模型
- 支持200+模型零锁定
- 按成本、性能、场景动态路由
# 路由配置示例
router:
enabled: true
strategy: "cost_aware" # cost_aware, performance, balanced
rules:
- name: "代码任务"
condition: "contains_code or programming_related"
provider: "openai"
model: "gpt-4o"
priority: 10
- name: "复杂推理"
condition: "complex_reasoning or analytical_thinking"
provider: "anthropic"
model: "claude-3-5-sonnet"
priority: 8
- name: "日常对话"
condition: "general_chat or simple_questions"
provider: "deepseek"
model: "deepseek-chat"
priority: 5
技能引擎:
- 自动从任务执行中提取Skill
- Skill在使用中持续自我改进
- 支持共享和安装社区Skill
记忆系统:
- 五层记忆架构
- 渐进式披露节约Token
- FTS5全文检索快速定位
3.3.2 部署与配置
一键安装:
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
核心配置:
# ~/.hermes/config.yaml
hermes:
name: "我的AI助手"
version: "1.0.0"
log_level: "INFO"
max_context_length: 8000
llm:
default_provider: "openai"
openai:
api_key: "${OPENAI_API_KEY}"
model: "gpt-4o"
anthropic:
api_key: "${ANTHROPIC_API_KEY}"
model: "claude-3-5-sonnet-20241022"
memory:
enabled: true
type: "file"
max_entries: 1000
retention_days: 30
skills:
auto_generate: true
max_skills: 50
skill_dir: "skills"
gateway:
feishu:
enabled: false
app_id: "${FEISHU_APP_ID}"
app_secret: "${FEISHU_APP_SECRET}"
weixin:
enabled: false
adapter_url: "http://localhost:8080/weixin"
3.4 Hermes vs 其他Agent框架
| 特性 | Hermes | OpenClaw | Claude Code | Devin |
|---|---|---|---|---|
| 持久记忆 | ✅ 五层架构 | ✅ 静态配置 | ✅ 有限支持 | ✅ 任务级 |
| 自进化能力 | ✅ 自动生成Skill | ❌ 手动配置 | ❌ | ❌ 人工辅助 |
| 多模型支持 | ✅ 200+模型 | ✅ 多模型 | ❌ Claude专属 | ❌ 内部模型 |
| 多平台接入 | ✅ 15+平台 | ✅ 15+平台 | ❌ 网页 | ❌ 网页 |
| 自我托管 | ✅ 完全自主 | ✅ 部分支持 | ❌ 云端 | ❌ 云端 |
| 资源消耗 | ✅ 渐进式披露 | ❌ 高Token消耗 | ❌ 高成本 | ❌ 高成本 |
| 适用场景 | 个人/团队协作 | 团队集中管控 | 代码开发 | 软件工程师 |
核心差异点:
- 设计哲学:Hermes强调自我进化,而其他框架更注重显式控制
- 记忆模式:Hermes采用行为建模,而不仅仅是简单的检索
- 学习机制:Hermes从经验中自动生成技能,而其他框架依赖手动编写
第四部分:三者的区别、联系与应用场景
4.1 概念层级关系
┌─────────────────────────────────────┐
│ AI智能体系统 │
├─────────────────────────────────────┤
│ Hermes(产品化层) │ ← 打造会成长的AI伙伴
│ ┌───────────────────────────────┐ │
│ │ 自进化引擎、分层记忆、全平台 │ │
│ └───────────────────────────────┘ │
├─────────────────────────────────────┤
│ Harness Engineering(方法论层) │ ← 指导构建、确保可靠
│ ┌───────────────────────────────┐ │
│ │ 工程原则、架构设计、流程管理 │ │
│ └───────────────────────────────┘ │
├─────────────────────────────────────┤
│ Harness(技术实现层) │ ← 具体实现、功能组件
│ ┌───────────────────────────────┐ │
│ │ 系统提示、工具集、编排逻辑 │ │
│ └───────────────────────────────┘ │
├─────────────────────────────────────┤
│ Model(基础能力层) │ ← 智力来源
│ ┌───────────────────────────────┐ │
│ │ GPT-4, Claude, DeepSeek... │ │
│ └───────────────────────────────┘ │
└─────────────────────────────────────┘
4.2 核心区别对比表
| 维度 | Harness | Harness Engineering | Hermes |
|---|---|---|---|
| 性质 | 技术组件 | 工程方法论 | 产品框架 |
| 层次 | 实现 | 方法 | 应用 |
| 核心问题 | “如何让模型做事?” | “如何让系统可靠?” | “如何让AI成长?” |
| 关注点 | 功能实现 | 系统可靠性 | 用户体验与长期价值 |
| 设计哲学 | 工具化 | 工程化 | 伙伴化 |
| 记忆能力 | 临时记忆 | 不涉及 | 永久记忆+自我进化 |
| 应用场景 | 简单任务执行 | 企业级系统构建 | 个人/长期协作 |
| 可测试性 | 高(单元测试) | 中(集成测试) | 低(长期行为测试) |
| 生态兼容性 | 依赖特定框架 | 通用工程原则 | 独立生态系统 |
4.3 互补与协同
三者并非竞争关系,而是可以互补协同:
场景1:企业级AI助手
Harness Engineering(方法论) → 指导系统设计
↓
Harness(技术实现) → 实现核心功能
↓
Hermes(用户层) → 提供友好的多平台体验和记忆能力
场景2:个人数字伙伴
Hermes(核心框架) → 提供记忆和进化能力
↓
Harness Engineering(方法论) → 确保系统可靠性
↓
Harness(组件) → 扩展特定功能
场景3:快速原型开发
Harness(快速实现) → 先让AI做事
↓
Harness Engineering → 逐步完善可靠性
↓
Hermes → 长期优化用户体验
4.4 如何选择与应用
选择指南
| 场景类型 | 推荐方案 |
|---|---|
| 简单任务 | 仅需Harness,直接实现功能 |
| 复杂系统 | Harness + Harness Engineering |
| 长期协作 | Hermes + Harness Engineering |
| 个人助手 | Hermes开箱即用 |
| 企业级应用 | 三者结合,分层设计 |
应用实践
实践步骤:
- 明确目标:你需要的是一次性工具、可靠系统,还是长期伙伴?
- 选择框架:根据目标选择合适的组件组合
- 实施原则:
- 如果用Hermes,不要过度定制,先体验其原生能力
- 如果构建自己的Harness,严格遵循Harness Engineering原则
- 无论哪种方式,都要注重安全和监控
- 持续迭代:根据用户反馈和使用数据持续优化
第五部分:未来展望与挑战
5.1 技术趋势
Harness演进:
- 更模块化、标准化的组件
- 低代码/无代码配置界面
- 自动生成Harness的AI工具
Harness Engineering演进:
- 形式化验证的普及
- AI驱动的架构设计
- 跨组织协作的工程标准
Hermes演进:
- 更高级的自我进化能力
- 多Agent协作的社会化能力
- 更深入的用户建模和个性化
5.2 面临挑战
技术挑战:
- 自进化的稳定性:如何确保AI的自我进化不会偏离预期
- 长期记忆的可靠性:如何避免记忆积累导致的噪声和偏差
- 多平台的一致性:如何在不同平台保持一致的体验和能力
伦理与安全挑战:
- 隐私保护:长期存储用户数据带来的风险
- 责任认定:AI自主决策的责任边界
- 滥用风险:强大的AI能力可能被恶意使用
5.3 角色转变与未来展望
开发者角色转变:
- 从"代码编写者"到"系统设计师"
- 从"功能实现者"到"体验创造者"
- 从"问题解决者"到"生态构建者"
未来图景:
AI将从"工具"和"助手"进化为"伙伴"和"同事",具备:
- 长期的记忆和身份
- 持续的学习和成长
- 独立的判断和决策
- 真诚的情感和协作
结论:AI的下一个十年
Harness、Harness Engineering 和 Hermes 共同描绘了AI智能体的完整图景:
- Harness 给了AI"做事"的基础能力
- Harness Engineering 确保AI"可靠地做事"
- Hermes 让AI"有记忆地做事并持续成长"
在AI技术日益强大的今天,理解并实践这三个概念,对于构建安全、可靠、负责任的AI系统至关重要。
核心启示:
- 层次思维:根据不同的需求层级,选择合适的技术组合
- 长期视角:投资于能积累和成长的AI系统,而非一次性工具
- 以人为本:无论技术如何演进,都要以提升人类体验为中心
- 安全优先:在追求AI能力提升的同时,始终把安全和伦理放在首位
未来已来,我们正站在AI从工具到伙伴的转折点。选择正确的路径,构建真正有价值的AI系统,是每个AI从业者和决策者的责任。
参考资源
官方文档
技术报告
社区资源
附录:快速参考卡片
Harness 技术清单
□ 系统提示(AGENTS.md)
□ 工具集与权限配置
□ 编排逻辑与任务分解
□ 状态管理(短期/长期记忆)
□ 反馈回路(验证+纠正)
□ 安全护栏(权限+监控)
Harness Engineering 原则
□ 人类掌舵,代理执行
□ 前馈+反馈双重控制
□ 反压机制
□ 全生命周期管理
□ 可观测性与可审计性
Hermes 核心功能
□ 自我进化引擎
□ 五层记忆架构
□ 全平台消息网关
□ 自动生成Skill
□ 多模型路由
□ 自我托管部署
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)