AI 编程教程中文版
从原理到实战

01 · Hermes Agent 是什么

理解 Hermes Agent 的定位:CLI/TUI、provider、工具、记忆、skills、Gateway、terminal backends 和自动化组成的开源 agent runtime。

Hermes Agent 不只是一个聊天 CLI,也不只是另一个 coding agent(编程代理)。它更像 Nous Research 做的开源 agent runtime(代理运行时)——把模型、工具、记忆、skills(技能)、消息网关、终端后端、后台任务和自动化放到同一套运行系统里。

官方资料:Hermes Agent DocsGitHub READMEllms.txt

先给结论:如果只想一次性改代码,Claude Code、Codex 或 Cursor 可能更直接;如果想要跨 session、跨平台、带记忆和技能沉淀的长期个人 agent,Hermes 的设计才开始有意义。

先分清四类工具

聊天 CLI

解决本轮问答,通常不强调长期运行、消息平台和自动化。

Coding Agent

重点是读代码、改代码、跑测试、发 PR。

消息 Bot

重点是从 Telegram、Discord、Slack、Email 等平台接任务。

Agent Runtime

把模型、工具、记忆、skills、消息入口、权限和后台任务组织到一起。

Hermes 更接近第四类。它可以写代码,但目标不止写代码;它可以接聊天平台,但也不是普通 bot。

最小心智模型

可以把 Hermes 拆成七层:

flowchart TB
    Entry["① 入口层<br/>CLI / TUI / Gateway / API Server"]:::io
    Model["② 模型层<br/>provider / model / context / fallback"]:::io
    Context["③ 上下文层<br/>SOUL.md / context files / sessions"]:::cap
    Tools["④ 工具层<br/>web / file / terminal / browser / MCP / delegation"]:::cap
    Runtime["⑤ 执行层<br/>local / docker / ssh / singularity / modal / daytona / vercel_sandbox"]:::cap
    Memory["⑥ 记忆层<br/>MEMORY.md / USER.md / session_search / providers"]:::pers
    Skills["⑦ 能力沉淀<br/>skills / slash commands / agent-managed skills"]:::pers
    Governance["⑧ 治理层<br/>allowlist / approvals / logs / config / backend 隔离"]:::gov
    Entry --> Model --> Context --> Tools --> Runtime --> Memory --> Skills --> Governance
    classDef io fill:#e6f0ff,stroke:#3568d4,color:#222
    classDef cap fill:#fde7c2,stroke:#d4761a,color:#222
    classDef pers fill:#e8f5e9,stroke:#43a047,color:#222
    classDef gov fill:#fde2e2,stroke:#c43d3d,color:#222

四色分组(蓝 = 信任域 / 橙 = 能力域 / 绿 = 持久化域 / 红 = 治理边界)。下面是逐层文字版:

七层各自负责什么:

解决的问题典型出错点
入口层任务从哪来——CLI 终端命令 / TUI(Terminal UI 文本界面)/ Gateway 聊天平台 / API Server 程序调用多入口不收敛,导致权限边界混乱
模型层用哪个 LLM、上下文多大、失败时回退到谁没设 fallback(备用模型)线上一停服全瘫
上下文层每次会话给模型看什么——~/SOUL.md(全局人格 / 默认语气) + AGENTS.md/CLAUDE.md/.hermes.md(项目级规则) + sessions(会话状态)上下文文件越塞越大,token 用量暴涨;SOUL 与项目规则边界不清会冲突
工具层模型能调哪些动作——读写文件、跑终端、控浏览器、调用 MCP、把任务委派(delegation)给子代理工具默认全开 = 风险面失控
执行层命令在哪里跑——本机 / Docker / SSH 远端 / 云端 sandbox(隔离沙箱)没隔离时模型可能改到生产环境
记忆层跨会话记住什么——MEMORY.md 长期事实 / USER.md 用户偏好 / session_search 历史回看记忆膨胀或敏感信息泄露
能力沉淀重复流程怎么固化——把成功流程写成 skill(技能包),由 agent 自己调用或手动 /skill 描述模糊,agent 误触发
治理层allowlist(白名单)、approvals(审批)、日志、配置、backend(后端)隔离——把上面六层的风险压住治理空缺时,能力越多事故越大

