当前位置: 首页 > news >正文

【Hermes Agent 技术解析】:Nous Research 自进化多平台 AI 智能体架构深度剖析

文章目录

  • Hermes Agent 技术解析:Nous Research 自进化多平台 AI 智能体架构深度剖析
    • 一、引言
    • 二、整体架构:四层解耦设计
    • 三、Agent 主循环:感知 → 规划 → 行动 → 进化
    • 四、工具系统:70+ 工具的自注册体系
      • 4.1 工具分类全景
      • 4.2 并行安全的批量执行
    • 五、技能系统:程序性记忆的工程实现
      • 5.1 技能文件结构
      • 5.2 渐进式加载(Progressive Disclosure)
      • 5.3 内置技能体系
    • 六、内存与持久化:跨会话学习的基础设施
      • 6.1 SQLite 会话数据库
      • 6.2 内存插件体系
    • 七、多平台网关:真正的"无处不在"
    • 八、执行环境:六种沙箱后端
    • 九、横向竞品对比
    • 十、总结

Hermes Agent 技术解析:Nous Research 自进化多平台 AI 智能体架构深度剖析

一、引言

亲爱的朋友们,创作不容易,若对您有帮助的话,请点赞收藏加关注哦,您的关注是我持续创作的动力,谢谢大家!有问题请私信或联系邮箱:funian.gm@gmail.com

2026 年,AI Agent 的战场已不再只是"能不能用",而是"能在哪里用、用完会不会变聪明"。大多数 Agent 框架解决的是"单次任务"问题——给它一个指令,它跑完,结束。而Hermes Agent,Nous Research 推出的开源 AI 智能体平台,走的是另一条路:跨会话自我进化,无处不在地运行

它不依赖固定工具集,不锁死在某个模型,不限制只能在终端或某个 IDE 里用——它同时活在你的 Terminal、Telegram、Discord、WeChat、iMessage,乃至一台远程 Modal 无服务器容器里。更关键的是,它在每次任务结束后会主动提炼新技能,让自己下次更快、更准。

本文从架构设计、工具系统、技能体系、内存持久化、多平台网关五个维度,对 Hermes Agent v0.9.0(2026 年 4 月 13 日发布)进行深度技术剖析。


二、整体架构:四层解耦设计

Hermes Agent 的代码库包含 856 个 Python 文件,但核心逻辑高度内聚,可以归纳为四层:

┌────────────────────────────────────────────────────┐ │ 接入层(Interface) │ │ CLI 终端 · Telegram · Discord · Slack · WeChat │ │ Signal · Matrix · iMessage · WhatsApp · DingTalk │ ├────────────────────────────────────────────────────┤ │ Agent 执行层(Core Loop) │ │ AIAgent 主循环 · 工具调度 · 上下文压缩 · 错误分类 │ ├────────────────────────────────────────────────────┤ │ 能力层(Capabilities) │ │ 70+ 工具 · 技能系统 · 内存系统 · 沙箱环境 │ ├────────────────────────────────────────────────────┤ │ 模型层(Model Abstraction) │ │ Anthropic · OpenAI · OpenRouter · Kimi · Qwen │ │ z.ai/GLM · MiniMax · xAI/Grok · 200+ 模型 │ └────────────────────────────────────────────────────┘
层次核心文件职责
接入层gateway/run.pycli.py多平台消息收发、会话隔离、并发管理
Agent 执行层run_agent.py(10,829 行)主循环、工具调用链、迭代预算控制
能力层tools/skills/plugins/工具注册、技能加载、内存同步、沙箱调度
模型层agent/anthropic_adapter.pyagent/model_metadata.py多供应商适配、Token 估算、故障转移

这种解耦设计的好处是:更换模型不影响工具;新增平台不影响 Agent 逻辑;技能更新无需重新部署代码。


三、Agent 主循环:感知 → 规划 → 行动 → 进化

Hermes 的核心是run_agent.py中的AIAgent类,实现了一个最多 90 次迭代的闭合学习循环

