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

Hermes-Agent 整体技术架构解析:模块化设计与运行时引擎

在AI代理领域,2026年最热门的话题不再是“哪个模型最强”,而是“哪个架构能真正持久进化”。大多数开源Agent像一台精密仪器:功能强大、调用流畅,但一旦对话结束或重启,就回到起点。它们擅长单次任务,却无法“记住自己学过什么、如何做得更好”。

Hermes-Agent彻底颠覆了这一范式。它由Nous Research于2026年2月开源,最新v0.8.0版本(2026.4.8发布)GitHub星标已突破60k(2026.4.12)。官方定位清晰:“The agent that grows with you”——一个内置闭环学习循环的自改进代理。其核心竞争力不是工具数量,而是模块化架构 + 持久化运行时引擎,让单一代理实现跨会话自进化。

这篇文章将带你深入代码与文档,拆解Hermes-Agent的高层次设计、AI Agent引擎 internals,以及模块化如何支撑“任意部署 + 自我进化”。读完后,你会对“Agent架构”的认知完成一次升级:真正的智能代理,不是堆砌功能,而是通过松耦合、可插拔的模块,让学习循环自然发生。它不是工具,而是能与你共同生长的数字生命体。

一、高层次架构:单一代理持久循环,非Swarm设计

Hermes-Agent采用**单一代理持久循环(Single Agent Persistent Loop)**架构,所有入口(CLI、Gateway、ACP适配器、Batch Runner、API Server、Python Library)最终都汇聚到核心AIAgent类(位于run_agent.py,约9200行代码)。

