无意间发现了一个巨牛巨牛巨牛的人工智能教程,非常通俗易懂,对AI感兴趣的朋友强烈推荐去看看,传送门https://blog.csdn.net/HHX_01

前言

想象一下,你请了个私人助理。第一天,你得告诉他咖啡要加几分糖、邮件该怎么分类、代码 Review 要注意哪些坑。第二天,他全忘了,你又得从头说一遍。第三天,他依旧是一张白纸……这哪是请助理,分明是来了位"金鱼系"实习生,记忆只有七秒。

这就是当下绝大多数 AI Agent 的尴尬现状——有会话,无记忆;能执行,不进化。每次新开窗口,都像是在跟陌生人打交道。

直到 2026 年 2 月,Nous Research 扔出了一枚重磅炸弹:Hermes Agent。这个开源框架不玩"用完即走"的路子,而是搞了个"会自我成长"的 persistent agent(持久化智能体)。用官方的话说,它是"the agent that grows with you"——一个越用越懂你、越用越聪明的 AI 同事。

截至 2026 年 4 月,Hermes Agent 在 GitHub 上已经狂揽约 22,000 颗 Star,版本迭代到 v0.8.0,commits 数超过 3,496 次。更重要的是,它不是什么黑盒产品,而是彻彻底底的开源(MIT 协议),你可以把它部署在 5 美元/月的 VPS 上,也可以跑在企业级 GPU 集群里,甚至能塞进 Home Assistant 帮你管智能家居。

那么,这个号称"会自我进化"的 Agent,到底是怎么做到越用越聪明的?它的内部机制到底藏着什么黑科技?今天咱们就来扒一扒 Hermes Agent 的底裤,看看它的架构设计到底有啥门道。

一、从"金鱼脑"到"长期记忆体":Persistent Agent 的进化论

传统的 AI Agent 就像个状态机——每次会话都是全新的初始状态。你让它帮你写个 Python 脚本处理 CSV,它写得挺好;两天后你让它"把上周那个 CSV 脚本改改,加个过滤功能",它一脸懵逼:“啥脚本?咱俩认识吗?”

Hermes Agent 要解决的,就是这个状态丢失的问题。它的核心设计哲学是:Agent 应该是一个长期运行的进程,而不是一次性的函数调用。

这就好比从"临时工"变成了"正式员工"。临时工干完活拿钱走人,下次来还是生手;正式员工会在公司里积累经验,知道老板喜欢什么样的 PPT 模板、哪个客户的邮件要优先回、上次踩过的坑这次要避开。

为了实现这种"正式员工"的体验,Hermes Agent 在架构层面做了三大革新:

1.1 三层记忆架构:从"记得住"到"想得起来"

Hermes Agent 的记忆系统不是简单的"把聊天记录存下来",而是搞了个三层记忆模型:

第一层:Episodic Memory(情景记忆)
这是基础层,所有的对话历史都会以结构化形式存入 SQLite 数据库,并且启用了 FTS5 全文搜索。也就是说,你可以直接问它:"上个月我让你查的那个关于 Transformer 的论文,结论是什么?"它能在毫秒级时间内从几万条历史记录里精准定位。

第二层:Semantic Memory(语义记忆)
光有原始聊天记录还不够,信息密度太低。Hermes 会定期(或者触发阈值时)调用 LLM 对历史对话进行摘要和向量化,存入 ChromaDB 这类向量数据库。这就好比给所有记忆打上了标签,实现了"语义级检索"——你问"我之前遇到过的那个内存泄漏问题",它能关联到某次调试 Python 时的对话,即使你当时根本没提"内存泄漏"这个词。

第三层:Procedural Memory(程序性记忆)
这是最牛的一层。当你完成一个复杂任务(比如"帮我把这个 React 项目部署到 AWS,配置好 CI/CD"),Hermes 不会只把聊天记录存起来就完事,它会自动生成一份 Skill 文档。这份文档不是简单的操作步骤,而是包含了任务目标、使用的工具链、遇到的问题、解决方案、验证方法等结构化信息。下次遇到类似任务,它直接加载这份 Skill,而不是从零开始摸索。

