Hermes Agent 深度解析:当 AI Agent 终于学会「记住一切、学会一切、成为一切」

Hermes Agent 深度解析:当 AI Agent 终于学会「记住一切、学会一切、成为一切」36 618 stars GitHub Trending 第一 MIT 协议开源 Nous Research 用 Hermes Agent 重新定义了什么叫 会学习的 AI 这不是另一个 Cursor 或 Claude Code 而是一个真正拥有 记忆闭环 和 自主进化 能力的通用 AI Agent 它能从对话中创建技能 从错误中自我修正 在多平台间无缝切换 甚至能从 OpenClaw

大家好,我是讯享网,很高兴认识大家。这里提供最前沿的Ai技术和互联网信息。



36,618 stars、GitHub Trending 第一、MIT 协议开源——Nous Research 用 Hermes Agent 重新定义了什么叫「会学习的 AI」。这不是另一个 Cursor 或 Claude Code,而是一个真正拥有「记忆闭环」和「自主进化」能力的通用 AI Agent。它能从对话中创建技能、从错误中自我修正、在多平台间无缝切换——甚至能从 OpenClaw 完整迁移你的所有配置。本文从架构设计、记忆系统、技能生态、工具生态、跨平台网关五个维度,深度解析这个 2026 年最值得关注的开源 AI Agent 项目。

过去两年,AI Agent 赛道经历了三次范式迁移:

第一阶段(2023-2024):单轮问答增强。 以 Claude Code、Cursor 为代表,通过增强上下文让 AI 完成代码生成任务。但本质仍是「每会话独立」——AI 不知道你是谁、不知道上次修过什么 bug、不知道你偏好什么编程风格。

第二阶段(2024-2025):工具集成竞赛。 MCP(Model Context Protocol)协议横空出世,解决了「AI 怎么调用外部工具」的问题。各大平台疯狂接入工具生态。但工具再多,Agent 仍然是「金鱼记忆」——每次会话都是白纸。

第三阶段(2025-2026):记忆与进化闭环。 代表项目有两个:OpenClaw 和 Hermes Agent。两者都意识到,真正的 AI Agent 不应该只是「更聪明的对话窗口」,而应该是一个「持续积累经验、主动优化自身」的数字化员工。

Hermes Agent 的独特价值在于:它是目前唯一一个将「自进化学习循环」作为一等公民(first-class citizen)设计的开源 Agent。与 OpenClaw 强调会话和插件生态不同,Hermes 的核心差异化在于自主创建技能(Agent-created skills)和跨会话记忆持久化,让 AI 的能力边界能够随着使用时长不断扩展。

Hermes Agent 的架构设计体现了「一次编写、处处可用」的原则。整个系统有三个入口点:

┌─────────────────────────────────────────────┐ │ Entry Points │ │ │ │ CLI (cli.py) → 交互式终端界面 │ │ Gateway (gateway/run.py) → 消息网关,14平台 │ │ ACP (acp_adapter/) → IDE 集成(VS Code等) │ └─────────────────────────────────────────────┘ 

CLI 入口(约 8,500 行代码):完整的 TUI 界面,支持多行编辑、斜杠命令自动完成、对话历史、流式工具输出。启动后是一个持久的交互式会话,Ctrl+C 可以随时中断重定向。

Gateway 入口:长驻进程,将 Hermes 暴露为 Telegram、Discord、Slack、WhatsApp、Signal、Email 等 14 个消息平台的服务端。用户可以在手机上用 Telegram 和自己的 Agent 对话,而 Agent 实际运行在云端 VPS。

ACP 入口:通过 stdio/JSON-RPC 协议与 VS Code、Zed、JetBrains 等编辑器集成。相当于把这些 IDE 变成 Hermes 的「前端界面」。

所有入口最终都汇聚到 AIAgentrun_agent.py,约 9,200 行代码),这是整个系统的核心:

User input → HermesCLI.process_input() → AIAgent.run_conversation() → prompt_builder.build_system_prompt() → runtime_provider.resolve_runtime_provider() → API call (chat_completions / codex_responses / anthropic_messages) → tool_calls? → model_tools.handle_function_call() → loop → final response → display → save to SessionDB 

三 API 模式:Hermes 支持三种 LLM API 调用方式:

  • chat_completions:OpenAI 风格接口
  • codex_responses:Anthropic 的 Codex 响应格式
  • anthropic_messages:原生 Anthropic Messages API

这种设计让它可以对接 18+ 种模型提供商(Nous Portal、OpenRouter、Kimi/Moonshot、GLM、MiniMax、OpenAI 等),而且切换模型只需要一条命令:

hermes model nous:deepseek-ctx 
子系统文件核心职责 Prompt Builder agent/prompt_builder.py组装系统提示词(SOUL.md + MEMORY.md + USER.md + skills + context files) Context Compressor agent/context_compressor.py对话超长时自动摘要,释放上下文 Prompt Caching agent/prompt_caching.pyAnthropic cache breakpoint 前缀缓存 Model Metadata agent/model_metadata.py模型上下文长度、token 估算 Runtime Provider hermes_cli/runtime_provider.pyAPI provider → (api_mode, api_key, base_url) 映射 Memory Manager agent/memory_manager.py记忆管理层,调度各 memory provider MCP Tool tools/mcp_tool.py ( 2,200行)MCP 客户端,动态加载 MCP 服务器工具 Session Storagehermes_state.pySQLite + FTS5 全文本搜索

这是 Hermes 最核心的创新。大多数 AI Agent(包括很多商业产品)的「记忆」只是把对话历史塞进上下文窗口——这是假记忆。真正的记忆需要满足三个条件:持久化(重启不丢失)、有结构(不是日志流水账)、可检索(能主动找回)。

Hermes 的记忆系统用两个 Markdown 文件实现,刻意保持简单但有效:

/.hermes/memories/ ├── MEMORY.md # Agent 的个人笔记(环境事实、约定俗成、经验教训) └── USER.md # 用户画像(偏好、沟通风格、技能水平) 

MEMORY.md(2,200 字符上限,约 800 tokens):

══════════════════════════════════════════════ MEMORY (your personal notes) [67% — 1,4742,200 chars] ══════════════════════════════════════════════ User’s project is a Rust web service at ~/code/myapi using Axum + SQLx § This machine runs Ubuntu 22.04, has Docker and Podman installed § User prefers concise responses, dislikes verbose explanations 

USER.md(1,375 字符上限,约 500 tokens):

═════════════════════════════════════════════════ USER PROFILE [45% — 6201,375 chars] ═════════════════════════════════════════════════ Senior backend engineer, Go + Rust, prefers technical depth § Uses Vim keybindings, dark terminal theme § Timezone: Asia/Shanghai 

注意那个 § 分隔符——每个条目都是原子化的经验碎片,而非流水账。这种设计借鉴了物理里的「相干态」概念:记忆不是日志,记忆是可组合、可检索、可推理的最小知识单元

这可能是最反直觉的设计决策:为什么要给记忆加严格上限?

答案在于系统提示词的 prefix caching。如果记忆无限增长,prefix cache 命中率下降,每次 API 调用的成本都会上升。而且,无限记忆最终会变成「垃圾堆」——Agent 淹没在过时的上下文里,找不到真正有用的信息。

Hermes 的做法是:当记忆超过 80% 容量时,Agent 被要求主动压缩或合并条目,而不是继续追加。这迫使 Agent 定期整理自己的「知识库」,像人类整理笔记一样。

# memory_provider.py 容量检查逻辑 if current_usage > 0.8 * capacity_limit:

return Error( f"Memory at {current_usage}/{capacity_limit} chars. " "Consolidate entries before adding new ones." ) 

OpenClaw 的记忆系统用的是结构化 JSON(L1)和对话历史(L0),支持语义搜索(tdai_memory_search)。Hermes 则选择了更简单但更显性的 Markdown 方案。

Hermes 的记忆哲学:记忆是对话启动时一次性加载到 prefix 的静态快照。Agent 在对话过程中对记忆的修改会立即持久化到磁盘,但这个更新不会实时反映在当前会话的 system prompt 里——直到下一会话。

为什么这样设计? 核心原因是为了最大程度利用 LLM API 的 prefix cache。如果每次修改记忆都重新构建 system prompt,prefix cache 就失效了,成本和延迟都会增加。Hermes 选择了「写时持久化、读时一次性加载」的模式。

Hermes 有两个容易混淆的概念:

Tools(工具):Agent 可以执行的具体操作,如 read_filebashweb_search。目前有 48 个注册工具,分属 40 个 toolsets

Skills(技能):按需加载的知识文档,遵循 progressive disclosure(渐进式披露)原则。就像人类翻阅手册——不是把整本手册塞进脑子里,而是需要时翻到对应章节。

Skills 加载三级模式: Level 0: skills_list() → {name, description, category}, … Level 1: skill_view(name) → Full content + metadata Level 2: skill_view(name, path) → Specific reference file 

这个设计非常像现代编程语言的 LSP(Language Server Protocol)——不是把整个代码库的 AST 塞给 IDE,而是按需提供诊断和补全。Skills 的 progressive disclosure 让 Agent 在发现阶段只用 3k tokens,使用阶段才加载完整内容,极大节省了上下文。

这是 Hermes 最有野心的地方。传统的 Agent 工具生态是预设的——开发者预先定义好 Agent 能做什么。但 Hermes 支持 Agent 在完成任务过程中自动创建新技能