官方Architecture Guide(https://hermes-agent.nousresearch.com/docs/developer-guide/architecture)用一张清晰的系统图展示了这一设计:

┌─────────────────────────────────────────────────────────────────────┐│ Entry Points ││ ││ CLI (cli.py) Gateway (gateway/run.py) ACP (acp_adapter/) ││ Batch Runner API Server Python Library │└──────────┬──────────────┬───────────────────────┬───────────────────┘ │ │ │ ▼ ▼ ▼┌─────────────────────────────────────────────────────────────────────┐│ AIAgent (run_agent.py) ││ ││ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ││ │ Prompt │ │ Provider │ │ Tool │ ││ │ Builder │ │ Resolution │ │ Dispatch │ ││ │ (prompt_ │ │ (runtime_ │ │ (model_ │ ││ │ builder.py) │ │ provider.py)│ │ tools.py) │ ││ └──────┬───────┘ └──────┬───────┘ └──────┬───────┘ ││ │ │ │ ││ ┌──────┴───────┐ ┌──────┴───────┐ ┌──────┴───────┐ ││ │ Compression │ │ 3 API Modes │ │ Tool Registry│ ││ │ & Caching │ │ chat_compl. │ │ (registry.py)│ ││ │ │ │ codex_resp. │ │ 48 tools │ ││ │ │ │ anthropic │ │ 40 toolsets │ ││ └──────────────┘ └──────────────┘ └──────────────┘ │└─────────────────────────────────────────────────────────────────────┘ │ │ ▼ ▼┌───────────────────┐ ┌──────────────────────┐│ Session Storage │ │ Tool Backends ││ (SQLite + FTS5) │ │ Terminal (6 backends) ││ hermes_state.py │ │ Browser (5 backends) ││ gateway/session.py│ │ Web (4 backends) │└───────────────────┘ │ MCP (dynamic) │ │ File, Vision, etc. │ └──────────────────────┘

不同于OpenClaw等强调“多代理编排(Swarm)”的框架,Hermes坚持单一持久代理。社区深度分析(TrilogyAI Substack)指出:Swarm适合一次性复杂任务,但会引入上下文爆炸和协调开销;而Hermes的单一循环更简洁、可预测,专注“记忆 compounding”和“技能自迭代”。AIAgent是“耐用组件”(durable component),执行后端则是可插拔的——这正是模块化的灵魂。

这种设计直接支撑了自进化:代理不依赖外部编排器,而是通过内置循环,从经验中提炼技能、主动curation记忆、跨会话深化用户模型。

二、项目目录结构:高度模块化的代码组织

GitHub仓库(https://github.com/NousResearch/hermes-agent)目录结构清晰体现了“一切皆插件”的哲学:

  • run_agent.py:核心入口,AIAgent实现。
  • agent/:Agent internals(prompt_builder.py、context_compressor.py、prompt_caching.py、memory_provider.py、memory_manager.py、trajectory.py 等)。
  • tools/:48个内置工具 + registry.py(terminal_tool.py、delegate_tool.py、mcp_tool.py、environments/ 下6种终端后端)。
  • gateway/:15+平台消息网关(run.py、platforms/ 下Telegram/Discord/WeCom等)。
  • plugins/:插件系统(memory/、context_engine/ 子目录,支持Honcho等外部记忆提供者)。
  • cron/:内置调度器。
  • skills/optional-skills/:技能Hub基础。
  • hermes_cli/:CLI子命令、setup向导、plugins.py(PluginManager)。
  • • 其他:hermes_state.py(SQLite状态)、trajectory_compressor.py、environments/(Atropos RL环境)。

官方文档强调:agent/context_engine.py定义了ContextEngine ABC(抽象基类),memory_provider.py则是记忆提供者的抽象接口。这意味着开发者可以零侵入地替换memory后端或上下文引擎,而不触碰核心循环。v0.8.0版本进一步扩展了插件系统:插件可注册CLI子命令、钩入会话生命周期(finalize/reset),实现“热插拔”式扩展。

这种目录划分不是随意,而是为任意部署 + 自进化量身打造:核心逻辑收敛在AIAgent,外围全部可配置/可替换。

三、核心引擎AIAgent:同步编排机制详解

run_agent.py中的AIAgent是Hermes的心脏。它实现了一个同步、stateful的执行循环

  1. 输入处理→ 生成任务ID,加载会话历史(hermes_state.py)。
  2. Prompt构建(prompt_builder.py):注入SOUL.md、MEMORY.md、USER.md、相关Skills、压缩后的上下文。
  3. 模型调用(Provider Resolution):支持400+模型(OpenRouter、Ollama、Gemini等),自动适配chat/completions、codex response、Anthropic Messages三种API模式。
  4. 工具分发(Tool Dispatch):registry.py 注册48工具 + 40 toolsets,支持delegate_tool(子代理并行委托,零上下文成本)。
  5. 执行与持久化:工具结果回写SQLite,触发nudge(技能创建/记忆curation)。
  6. 压缩与缓存:若上下文超限,调用context_compressor.py;Anthropic用户自动启用prompt_caching(断点缓存,降低成本)。

整个循环是同步编排(synchronous orchestration),社区分析称其优势在于“可预测性和可调试性”——不像异步Swarm容易出现竞态条件。AIAgent还内置错误恢复、超时追踪(基于实际工具活动而非壁钟时间,v0.8.0优化)、trajectory记录(支持后续RL训练)。

四、Prompt Builder、Context Compressor与Prompt Caching:上下文管理的艺术

Hermes最大痛点解决者是context_compressor.py。Medium社区深度拆解显示,ContextCompressor采用四阶段智能压缩(非简单截断):

  1. Tool Pruning:将旧工具输出替换为占位符(如“[Old tool output cleared]”),零LLM调用。
  2. Critical Protection:保护系统提示、初始对话、最近20K token。
  3. Structured Summarization:用模板(Goal、Constraints、Progress、Key Decisions)生成精炼摘要。
  4. Iterative Updates:增量更新历史摘要,实现知识累积而非重置。

结合prompt_builder.py的系统提示组装,以及prompt_caching.py的Anthropic缓存断点机制,Hermes实现了“token永不爆炸”。Substack指出:四层记忆分离(提示记忆MEMORY.md/USER.md硬限2200/1375字符 + FTS5会话搜索 + 技能过程记忆 + Honcho用户建模)是关键——代理主动curation,确保上下文始终聚焦。

传统Agent靠“更大上下文窗口”硬刚,Hermes靠“智能压缩 + 主动管理”实现可持续进化。

五、6种终端后端 + 无感休眠:任意环境部署

Hermes支持6种终端后端(tools/environments/):Local、Docker、SSH、Singularity、Daytona、Modal。浏览器后端5种、Web后端4种、MCP动态扩展。

  • 服务器无感休眠:空闲时自动休眠(Modal/Daytona serverless成本近零),$5 VPS即可24/7运行。
  • 子代理委托并行:delegate_tool可并行创建隔离子会话,零额外token成本。

插件系统(memory_provider.py抽象)让记忆、上下文引擎可热插拔。cron/目录内置自然语言调度器(每日报告、备份)。trajectory_compressor.py + tinker-atropos子模块直接导出数据,支持Atropos RL训练环境——研究者可一键生成批量trajectory,用于训练下一代工具调用模型。

六、可扩展性:插件、Skills Hub、Cron、Trajectory的完美闭环

模块化设计的极致体现在:

  • 插件系统:PluginManager自动发现、加载,支持生命周期钩子。v0.8.0新增CLI子命令注册。
  • Skills Hub:代理自主创建/改进SKILL.md(agentskills.io标准),一键从Hub安装社区贡献。
  • Cron调度:内置jobs.py,支持后台任务完成通知(无需轮询)。
  • Trajectory导出:research-ready,支持Atropos RL环境,真正把“学习循环”变成可训练数据。

这些组件相互咬合:一次复杂任务 → trajectory记录 → 技能创建 → 记忆nudge → 下次Prompt Builder自动加载 → 进化完成。

七、动手实践:hermes doctor/setup + 阅读代码上手贡献

立即行动,验证架构:

  1. 运行hermes doctor诊断环境(后端、模型、插件状态)。
  2. hermes setup完成向导(选择后端、记忆提供者)。
  3. 浏览代码:cd ~/.hermes或克隆仓库,重点阅读agent/prompt_builder.py(提示组装)、context_compressor.py(压缩逻辑)、memory_provider.py(抽象)。
  4. 贡献路径:CONTRIBUTING.md明确——PR新工具、插件,或Atropos环境。

真实开发者反馈:读完run_agent.py主循环后,你会理解“为什么它越用越强”。

八、模块化如何支撑“任意部署 + 自进化”

Hermes的架构哲学是:把复杂性拆成可插拔模块,把进化留给循环本身。6种后端让它跑在笔记本、VPS、serverless任意环境;memory_provider抽象让记忆随需求进化;trajectory导出让“经验”变成RL数据集。

Substack总结得精辟:“Hermes赌的是记忆与自我改进。代理知道你偏好、能自己写/优化流程、跨会话保留上下文,其价值远超单纯路由。”这正是认知升级点:未来Agent竞争,不是初始能力,而是架构是否允许持续 compounding。Hermes证明,模块化不是“工程美学”,而是自进化的基础设施。

它不是工具,而是会成长的伙伴——架构设计确保了这一点。

学AI大模型的正确顺序,千万不要搞错了

🤔2026年AI风口已来!各行各业的AI渗透肉眼可见,超多公司要么转型做AI相关产品,要么高薪挖AI技术人才,机遇直接摆在眼前!

有往AI方向发展,或者本身有后端编程基础的朋友,直接冲AI大模型应用开发转岗超合适!

就算暂时不打算转岗,了解大模型、RAG、Prompt、Agent这些热门概念,能上手做简单项目,也绝对是求职加分王🔋

📝给大家整理了超全最新的AI大模型应用开发学习清单和资料,手把手帮你快速入门!👇👇

学习路线:

✅大模型基础认知—大模型核心原理、发展历程、主流模型(GPT、文心一言等)特点解析
✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑
✅开发基础能力—Python进阶、API接口调用、大模型开发框架(LangChain等)实操
✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用
✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代
✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经

以上6大模块,看似清晰好上手,实则每个部分都有扎实的核心内容需要吃透!

我把大模型的学习全流程已经整理📚好了!抓住AI时代风口,轻松解锁职业新可能,希望大家都能把握机遇,实现薪资/职业跃迁~

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

http://www.cnnetsun.cn/news/1894631.html

相关文章:

  • Wan2.1 VAE模型仓库管理:像使用Maven管理Java依赖一样管理模型版本
  • TwitchNoSub安全分析:为什么这个扩展值得信赖?
  • Relm生态系统探索:热门项目和社区资源的终极指南
  • 鸿蒙WebView拦截h5特殊协议跳转:onLoadIntercept实战解析与白屏规避指南
  • bk-ci监控告警体系:全方位保障平台稳定运行
  • 结合需求响应与动态热额定策略,提升变压器寿命并优化负载管理(MATLAB+YALMIP仿真)
  • Pogocache监控与维护:如何有效管理缓存集群和性能指标
  • Captain AI:破解OZON困局,赋能竞争优势
  • Medicat Installer核心组件解析:从7-Zip到Ventoy的完整技术栈
  • Gradio快速封装教程:将实时手机检测-通用模型转为在线服务接口
  • AI训练产区图:GPU算力梯队与任务匹配指南
  • SimCLR迁移学习应用:如何将预训练模型用于下游任务
  • 抖音下载器无水印批量采集完整教程:免费快速获取高清素材
  • 终极WebP处理指南:如何在Photoshop中完美支持WebP格式
  • C语言完美演绎8-1
  • Getting-Things-Done-with-Pytorch终极指南:构建你的第一个神经网络
  • 2025网盘下载终极指南:八大平台直链解析工具LinkSwift深度评测
  • 农业知识图谱:作物病虫害的诊断与防治
  • Phi-4-mini-reasoning代码生成案例:用自然语言描述生成可调试算法代码
  • 交换机安全隔离技术实战:MUX VLAN与端口隔离的协同部署方案
  • 如何将OneNote完美迁移到Markdown:终极免费导出指南
  • 2026年了全渠道电商对接还在写一堆适配代码?试试这套统一标准
  • ExtractorSharp游戏资源编辑工具:从零开始掌握NPK与IMG文件编辑的完整指南
  • AudioSeal Pixel Studio快速上手:Streamlit本地启动+模型缓存路径配置指南
  • 忍者像素绘卷效果深度解析:硬边阴影+高饱和色+电影构图真实案例
  • Z-Image-Turbo_Sugar脸部Lora效果对比:Sugar LoRA单独使用 vs 与其他LoRA叠加效果
  • Nunchaku FLUX.1 CustomV3实操技巧:利用ControlNet节点叠加线稿约束提升结构准确性
  • 乙巳马年春联生成终端智能助手:中小企业春节营销内容自动生成工具
  • ‌学工管理系统:如何让它真正用起来,而不是沦为摆设
  • 应对网络小说离线阅读技术挑战的Tomato-Novel-Downloader实战指南