这三层记忆协同工作,就像是给 Agent 装上了海马体+大脑皮层+肌肉记忆的完整神经系统。

1.2 自我改进闭环:从"执行者"到"学习者"

如果说记忆系统让 Hermes “记得住”,那么它的自我改进闭环(Self-Improving Loop)则让它"学得会"。

传统的 Agent 执行流程是线性的:接收任务 → 规划步骤 → 执行工具 → 返回结果。任务结束,一切归零。

Hermes Agent 在这个流程后面加了一个反思阶段(Reflection Phase)。任务完成后,它会问自己几个问题:

  • 这次任务成功了吗?如果没成功,卡在哪一步?
  • 有没有更优的路径?比如本该用 grep 的时候用了 cat | grep,虽然结果对了但效率低。
  • 这个任务的解决模式能不能抽象出来,应用到类似场景?

基于这种反思,它会做三件事:

  1. 创建新 Skill:如果是全新类型的任务,写一份新的 SKILL.md 文档。
  2. 改进旧 Skill:如果这次找到了更好的方法,更新已有的 Skill 文档,保留版本历史。
  3. 用户建模:通过 Honcho 框架对用户进行建模,记录你的工作习惯、技术栈偏好、常用决策模式。

这就好比一个程序员刚入职时啥也不懂,第一次部署项目踩了一堆坑,他写了个部署手册(Skill)。第二次部署,他直接看手册,效率提升。第三次,他发现手册里有个步骤可以优化,于是更新了手册。半年后,他已经成了部署专家,而这个过程中积累的手册和用户画像,就是他的核心竞争力。

二、Agent Loop 的精密齿轮:一次请求的全生命周期

知道了宏观设计,咱们来显微镜级地看看 Hermes Agent 是如何处理一次用户请求的。根据官方 GitHub 仓库的架构文档,核心循环长这样:

User message → AIAgent._run_agent_loop()
├── Build system prompt (prompt_builder.py)
├── Build API kwargs (model, messages, tools, reasoning config)
├── Call LLM (OpenAI-compatible API)
├── If tool_calls in response:
│     ├── Execute each tool via registry dispatch
│     ├── Add tool results to conversation
│     └── Loop back to LLM call
├── If text response:
│     ├── Persist session to DB
│     └── Return final_response
└── Context compression if approaching token limit

这个流程看着简单,但魔鬼藏在细节里。

2.1 系统提示词的动态组装

当你说"帮我查一下最近关于 LLM 推理优化的论文"时,Hermes 不会直接把这句话扔给模型。它会先通过 prompt_builder.py 组装一个超级系统提示词,里面包含:

  • 基础人设:你是 Hermes,一个有帮助的 AI 助手……
  • 可用工具清单:当前可用的 40+ 工具,包括 web_search、github、file_system、code_interpreter 等。
  • 相关 Skill:从历史记录中检索出的、与"论文检索"相关的 SKILL.md 内容。
  • 用户画像:根据 Honcho 建模得出的你的技术背景(比如你是 Python 开发者,还是前端工程师)。
  • 近期记忆:最近几次对话的摘要。

这就好比一个资深秘书在汇报工作前,会先把老板的喜好、之前的相关决策、当前的项目背景都梳理一遍,而不是愣头愣脑地冲进办公室。

2.2 工具调用的"注册表模式"

Hermes Agent 内置了 40 多个工具,涵盖 MLOps、GitHub 操作、Web 浏览、终端命令、视觉理解、TTS 等。这些工具不是硬编码在核心逻辑里的,而是采用了自注册模式(Self-registering tools)。