用户消息/平台事件 │ ▼ [构建系统 Prompt] • 身份文件(SOUL.md) • 技能索引(名称 + 描述,按需加载全文) • 上下文引用(@file: / @git: / @url:) • 内存上下文(<memory-context> 标签隔离) │ ▼ [调用 LLM,传入 70+ 工具 Schema] │ ├── 无工具调用 → 直接回复 │ └── 有工具调用 ──▶ [并行执行工具批次(8 workers)] │ ▼ [收集结果,追加消息历史] │ ├── 迭代 < 90 → 继续循环 │ └── 完成 → 持久化会话 + 检查是否生成新技能

关键设计:

机制实现作用
迭代预算IterationBudget(线程安全计数器,默认 90)防止无限循环,兼顾复杂任务深度
上下文自动压缩agent/context_compressor.py接近 Token 上限时自动摘要旧消息,无感续航
错误分类故障转移agent/error_classifier.py区分限速/鉴权/过载/上下文超长,采取不同恢复策略
中断处理全局interrupt事件CLI / Gateway Ctrl+C 即时打断长任务
技能自生成任务结束后 LLM 自评若发现可复用模式,自动提议写入新 Skill

四、工具系统:70+ 工具的自注册体系

Hermes 的工具不是硬编码在主循环里的,而是自注册的——每个工具文件import时向tools/registry.py注册自身,主循环通过registry.get_all_tools()动态获取。

4.1 工具分类全景

类别工具数代表工具典型场景
Web 检索6web_search, web_extract, web_crawl联网调研、信息提取
终端执行3terminal, process, delegate_task运行命令、管理进程
文件操作6read_file, write_file, patch, search_files代码读写、内容搜索
浏览器自动化10browser_navigate, browser_click, browser_screenshotGUI 操作、表单填写
视觉理解3vision_analyze, image_generate, vision_compare图片分析、生成
技能管理4skills_list, skill_view, skill_manage, skill_create技能浏览与更新
内存管理3memory, session_search, todo跨会话记忆与任务管理
消息通信2send_message, cronjob主动推送、定时任务
智能家居4ha_list_entities, ha_get_state, ha_call_serviceHome Assistant 集成
扩展工具20+MCP、TTS、代码执行、RL 训练专项场景

4.2 并行安全的批量执行

工具调用支持最多 8 个并发 Worker,但在并行前会做两项安全检查:

安全检查机制说明
路径重叠检测对比所有文件操作目标路径防止同一文件被并发写入
交互工具串行clarify等工具不参与并行需要用户确认的操作必须串行

危险命令(如rm -rfgit reset --hard)会触发用户审批门控,支持once / session / always / deny四档授权粒度。


五、技能系统:程序性记忆的工程实现

如果说工具是 Hermes 的"手",技能(Skills)就是它的"经验库"。Hermes 没有把每个新功能都实现为一个新工具(那样会导致工具膨胀),而是用Markdown 技能文件封装可复用的操作流程。

5.1 技能文件结构

每个技能是一个目录,核心是SKILL.md

---name:arxiv-searchdescription:Search and summarize academic papers from arXiv by topic or paper IDversion:1.0.0license:MITplatforms:[macos,linux]prerequisites:commands:[curl,jq]metadata:hermes:tags:[research,academic]related_skills:[web-search,literature-review]---# arXiv Search Skill## InstructionsWhen the user asks about a paper or research topic...

5.2 渐进式加载(Progressive Disclosure)

Hermes 不会把所有技能的完整内容一次性塞进 System Prompt,而是分三层按需加载:

层级内容加载时机Token 消耗
元数据层名称(≤64字符)+ 描述(≤1024字符)每次对话启动时极低
指令层SKILL.md 完整内容模型判断需要使用该技能时中等
引用层关联文件(模板、示例、API文档)技能执行时按需注入按需

这个设计解决了一个真实问题:如果有 100 个技能,把所有技能全文塞入 Prompt 会消耗数万 Token;但只传名字和描述,模型能根据语义判断该调用哪个,再按需加载全文。

5.3 内置技能体系