使用 Hermes 时,不要只问"它会不会写代码"。更重要的问题是:

  • 它会记住什么?
  • 它能调用哪些工具?
  • 它从哪里接收任务?
  • 它在哪里执行命令?
  • 它能不能后台运行?
  • 它失败后有什么日志和停止方式?

和普通 coding agent 的差异

Claude Code、Codex、Cursor、Windsurf 更强调“围绕项目完成开发任务”。Hermes 的关注面更宽:

  • 可以作为本地 CLI / TUI assistant(终端助手)。
  • 可以接 Telegram、Discord、Slack、WhatsApp、Signal、Email、Matrix、Mattermost、DingTalk(钉钉)、Feishu(飞书)、WeCom(企业微信)、Microsoft Teams 等 15+ 平台。
  • 可以用 MEMORY.mdUSER.mdsession_search(会话检索工具)做跨 session 记忆。
  • 可以把流程沉淀成 agentskills.io 兼容的 skills(可复用技能包)。
  • 可以通过 cron(定时任务)、background session(后台会话)、delegation(子代理委派)和 hooks(生命周期钩子)做自动化。
  • 可以把 terminal 命令放到 local(本机)、Docker(容器)、SSH(远程主机)或云 sandbox(云端隔离沙箱)。

这也意味着 Hermes 的风险面更大。能力越多,越需要明确 provider(推理服务商)、toolsets(工具集)、backend(执行后端)、allowlist(允许名单)和 secret(密钥)边界。

自我改进到底是什么

官方 Hero 把 Hermes 描述为「The only agent with a built-in learning loop」——带内建学习循环的自我改进代理。落到工程机制上,主要不是"模型权重自己变强"(那是 RL training 的事),而是这几类持久化能力叠加:

  • Memory(长期记忆):保存长期偏好、环境事实、项目约定,跨 session 复用。
  • Session search(会话检索):通过 FTS5 全文索引 + LLM 摘要,回看过去讨论过的内容。
  • Skills(技能):把成功流程沉淀成 markdown 知识包,下次任务相似时自动套用——agent 还会自己创建新 skill(agent-created skills)。
  • Curator(技能策展):后台维护代理自建 skill 的使用率、新鲜度、归档与 LLM 驱动的复审。
  • Gateway(消息网关):跨平台(Telegram / Slack / DingTalk 等)持续接收任务。
  • Cron / background(定时与后台):周期或异步执行任务。
  • Terminal backend(终端后端):把命令执行环境从本机扩展到 Docker、远端 SSH 或云端 sandbox。
  • Honcho dialectic user modeling(Honcho 辩证式用户建模):可选的 AI 原生用户建模插件,跨多 agent 形成对话式用户画像。

这些机制叠起来,Hermes 才不只是「每次从零开始聊天」——它在跨次使用中主动积累事实、流程、个人模型。官方原话叫 "gets more capable the longer it runs"(运行时间越长,能力越强)。

什么时候适合用

适合:

  • 你希望 agent 跨 session 记住偏好和环境。
  • 你希望从手机、聊天平台、邮件或 webhook 触发任务。
  • 你有重复流程,想沉淀成 skill。
  • 你需要定时检查、后台研究、自动报告或消息投递。
  • 你愿意认真治理密钥、工具权限、消息入口和日志。

不适合:

  • 只是偶尔问答。
  • 只想一次性改一个小文件。
  • 不准备管理 API key(API 密钥)、bot token(机器人凭据)、allowlist(允许名单)、backend(执行后端)和 toolsets(工具集)。
  • 不清楚自动化失败后谁负责处理。
  • 团队没有能力审查外部 skills、MCP 和脚本。

学习顺序

第一次学习 Hermes,顺序应该是:

定位 → 安装 → provider(模型供应商)→ first chat(首次对话)
     → session resume(恢复会话)→ config(配置)→ tools(工具)
     → memory(记忆)→ skills(技能)→ gateway(消息网关)→ automation(自动化)

不要从 Gateway、cron(定时任务)或 RL training(强化学习训练)开始——那会把最容易出错的权限、会话和自动化问题堆在一起。先把基础链路跑通,再往上加。

官方资料

下一步

本页目录