每个工具文件在导入时会主动调用 registry.register() 把自己登记到注册表。model_tools.py 负责触发所有工具模块的发现。这种设计的好处是极致的模块化——你想加个新工具?写个 Python 文件,实现 register() 方法,扔到 tools 目录,重启即可。不需要改核心代码。

而且工具支持工具集分组(Toolset Grouping),你可以按平台启用/禁用。比如在 Telegram 上跑的时候,禁用掉 terminal 工具集,防止有人通过聊天窗口把你服务器删了;在本地 CLI 模式下,则可以全开。

2.3 上下文压缩:Token 危机的自救

当对话太长,接近模型的上下文限制时,Hermes 会触发上下文压缩机制。它不是简单地截断老消息,而是会调用 LLM 对历史对话进行摘要,把几十条消息压缩成几条关键信息,既保留了上下文,又腾出了 Token 空间。

这就像你整理会议纪要,不是把两小时的录音逐字稿全存下来,而是提炼出"决议事项"和"待办任务"。

三、多 Agent 架构:从"单打独斗"到"团队协作"

如果说单 Agent 是个全能战士,那 Hermes Agent 还支持更高级的玩法——多 Agent 协作。根据社区 Wiki 的技术文档,Hermes 实现了四种运行时机制,全部在 Agent 对话过程中触发:

3.1 Delegate Task:并行子任务

当 LLM 判断某个任务可以拆分时,会调用 delegate_tool,把任务派发给最多 3 个子 Agent 并行处理。比如你说:“帮我分析一下这三个代码仓库的依赖漏洞”,Hermes 会同时 spawn 三个子进程,每个负责一个仓库,最后汇总结果。

这就像是项目经理把大需求拆成几个并行开发的子需求,分配给不同的小组成员,最后做集成测试,而不是一个人串行地看完三个仓库。

3.2 Mixture of Agents:多模型协同

Hermes 支持模型路由(Provider Routing),你可以配置 OpenRouter,让它根据任务类型自动选择模型。更高级的是,它还能玩MoA(Mixture of Agents)——多个不同架构的模型(比如一个 GPT-4o、一个 Claude Sonnet、一个本地 Llama)同时处理同一个问题,然后通过投票或加权机制得出最终答案。

这就好比公司做重大决策时,不会只听一个专家的意见,而是召集技术、产品、运营、法务多方会诊,综合各方观点再拍板。

3.3 Background Review:后台经验提炼

这是那个自我改进闭环在多 Agent 场景下的体现。当系统计数器检测到某个 Skill 被调用了多次,或者任务失败率较高时,会自动触发 Background Review。一个专门的"复盘 Agent"会在后台分析这些轨迹(trajectory),提炼出改进建议,更新 Skill 文档。

这就像是团队的 retrospective(复盘会议),不需要人工组织,系统自己就会总结经验教训,优化 SOP(标准操作流程)。

四、Skill 系统:Agent 的"肌肉记忆"

前面多次提到的 Skill,是 Hermes Agent 最核心的创新点。它不是简单的"宏命令"或者"提示词模板",而是一种结构化的程序性知识。

4.1 Skill 的生命周期

一个 Skill 从诞生到成熟,会经历三个阶段:

阶段一:创建(Creation)
当 Hermes 完成一个复杂任务(比如"用 Docker 部署一个 PostgreSQL 集群,配置主从复制和自动备份")后,它会生成一份 SKILL.md 文件。这份文件包含:

  • Metadata:Skill 名称、版本、创建时间、适用场景标签
  • Problem:要解决什么问题
  • Solution:详细的解决步骤,包括使用的工具、参数、代码片段
  • Pitfalls:踩过的坑和注意事项
  • Validation:如何验证结果是否正确

阶段二:应用(Application)
下次遇到类似任务,Hermes 会在 Planning Phase 检索相关 Skill,把它注入到系统提示词中。这就相当于告诉模型:“别从头想了,上次这么做成功了,先试试这个方案。”