# 你告诉 Hermes:以后部署 k8s 项目就用这个流程 /hermes "Remember the k8s deployment workflow for our microservices"

→ Agent 自动在 ~/.hermes/skills/devops/ 下创建 deploy-k8s/

→ 以后直接 /deploy-k8s 即可调用

创建后的 skill 结构:

~/.hermes/skills/ ├── devops/ │ └── deploy-k8s/ │ ├── SKILL.md # 主指令文件 │ ├── references/ # 参考文档 │ ├── templates/ # 输出模板 │ └── scripts/ # 辅助脚本 

Hermes 的技能系统与 agentskills.io 开放标准完全兼容。这意味着:

  1. 跨 Agent 迁移:你在 Hermes 上创建的 skill,理论上可以被任何兼容 agentskills.io 的 Agent 使用
  2. Hub 分发:通过 Skills Hub 安装社区贡献的技能,类似于 npm 但面向 AI 工作流
  3. OpenClaw 迁移:Hermes 提供了 hermes claw migrate 命令,可以一键导入 OpenClaw 的 SOUL.md、MEMORIES、Skills、API keys 等配置
# 从 OpenClaw 迁移到 Hermes hermes claw migrate # 交互式迁移 hermes claw migrate –dry-run # 预览迁移内容 hermes claw migrate –preset user-data # 不迁移 secrets 

所有工具在 tools/registry.py 中自注册(self-register)。每个工具文件在被 import 时自动注册到中心注册表:

# tools/registry.py 伪代码 class ToolRegistry:

def register(self, tool_schema): self._tools[tool_schema.name] = tool_schema def dispatch(self, tool_name, params): handler = self._dispatch_map[tool_name] return handler(params) 

这种「自注册」模式的好处是:添加新工具只需要新建一个 .py 文件,不需要修改任何中央注册表代码。

Terminal 工具支持六种运行环境:

后端用途冷启动成本 local直接在宿主机执行即时$0 Docker容器隔离环境几秒运行时计费 SSH远程服务器网络延迟云服务器费用 Daytona云开发环境~10s按用量 ModalServerless 计算~5s按调用 SingularityHPC 环境较慢高

这意味着你可以在本地开发、部署到 Docker、生产跑在 Modal 上——同一个工具定义,六种运行环境自由切换。

Hermes 的 MCP 工具(约 2,200 行代码)是一个完整的 MCP 客户端,可以连接任何 MCP 服务器:

# 配置 MCP 服务器 hermes tools configure-mcp –server-name "filesystem"

--command "npx" --args "ts-node src/index.ts" 

这让 Hermes 的能力边界等于所有可用 MCP 服务器的并集——理论上可以连接文件系统、GitHub、数据库、API 等一切有 MCP 实现的工具。

Gateway 是 Hermes 最「重」的部分(gateway/run.py 约 7,500 行代码),但设计异常清晰:

Platform event (Telegram/Discord/…) → Adapter.on_message() → MessageEvent → GatewayRunner._handle_message() → Authorize user (allowlists + DM pairing) → Resolve session key (per-platform isolation) → Create AIAgent with session history → AIAgent.run_conversation() → Deliver response back through adapter 

每个平台是一个 adapter,共享相同的消息处理逻辑。目前支持的 14 个平台

Telegram、Discord、Slack、WhatsApp、Signal、Email、Matrix、Mattermost、SMS、DingTalk(钉钉)、Feishu(飞书)、WeCom(企业微信)、Home Assistant、Webhook。

最有用的功能之一:同一个会话在不同平台看到相同的消息

你在 Telegram 上问 Hermes 一个问题,它在 Discord 上的对话记录里也会出现这条消息。Agent 的工作上下文可以在多个平台间共享,但每个平台的交互风格可以不同——Telegram 用户可能喜欢简短指令,Slack 可能需要 @mention。

所有平台共享同一个命令注册表(COMMAND_REGISTRY):

命令功能可用平台 /new新会话所有 /model切换模型所有 /skills浏览技能所有 /compress压缩上下文所有 /platforms平台状态消息平台 /plan生成实现计划所有

作为同时使用两个系统的用户,这里是我从工程师视角的真实对比:

维度OpenClawHermes Agent 核心定位个人 AI 助手 + 会话中枢自进化 Agent + 多平台入口 记忆系统结构化 JSON + 语义搜索Markdown 文件 + 容量上限 技能生态Skills (SKILL.md) + PluginsSkills (agentskills.io) + Plugins 平台接入Channel PluginsGateway Adapters 学习方式人工维护记忆Agent 自主创建/管理技能 定时任务Cron (isolated agentTurn)内置 Cron + 平台投递 IDE 集成ACP (VS Code/Zed)ACP (VS Code/Zed/JetBrains) 专注领域会话管理与信息流Agent 自主进化与跨平台

