# Hermes Agent · Harness Engineering 产品化 · 费曼学习

> 基于橙皮书《Hermes Agent 从入门到精通》内容

---

## 一、问题背景：Harness Engineering 是什么？

2026 年初，AI 编程圈达成一个共识：

> **瓶颈不是模型，是环境。**

LangChain 做过实验：同一模型 GPT-5.2-Codex，只改周围「缰绳」(harness) 配置，成绩从 52.8% → 66.5%，排名 Top 30 → Top 5。**模型一行没改。**

Mitchell Hashimoto（Terraform 创始人）命名了 **Harness Engineering**：每次 AI 犯错，就在 CLAUDE.md 里加一条规则，让它永远不再犯同样的错。文件是活的，一直在长。

## 二、Harness 五组件 vs Hermes 内建系统

| 组件 | 手动实现（Harness Engineering） | Hermes 内建 |
|------|-------------------------------|-------------|
| 🧠 指令层 | 手写 CLAUDE.md / AGENTS.md | **Skill 系统**（markdown 文件，自动创建 + 自改进） |
| 🔒 约束层 | 配置 hooks / linter / CI | **Tool 权限 + sandbox + toolset 按需启用** |
| 🔄 反馈层 | 人工审查 / 评估者 Agent | **自改进学习循环**（任务后自动复盘优化） |
| 💾 记忆层 | 手动维护 knowledge base | **三层记忆**（会话/持久/Skill）+ Honcho 用户建模 |
| 🎯 编排层 | 自己搭多 Agent pipeline | **子 Agent 委派 + cron 调度** |

## 三、核心机制：学习循环（五环节闭环）

```
策划记忆 → 创建Skill → Skill自改进 → FTS5召回 → 用户建模
         ↑                                        ↓
         └────────────────────────────────────────┘
```

### 环节一：策划记忆
每轮对话后，Agent **主动决定**哪些信息值得记住。不是被动存聊天记录，而是像「写日记」——回头看、提炼、写入 SQLite + FTS5 索引。

### 环节二：自主创建 Skill
完成复杂任务后，Agent 自问：**这个方案以后还会用到吗？** 如果是，就提炼成 `~/.hermes/skills/` 下的 markdown 文件。

### 环节三：Skill 自改进
Skill 不是静态的。每次使用中如果用户给了反馈，Agent 会回去修改 Skill 文件本身。类似持续集成代码规范——犯错后不只打补丁，还要更新文档。

### 环节四：FTS5 跨会话召回
用 SQLite FTS5 做全文索引，新对话时**按需检索**而不是全量加载。问数据库相关 → 翻数据库记忆；问前端 → 翻前端记忆。

### 环节五：用户建模 (Honcho)
可选外挂，比「记住你说过什么」更进一步——**推理你是什么样的人**。识别言行不一致（你嘴上说写注释但实际从不看），推导深层偏好。

## 四、三层记忆架构

```
第一层：会话记忆（情景记忆）
  └─ 回答「发生了什么？」
  └─ 按需检索，不膨胀上下文

第二层：持久记忆（语义记忆）
  └─ 回答「你是谁？」
  └─ 编码偏好、项目习惯、工具链

第三层：Skill 记忆（程序性记忆）
  └─ 回答「怎么做事？」
  └─ 可复用的方法论和执行规范
```

类比学骑自行车：
- 情景记忆：上次摔了
- 语义记忆：重心要放低
- 程序性记忆：身体自动保持平衡

## 五、一句话对比

| | Claude Code | OpenClaw | **Hermes Agent** |
|---|---|---|---|
| 理念 | 交互式编码 | 配置即行为（SOUL.md） | **自改进学习循环** |
| 记忆 | CLAUDE.md + auto-memory 半自动 | Daily Logs + MEMORY.md 人工维护 | **全自动三层记忆 + Honcho** |
| Skill | 人工维护 | 人工编写 44000+ 社区 | **自动创建 + 自进化** |
| 你需要做的事 | 坐在终端前实时协作 | 写 SOUL.md 配置 | **不需要坐在旁边，它会自己跑自己学** |

---

## 🤔 等你来写

用你自己的话，写一段 **≤300 字的白话解释**。目标是讲给一个**懂编程但没接触过 Agent 框架的朋友**听。

> 核心题眼：**Hermes Agent 到底「新」在哪？它和 OpenClaw / Claude Code 的本质区别是什么？为什么说它是「自己给自己造缰绳」的 Agent？**
>
> 写在下面，我来追问 👇
