Hermes Agent 架构与特点

理解 Hermes 的内部结构,能帮助你更高效地配置、扩展与排错。本章拆解它的整体架构与关键设计。


总体架构

Hermes 由若干松耦合的子系统组成,围绕一个 Agent 主循环协作:

┌──────────────────────────────────────────────────────────────┐
│                        入口 / 触达层                          │
│   CLI 终端 UI   │   消息网关(Telegram/Discord/Slack…)       │
└───────────────┬──────────────────────────┬───────────────────┘
                │                          │
                ▼                          ▼
┌──────────────────────────────────────────────────────────────┐
│                       Agent 主循环                            │
│   读取上下文 → 调用 LLM → 解析工具调用 → 执行 → 写回结果      │
└───┬───────────┬───────────┬───────────┬───────────┬──────────┘
    │           │           │           │           │
    ▼           ▼           ▼           ▼           ▼
 ┌──────┐  ┌────────┐  ┌────────┐  ┌────────┐  ┌──────────┐
 │ 记忆 │  │ 技能   │  │ 工具   │  │ Cron   │  │ 执行后端 │
 │MEMORY│  │SKILLS  │  │ TOOLS  │  │调度器  │  │Local/Docker│
 └──────┘  └────────┘  └────────┘  └────────┘  └──────────┘
    │                                              │
    ▼                                              ▼
 ┌──────────────────────────┐          ┌────────────────────────┐
 │  ~/.hermes/ 本地存储      │          │  LLM Provider(模型)  │
 │  config / SOUL / MEMORY  │          │  Portal/OpenRouter/vLLM│
 └──────────────────────────┘          └────────────────────────┘

Agent 主循环

Hermes 的核心是一个经典的 "感知—思考—行动" 循环:

  1. 组装上下文:加载 SOUL(人设)、相关记忆、可用工具/技能、当前会话历史
  2. 调用 LLM:把上下文交给所选模型,得到回复或工具调用请求
  3. 解析与执行:若模型请求调用工具,则在选定的执行后端中运行
  4. 写回结果:把工具输出回灌给模型,继续推理,直到任务完成
  5. 沉淀:必要时更新记忆、生成新技能

Hermes 支持 11 种 tool-call 解析器,以兼容不同模型输出工具调用的格式,这也是它"模型无关"的关键。


本地存储布局:~/.hermes/

所有状态都保存在用户目录下,便于备份、迁移与审计:

~/.hermes/
├── config.yaml          # 主配置(模型、工具、平台、后端…)
├── SOUL.md              # 智能体人格 / 系统提示
├── MEMORY.md            # 沉淀的事实与模式(长期记忆)
├── USER.md              # 用户画像与偏好
├── skills/              # 自定义与自动生成的技能
├── conversations/       # 会话历史
└── cache/               # 缓存数据

可用环境变量 HERMES_CONFIG_DIR 覆盖该目录位置。


三层分离的设计特点

Hermes 把"是谁、记得什么、会做什么"清晰拆开:

文件角色类比
SOUL.md人格、价值观、风格智能体的"性格"
MEMORY.md学到的事实与模式智能体的"经验"
USER.md你的偏好与背景智能体对"你"的认知

这种分离让你可以单独调整任意一层——换个人设不会丢记忆,清理记忆不影响人设。详见 记忆系统


执行后端(Terminal Backends)

工具中的命令并不总在本机裸跑,Hermes 提供 6 种可切换的执行后端,兼顾便捷与隔离:

后端说明适用场景
Local直接在本机执行个人使用、最快
Docker容器内执行隔离风险、可复现
SSH远程服务器执行操作远端机器
SingularityHPC 集群科研计算
Modal无服务器,空闲休眠弹性、省成本
Daytona无服务器、持久化需要持久工作区

执行后端是 Hermes 安全治理的重要一环:把高风险操作放进容器或远程沙箱,可显著降低误操作影响。


网关(Gateway)

网关是连接外部消息平台的适配层。它把 Telegram、Discord 等平台的消息统一翻译为 Agent 循环的输入,并把回复发回对应平台:

[用户在 Telegram 发消息] → 网关适配器 → Agent 循环 → 回复 → 网关 → [Telegram]

一个网关可同时挂多个平台,配合 DM 配对用户白名单做访问控制。详见 消息通道


关键特点小结

  • 模型无关:11 种工具解析器 + 200+ 模型,随时 /model 切换
  • 本地优先:状态全在 ~/.hermes/,无云锁定
  • 分层清晰:人设 / 记忆 / 用户三层独立可调
  • 执行可隔离:6 种后端按风险选择
  • 主动可调度:内置 Cron,无人值守执行
  • 可成长:技能自动沉淀、提示词可演化(GEPA)

下一步