阶段三:进化(Evolution)
如果这次执行发现之前的方案有更优解(比如发现了新的 Docker 镜像,或者更简洁的 docker-compose 配置),Hermes 会更新 SKILL.md,保留版本历史。这就是Skill 的自我改进。

4.2 开放生态:agentskills.io

更妙的是,Skill 遵循 agentskills.io 开放标准。这意味着:

  • 你可以把自己训练的 Skill 分享出去
  • 你可以从社区下载别人写的 Skill,一键安装
  • Skill 在不同支持该标准的 Agent 之间可以迁移

这就好比 Docker Hub,只不过交换的不是容器镜像,而是结构化的问题解决能力。

五、安全与部署:从"玩具"到"生产级"

光会干活不行,还得安全靠谱。Hermes Agent 在架构层面做了不少安全设计:

5.1 执行环境隔离

Hermes 支持 6 种终端后端:

  • Local:直接跑在本机(适合个人开发)
  • Docker:隔离容器,带安全强化(read-only root、权限降级、PID 限制)
  • SSH:远程服务器执行
  • Daytona / Modal:Serverless 后端,空闲时休眠,按需唤醒,成本几乎为零

特别是 Tirith 预执行扫描,在工具执行前会检查命令是否包含危险操作(比如 rm -rf /),防止 AI 一时抽风把你数据删了。

5.2 数据隐私

所有记忆数据都存储在本地 ~/.hermes/ 目录,SQLite 数据库 + 本地文件,零遥测、零数据上传。这对于有合规要求的企业来说至关重要——你的对话记录、代码片段、业务数据,不会流向任何第三方。

5.3 多平台网关

通过 hermes gateway 命令,你可以让同一个 Agent 实例同时接入 Telegram、Discord、Slack、WhatsApp、Signal。你在地铁上用手机 Telegram 发了个任务,到公司在 Slack 里查看进度,回家用语音助手(Home Assistant 集成)询问结果——全平台会话连续,就像跟同一个同事在不同场合对话。

六、总结:Agent 操作系统的雏形

看完 Hermes Agent 的内部机制,你会发现它已经不只是一个"聊天机器人"或者"代码助手",而是一个Agent 操作系统的雏形。

它有:

  • 进程管理:长期运行的 Gateway,支持多实例 Profile
  • 文件系统:SQLite 持久化存储 + Skill 文件管理
  • 内存管理:三层记忆架构 + 上下文压缩
  • 任务调度:Agent Loop + 子任务委派 + Cron 定时任务
  • 学习机制:RL 训练轨迹生成(Atropos 集成)+ Skill 自我改进
  • I/O 系统:多平台消息网关 + 40+ 工具接口

对比 OpenClaw(更注重工具生态广度)和 Claude Code(更注重编码场景深度),Hermes Agent 的独特定位是"长期陪伴"和"自我进化"。它牺牲了一部分开箱即用的便利性(文档还在完善,社区还不够大),换来了真正的个人化——越用越懂你,越用越顺手。

如果你厌倦了每次都要重新教 AI 助手"我是谁、我喜欢什么、我上周在忙什么",如果你希望有一个能跟你一起成长、一起进化的数字同事,那么 Hermes Agent 值得一试。毕竟,谁不想要一个记得住你所有习惯、还能自己写操作手册的 AI 搭档呢?

安装也很简单,一条命令搞定:

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

2026 年的 AI Agent 战场,正在从"拼模型能力"转向"拼架构设计"。Hermes Agent 用它的持久化记忆和自我改进机制,给我们展示了另一种可能:Agent 不应该是一次性的工具,而应该是可积累的资产。这或许才是 AI 个人助理的终极形态。

无意间发现了一个巨牛巨牛巨牛的人工智能教程,非常通俗易懂,对AI感兴趣的朋友强烈推荐去看看,传送门https://blog.csdn.net/HHX_01

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