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

Hermes Agent 架构详解

如果你最近也在看 Agent 框架,会发现很多项目的问题不是「能不能调模型」,而是消息从哪来、上下文怎么保住、工具怎么接、中途怎么停、历史怎么找回来。Hermes Agent 这篇架构拆解刚好把这些工程细节摊开了。它不是只讲一个漂亮的 Agent 循环,而是把命令行、消息网关、IDE 插件、工具注册、压缩和会话存储放在同一张图里看,适合想自己搭 Agent 系统的开发者细读。

正文

// 01

先从全貌说起

整个系统可以用三句话概括:入口多样,内核唯一;功能模块化,依赖松耦合;状态持久化,会话可恢复。

无论你从命令行、Telegram、VS Code 还是 REST API 发来消息,最终都由同一个AIAgent类来处理。这保证了行为一致,也大大降低了维护成本。工具系统、内存插件、上下文引擎都是注册制——可以随时插拔,不需要修改核心代码。

// 02

Agent 循环:心跳一直在跳

如果说整个系统是一台机器,Agent 循环(Agent Loop)就是它的心跳。每当用户发来一条消息,AIAgent.run_conversation()就开始一轮循环。

**可中断的 API 调用:**HTTP 请求在后台线程运行,主线程同时监听中断信号。用户发来/stop或新消息时,当前请求被丢弃,Agent 干净地响应新输入——不会有"回答到一半"的脏数据写入历史。

**Fallback 兜底:**主模型报 429、5xx 或鉴权错误时,系统自动按配置顺序尝试备用服务商,整个对话不中断。辅助任务(视觉理解、压缩摘要)也有独立的备用链。

// 03

Prompt 组装:系统提示词是怎么搭起来的

Hermes 把系统提示词拆成多个稳定层,在会话开始时一次性组装好,此后不再改动。核心原因是Prompt Cache 成本——稳定的前缀可将 token 费用降低约 75%。

上下文文件优先级(仅加载第一个命中的)

1st · .hermes.md / HERMES.md2nd · AGENTS.md3rd · CLAUDE.md4th · .cursorrules

记忆快照的微妙之处:MEMORY.md 在会话开始时冻结进 Prompt。如果会话中途通过memory工具写入了新内容,它会实时写到磁盘,但不会改变当前会话的系统提示词——要等下一个会话才能看到新记忆。这防止了"改动 Prompt 导致缓存全部失效"的问题。

// 04

上下文压缩与缓存:长对话不失忆

处理复杂任务时对话往往很长——一个重构大型代码库的任务可能产生几十轮工具调用,消耗数万 token。Hermes 的解法是双层压缩系统加 Anthropic Prompt Cache。

压缩算法四个阶段

PHASE 01

清除旧工具输出

无 LLM 调用,直接替换超过 200 字符的旧工具结果为占位符,最廉价的降本手段

PHASE 02

确定保护边界

头部保留 3 条,尾部按 token 预算保留最近 N 条(至少 20 条),中间段将被摘要

PHASE 03

LLM 生成结构化摘要

辅助 LLM 将中间段压缩为"目标→进度→决策→相关文件→下一步"的结构化摘要

PHASE 04

拼接并清理

组合头部+摘要+尾部,修复孤儿 tool_call/tool_result 对,生成子会话 ID

压缩后的实际效果:45 条消息 95K token → 压缩后 25 条 45K token,关键进度和决策完整保留。再次压缩时,旧摘要会被"更新"而非重写,已完成的任务从"进行中"移到"已完成",信息不丢失地迭代积累。

**Prompt Caching 策略(仅限 Anthropic):**Hermes 在系统提示词和最近 3 条消息上各放置一个 cache breakpoint(共 4 个,达到 Anthropic 的上限),使多轮对话的输入 token 成本降低约 75%。

// 05

消息网关:一个 Agent,接入 20+ 平台

Hermes 有一个长期运行的消息网关进程,负责对接各种通讯平台。无论是 Telegram 群组消息、Discord @提及还是企业微信工单,都会被规范化成内部MessageEvent,交由同一个 AIAgent 处理。

两级消息保护

当 Agent 正在处理一条消息时,用户发来第二条会被暂时排队。/stop/approve/deny等控制命令可以"插队"直接到达 Agent,其他消息则等待。这防止了并发竞争导致的历史记录混乱。

DM 配对授权

管理员用/pair生成一次性配对码,新用户发送这个码就能获得授权,无需修改任何配置文件——适合快速将新用户引入 Agent。

// 06

工具系统:Agent 的手

工具是 Agent 执行能力的载体。Hermes 内置 70+ 工具,分成约 28 个工具集,从文件读写、终端命令到浏览器自动化,一应俱全。

自动注册机制

每个工具文件的底部只需一行注册调用,启动时自动被发现,无需手动维护列表:

# tools/file_tools.py 末尾registry.register("read_file", read_file_handler, schema=READ_FILE_SCHEMA)# tools/web_tools.py 末尾registry.register("web_search", web_search_handler, schema=WEB_SEARCH_SCHEMA)

整个注册链路如下:

tools/registry.py # 基础模块,无依赖,最先加载 ↑tools/*.py # 各自在 import 时调用 registry.register() ↑model_tools.py # 汇总 schema,处理 handle_function_call() 分发 ↑run_agent.py # 使用工具列表构造 LLM API 请求

终端工具支持 7 种后端

