返回 FEED
AGENT2026-05-14

Hermes Agent 深度解析:自进化技能 + 三层记忆 + GEPA 优化

一句话

两个月 90k Stars。 Nous Research 的 Hermes Agent,一个会记住你、会写技能、会自我进化的开源 Agent 框架。

解决什么问题

你用的每个 AI Agent 都有同一个问题:会话结束就忘了一切。

你的编码偏好、你纠正过三次的项目规范、昨天花了 10 分钟才找到的修复方案。全部消失。下次会话,从零开始。

Hermes 的做法完全不同:

  • 跨会话记忆
  • 自写可重用技能
  • 后台修剪
  • GEPA 离线进化引擎验证

开源生态里,没有其他 Agent 把这三件事合在一起。连 OpenClaw 也没有。

架构

一切流经 AIAgent 类(run_agent.py)。CLI、消息网关、批处理运行器、IDE 集成——都是同一个核心 Agent 的入口。

核心循环是 ReAct 风格、同步的:构建系统提示 → 检查是否需要压缩 → 发起可中断的 API 调用 → 执行工具调用 → 循环。

关键设计:

  • 六处执行:本地终端、Docker、SSH、Modal、Daytona、Singularity——同一套代码,改个配置就行
  • 模型无关:翻译层把任何 provider 路由到三种 API 格式之一,Claude/GPT/Gemini/Ollama 一键切换
  • 90 轮硬上限:防止 stuck loop 静默烧光额度,子 Agent 共享同一预算

身份层:SOUL.md

在记忆和技能之上,还有一个更基础的层:身份。

记忆是 Agent 知道什么。技能是 Agent 怎么做。但两者都没告诉你:它出现时是谁。

没有身份层,每个 Agent 都是同一个 Agent 戴不同帽子。

Hermes 用单个文件解决:~/.hermes/SOUL.md,系统提示的 #1 位置,在任何其他内容之前加载。

# SOUL.md
You are a pragmatic senior engineer with strong taste.
You optimize for truth, clarity, and usefulness
over politeness theater.

手写、静态。你写一次,随时间调整,跨每个项目每个会话保持一致。

SOUL.md 是固定框架。记忆和技能是框架内的动态部分。

三层记忆系统

Tier 1:核心记忆(永远在上下文里)

文件容量内容
MEMORY.md2,200 字符环境、项目规范、工具 quirks、经验教训
USER.md1,375 字符用户名、沟通偏好、技能水平、要避免的事
  • 会话开始时作为冻结快照注入系统提示
  • 会话中写入新记忆会立即持久化到磁盘,但下次会话才出现在系统提示
  • 记忆填满时(~80% 容量),Agent 自动合并相关条目,只有有用信息存活

Tier 2:对话历史(可搜索)

  • 每次对话存入 SQLite,支持全文搜索
  • Agent 可以搜索数周前的对话
  • 容量无限,但需要主动搜索 + LLM 总结

Tier 3:外部记忆 Provider

  • Mem0、Zep 等,与内置记忆并行运行(不替代)
  • 一次只能激活一个
  • 激活时自动:每次 turn 前预取相关记忆 → 每次响应后同步对话 → 会话结束时提取记忆

Tradeoff: Tier 1 永远在上下文里但很小。Tier 2 容量无限但需要搜索+总结。关键事实进记忆,其他按需搜索。

自进化技能

技能是带 YAML frontmatter 的 Markdown 文件——程序性记忆:不是知道什么,是怎么做。

---
name: k8s-pod-debug
description: >
  Activate for crashing pods, CrashLoopBackOff,
  "why is my pod restarting", container failures.
version: 1.2.0
author: agent
platforms: [linux, macos]
---

## Procedure
1. Get pod status → check events → pull logs
2. Look for OOMKilled, ImagePullBackOff, config errors

## Pitfalls
- Forgetting --previous flag on restarted containers

## Verification
- Pod stays Running with 0 restarts for 5+ minutes

渐进式披露控制 token 成本:

  • Level 0:Agent 只看到名称+描述(完整目录约 3k tokens)
  • Level 1:实际需要时才加载完整技能内容

GEPA:离线技能优化

进化引擎,离线验证技能。具体机制原文未展开,但定位是"让技能在后台自我进化"。

与 OpenClaw 的对比

"Hermes packages a gateway around a learning agent. OpenClaw packages an agent around a messaging gateway."

两者都是持久的、消息友好的,但架构选择相反

HermesOpenClaw
核心学习 Agent消息网关
记忆三层内置 + 外部文件系统 + MEMORY.md
技能自进化 Markdown外部 SKILL.md
身份SOUL.mdSOUL.md
执行6 种环境本地 + SSH + 节点
最佳场景深度个人助手路由调度 + 多频道

不是竞争,是互补。 Sam 用 OpenClaw 做路由调度(Telegram/飞书/Discord → 文件系统 → 外部服务),Hermes 更适合做深度个人编码助手/研究助手。

实战:三个隔离 Agent

按指南走完,你会有三个完全隔离的 Agent 跑在机器上:

  1. Programmer —— 用你的 Claude Code
  2. Deep Researcher —— 深度研究
  3. Designer —— 设计工作

每个都有自己的个性、记忆、技能和 Telegram bot。几分钟搭好,全部可在自己的硬件上复现。

资源