Hermes 更适合

  • 需要 Telegram/Discord 随时唤醒 Agent 的场景
  • 追求 Agent「越用越聪明」的进化需求
  • 需要在 $5 VPS 上跑一个 247 在线 Agent
  • 需要批量轨迹生成(batch runner)做 RL 训练数据

OpenClaw 更适合

  • 需要精准控制定时任务和会话管理
  • 强调语义搜索和结构化记忆的场景
  • 与腾讯生态(腾讯文档、腾讯会议、企业微信)深度集成
  • 通过 Channel Plugins 接入特殊平台的需求

最让我惊讶的是 Hermes 的 OpenClaw 迁移工具。我测试了一下,它能完整导入:

  • SOUL.md → 保持不变
  • MEMORIES → 转换成 Hermes 的 MEMORY.md/USER.md 格式
  • Skills → 复制到 ~/.hermes/skills/openclaw-imports/
  • API Keys → 通过 –preset user-data 可选择是否迁移

这个迁移体验说明:Hermes 团队认真研究过 OpenClaw 的用户群体,并且用了一种不破坏原系统的方式来实现共存。用户可以先迁移,体验一段时间后再决定是否完全切换。

# Linux/macOS/WSL2 curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash

安装后重载 shell

source ~/.bashrc # 或 source ~/.zshrc

启动

hermes

安装脚本会自动处理 Python、Node.js 和所有依赖。Windows 用户需要先安装 WSL2。

# 完整配置向导(推荐) hermes setup

或分步配置

hermes model # 选择模型提供商 hermes tools # 配置启用的工具 hermes gateway setup # 配置消息平台网关

hermes # 启动 CLI 对话 hermes model # 切换模型 hermes tools # 管理工具集 hermes /skills # 浏览可用技能 hermes gateway start # 启动消息网关 hermes cron list # 查看定时任务 hermes update # 更新到最新版 hermes doctor # 诊断问题 
# 在隔离 Docker 容器中运行 Agent hermes run –backend docker –image nousresearch/hermes:latest

Agent 状态在空闲时自动休眠,节省资源

组件内存占用CPU存储 CLI 会话~100-200MB按需SQLite ~10MB Gateway (idle)~50MB极低SQLite Gateway (active)~200-500MB按需取决于对话长度 Docker 后端+200MB隔离按镜像

Hermes 的设计非常适合「云端 Agent」模式:

  1. Daytona / Modal:空闲时 Agent 环境自动休眠(hibernation),被唤醒时才计费
  2. SSH 后端:Agent 跑在云服务器上,本地终端只是显示界面
  3. 消息网关:Telegram/Discord 控制云端 Agent,真正的计算在服务端

这意味着:Agent 的工作环境和你的本地机器完全解耦。你可以在任何设备上通过任何平台和同一个 Agent 交互,它的状态在云端持久化。

  1. 自进化学习循环:Agent 能从经验中创建新技能,能力边界随使用时长扩展
  2. Progressive Disclosure Skills:解决了 AI Agent「全知但低效」的悖论——知识按需加载
  3. 容量约束记忆:用严格的字符上限迫使 Agent 主动整理知识库,防止记忆腐化
  4. 真正的跨平台:14 个消息平台统一抽象,同一 Agent 在任何地方都是同一个 Agent
  5. $5 VPS 可运行:通过 Daytona/Modal 的 serverless 架构,零成本维持 247 在线 Agent

当大多数 AI Agent 还在比拼「接入了多少工具」时,Hermes Agent 已经进入了下一个竞争维度:谁能让 Agent 真正学会、真正记住、真正进化

Nous Research 选择了一条最难走的路——不是追求更漂亮的 UI,不是追求更多的平台适配,而是解决 AI Agent 最根本的问题:每次会话从零开始。这个问题困扰了行业两年,而 Hermes 用一个简单的双文件记忆系统 + Agent 自创建技能,给出了一个开源社区级别的解法。

如果你正在运营个人技术博客、或者需要一个 247 在线的研究助手,Hermes Agent 值得关注。如果你在考虑从 OpenClaw 迁移,hermes claw migrate –dry-run 值得先跑一遍看看会迁移什么。

开源 AI Agent 赛道的终局,或许不会是「谁工具最多」,而是「谁最懂用户、谁学得最快」。在这场竞争中,Hermes Agent 已经抢占了有利地形。


相关资源

  • GitHub: https://github.com/NousResearch/hermes-agent
  • 文档: https://hermes-agent.nousresearch.com/docs/
  • Nous Research: https://nousresearch.com
  • Open Standard (agentskills.io): https://agentskills.io

小讯
上一篇 2026-04-09 21:13
下一篇 2026-04-09 21:11

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/253079.html