本地 shellDocker 容器SSH 远程DaytonaModalSingularityVercel Sandbox

切换执行环境只需改配置,工具调用代码不变。同时,MCP(Model Context Protocol)工具得到原生支持——挂载任意 MCP 服务后,Hermes 在运行时动态加载其暴露的工具,无需重启。

// 07

会话存储:记住每一次交流

Hermes 用 SQLite + FTS5 做会话持久化。FTS5 是 SQLite 的全文检索扩展,让session_search工具能在历史会话中快速检索关键词——Agent 在开始新任务前可以主动"回忆"相关背景。

会话血缘追踪(Lineage)

每次压缩会生成一个"子会话",记录从哪个父会话压缩而来。这让你可以追溯一个长任务的完整历史,即便中途经过多次压缩。

Profile 隔离

每个 profile(如hermes -p devhermes -p work)拥有独立的HERMES_HOME,包含独立的配置、记忆、会话和网关进程。多个 profile 可以同时运行,互不干扰——比如一个挂着 Telegram Bot,另一个跑着 IDE 插件。

// 08

设计哲学总结

读完这些子系统,可以提炼出 Hermes 背后的六条核心设计原则——它们相互支撑,共同造就了在复杂长任务场景下依然稳定可靠的 Agent 框架。

原则具体体现
Prompt 稳定性系统提示词在会话内不变,最大化 Anthropic Prompt Cache 命中率,降低约 75% 输入 token 成本
可观测执行每次工具调用都通过 callback 实时反馈给用户:CLI 显示 spinner,网关发送进度消息
可中断API 调用和工具执行均可被用户随时取消,不留脏数据,新消息优先处理
平台无关核心同一个 AIAgent 类服务 CLI、消息网关、ACP IDE 插件、批处理和 API Server,平台差异在入口层处理
松耦合MCP、插件、内存提供者、RL 环境均为注册制和 check_fn 门控,非强依赖,可按需启用
Profile 隔离每个 profile 有独立的 HERMES_HOME、配置、记忆、会话、网关进程,多实例并行互不干扰

AI灰鲸更建议把这篇当成一份 Agent 工程设计清单,而不是单纯的项目介绍。真正做过长任务 Agent 的人都知道,模型调用只是最显眼的一层,后面更磨人的其实是缓存命中、可中断执行、工具结果膨胀、消息并发和多平台会话隔离。Hermes 的价值在于,它把这些「上线以后才会疼」的问题前置成架构约束。你不一定要照搬它的实现,但这些模块边界很值得抄作业。尤其是 Prompt 稳定性、两层压缩和 profile 隔离这几块,放到任何企业内部 Agent 或开发者自动化助手里,都是迟早要面对的坑。

学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.zskr.cn/news/1407408.html

相关文章:

  • Ubuntu 国内镜像源配置指南(多版本常用镜像地址都有)
  • 告别满屏的 URL 拼接:一篇文章带你彻底搞懂 OpenFeign
  • 震惊,AI 直接把我整个项目画成了知识图谱
  • 从时域波形特征到智能诊断:关键指标解析与MATLAB实战
  • 家长必备身高管理工具|数据化监测发育,帮孩子发挥最大生长潜能,抓住孩子长高黄金期!精准判定发育水平,科学规划孩子生长节奏
  • Virtual-ZPL-Printer终极指南:5分钟搞定虚拟Zebra打印机完整方案
  • 企业级AI应用开发终极指南:如何用RuoYi-AI快速构建智能助手平台
  • WordPress与Shopify建站对比指南
  • Google DeepMind 如何用 AI 终结“提示词工程”,重塑AI时代的鼠标指针
  • PKCS(公钥加密标准)系列规范介绍
  • AI编程助手精准控制指南:从模糊需求到结构化指令的范式转变
  • 五台山永红铁锅炖:24年地道老店,一口铁锅炖出山城烟火气
  • Minecraft光影包终极指南:如何用Revelation打造电影级方块世界
  • 百考通AI帮你写出导师点赞的逻辑型文献综述
  • 百考通AI:任务书智能生成,轻松输出专业内容
  • 【技术应用】邻近连接技术PLA应用实例介绍—第Ⅱ期:蛋白-RNA
  • AI提示工程:开发者从编码到问题解决的核心能力跃迁
  • 湖南家庭聚餐餐馆怎么选,有哪些通用的选型标准? - 资讯纵览
  • 为什么你记不住自己问过什么?:ChatGPT会话记忆衰减曲线揭示——必须在第7次交互前部署习惯锚点
  • 跨平台资源下载利器:轻松捕获微信视频号、抖音、小红书等平台内容
  • G-Helper终极指南:如何用3分钟彻底优化你的华硕笔记本性能
  • Vibe Coding项目开发流程
  • 2026年最实用的录音转文字软件!8款主流语音转文字工具深度评测
  • ChatGPT误答致品牌信任崩塌?3步溯源法+5类高危场景话术模板(含真实上市公司应对纪要)
  • 5 分钟快速理解 RAG
  • 2026 学术、企业、跨境样本服务平台怎么选?3 家主流平台实力对比
  • 2026年RAG架构演进:从混合搜索到智能体流程的生产级实践
  • 从实验到实战:基于模糊推理的智能洗衣机控制系统设计与Python/Matlab实现
  • 揭开DDR引脚的神秘面纱:原理图背后的硬件逻辑
  • 40VOUT,3A,XZ5129,升压LED恒流驱动芯片