大类典型技能方向
软件开发Git 工作流、Docker 操作、K8s 部署、代码审查
学术研究arXiv 检索、文献综述、论文摘要
MLOps模型训练脚本、评估流水线、实验管理
创意生产内容生成、图文排版、多语言翻译
安全审计漏洞扫描、依赖检查、合规分析
可选扩展区块链、医疗数据、HPC 作业管理(13个可选类别)

六、内存与持久化:跨会话学习的基础设施

6.1 SQLite 会话数据库

Hermes 使用 SQLite(WAL 模式)存储所有对话历史,通过 FTS5 全文索引实现跨会话语义搜索:

内容关键设计
sessions会话元数据(模型、Token 消耗、费用估算、标题)按平台来源分组
messages完整对话记录(含工具调用与结果)支持父子会话链(压缩用)
messages_ftsFTS5 虚拟表跨 1000+ 会话全文检索

为什么选 SQLite 而非 JSONL?跨文件搜索需要全量扫描,而 FTS5 可以在毫秒级内检索所有历史会话,同时 WAL 模式保证了 Gateway 多平台并发写入的安全性。

6.2 内存插件体系

插件核心机制特点
Builtin本地 MEMORY.md / USER.md始终激活,零依赖
Honcho AI辩证式用户建模,记录推理过程最强的用户偏好建模
Mem0向量嵌入检索语义相似度召回
Supermemory长期记忆存储服务托管方案,开箱即用
Holographic多尺度记忆表示实验性,适合复杂用户模型

内存读写时机:每轮对话前预取,每轮响应后同步,内容以<memory-context>标签包裹注入 Prompt,防止模型将其误解为指令。


七、多平台网关:真正的"无处不在"

Gateway 是 Hermes 作为独立守护进程运行的消息总线,支持 25+ 平台适配器:

平台类别支持列表
即时通讯Telegram、Discord、Slack、Signal、WhatsApp、Matrix(端对端加密)
国内平台微信(Weixin)、企业微信(WeCom)、钉钉、飞书、Mattermost
苹果生态iMessage(via BlueBubbles)
开发工具Webhook、API Server、Home Assistant
语音/邮件邮件(Email)、SMS

Gateway 作为独立进程的设计解耦了三件事:CLI 会话崩溃不影响 Telegram 消息;Slack 限速不阻塞 Discord 响应;Gateway 可水平扩展而无需重启 Agent 核心。


八、执行环境:六种沙箱后端

后端适用场景关键特性
Local默认,最快直接在宿主机执行
Docker隔离执行容器化,文件系统持久化
SSH远程服务器密钥认证,端口转发
Modal无服务器 GPU自动扩缩容,适合 ML 工作负载
Daytona云开发环境批量文件同步,工作区管理
SingularityHPC 集群共享计算资源上的容器执行

所有后端都支持文件状态持久化(mtime跟踪 + 删除检测),沙箱重建后工作状态不丢失。


九、横向竞品对比

Hermes Agent 的定位是"无处不在的自进化 Agent",与三类竞品存在差异:

维度Hermes AgentClaude CodeAutoGen / CrewAIDevin
运行方式CLI + 25+ 平台消息CLI + IDE 插件Python SDK 调用Web 平台
模型绑定无绑定,200+ 模型深度绑定 Claude可配置多模型专有模型
技能/知识积累✅ 自动生成并沉淀技能❌ 无跨会话技能⚠️ 需手动配置⚠️ 有限
多平台接入✅ 25+ 平台原生支持❌ 仅终端/IDE❌ 纯 API❌ 仅 Web
沙箱执行✅ 6 种后端⚠️ 本地为主❌ 依赖用户配置✅ 托管云沙箱
部署成本开源,自托管免费订阅制 API 费用开源,自托管高(商业产品)
目标用户重度 Power User / 开发者软件工程师AI 应用开发者企业研发团队

Hermes 的差异化优势在于三个组合:多模型无绑定 + 跨平台原生 + 技能自进化。这三件事任意一件做到极致都能形成壁垒,三者同时做到是当前同类工具中罕见的。

明显短板:文档和社区成熟度不及 Claude Code,上手曲线较陡(配置文件 1400+ 行),面向普通用户的引导体验有待改善。


十、总结

维度核心要点
架构设计四层解耦:接入层 / Agent 层 / 能力层 / 模型层,各层独立演进
工具体系70+ 自注册工具,8 并发 Worker,路径安全检测,危险操作审批门控
技能系统Markdown 驱动的程序性记忆,渐进式加载,任务后自动提炼新技能
内存持久化SQLite + FTS5 全文检索,8 种内存插件,跨会话知识积累
多平台网关25+ 平台适配,独立守护进程,会话隔离与并发安全
执行环境6 种沙箱后端,从本地到 GPU 无服务器,文件状态持久化
模型无锁定支持 200+ 模型,供应商故障自动转移,推理预算可控

Hermes Agent 代表了 AI Agent 设计的一个重要方向:工具不是终点,技能积累才是护城河。它把每次任务都视为学习机会,让 Agent 随时间变得更懂用户、更高效。随着多模态、多模型协作能力的成熟,这类"会成长的 Agent"平台将在企业和个人生产力领域占据重要位置。


参考资料

  1. Hermes Agent GitHub 仓库 — Nous Research(v0.9.0,2026-04-13)
  2. OpenRouter 多模型 API 文档
  3. Anthropic Tool Use 文档
  4. agentskills.io 技能规范
http://www.jsqmd.com/news/653263/

相关文章:

  • 2026年云测试平台选型指南:全场景真机与自动化技术实测
  • Swoole Compiler vs传统加密:实测PHP7.2代码保护效果对比
  • miniDP和DP接口管脚定义全解析:硬件设计避坑指南
  • 2026一级市场迈入真实价值创投时代,36氪“最受关注”企业名册征集启动!
  • 从PostgreSQL DBA视角:手把手迁移到阿里云PolarDB for PostgreSQL的实操记录
  • 矩阵范数在机器学习中的隐藏作用:从正则化到模型收敛性分析
  • @Scheduled(cron = “1 0 0 * * ?“用法介绍
  • 环境管理化技术中的环境配置环境监控环境维护
  • 职业倦怠自救指南:用游戏化思维重启代码热情
  • 保姆级教程:用Davinci Configurator给TC397芯片配置AUTOSAR CanIf模块(附DBC文件解析避坑点)
  • J-Link驱动装不上?手把手解决Win10/Win11系统下JLink driver识别问题与国产芯片支持
  • 职业决策工具包:SWOT与个人画布在软件测试领域的深度应用
  • 永磁同步电机PMSM二阶全局快速终端滑模控制Matlab模型:参数化设计,连续与离散控制融合...
  • 解决MatLab R2019b许可证校验失败的实用技巧
  • 编程语言运行机制
  • STM32程序下载进阶:利用STM32CubePro与UART实现高效HEX文件烧录
  • CH343 USB转串口芯片全平台驱动与开发资源指南
  • 【将Skills转换为图结构】技术解析:能力图谱的构建、路由与组合实践
  • 2026年热门的厦门婚纱照摄影/厦门婚纱微电影摄影高评分榜单 - 品牌宣传支持者
  • 合成数据成AI发展新基建,未来竞争核心转向高效生成高价值数据
  • 从SFDR到输出位宽:Vivado DDS IP核数据格式与DAC匹配的保姆级选择教程
  • 从Windows到Linux:我的MATLAB科研环境迁移记(Ubuntu 20.04 + MATLAB 2015b实战)
  • 基于企微官方API实现关键词拉群(Python原生实现)
  • LoadRunner12关联实战:从手动到自动的完整解决方案
  • 【LangGraph】最新版技术解析:有状态多智能体图执行引擎的架构原理与工程实践
  • WinForm + AntdUI 实现物料编码自动填充,彻底告别手工 BOM
  • 从“看图说话”到“无中生有”:深入浅出拆解Pix2Pix中的U-Net与PatchGAN
  • 爬虫为什么要建立代理IP池?新手必看|保姆级IP池搭建教程,复制代码就能跑✅
  • 如何让按钮悬停时阴影位置保持固定(仅按钮位移)
  • 告别浏览器!在PyCharm 2024.1专业版里无缝集成Jupyter Notebook的保姆级教程