首页 游戏 软件 资讯 排行榜 专题
首页
AI
Hermes Agent核心组件分析 拆解Hermes Agent的各个模块

Hermes Agent核心组件分析 拆解Hermes Agent的各个模块

热心网友
40
转载
2026-04-22

Hermes Agent:一个具备闭环学习与自进化能力的AI智能体深度解析

Hermes Agent 是具备闭环学习、三层记忆与技能自生成能力的自进化AI智能体。其通过Observe→Execute→Reflect→Crystallize→Reuse循环实现长期学习,依托短期/长期/程序化三层记忆架构支撑跨会话理解与技能沉淀,并采用KGateway统一接入多平台消息,确保安全、可扩展的自动化运行。

hermes agent核心组件分析 拆解hermes agent的各个模块

免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈

一、Gateway(网关守护进程)

如果把整个系统比作一座繁忙的机场,那么Gateway就是它的塔台和统一调度中心。它的核心职责,是将来自Telegram、Discord、Slack、CLI或API等不同“航线”的异构消息,全部归一化为标准的会话事件流。这里有个关键点:它本身不处理具体的业务逻辑,而是专注于确保每个请求都能被正确识别身份、校验权限,并精准路由到对应的Agent实例。

如何验证它的工作状态?可以遵循下面几个步骤:

1. 首先,检查gateway/目录下各个平台的适配器是否已启用,并确认config.yaml文件中的gateway.enabled配置项为true。

2. 接着,验证KGateway是否在监听预期的端口,例如运行命令netstat -tuln | grep :8000来查看默认的HTTP端口。

3. 然后,在Telegram平台发送一条/start指令,观察logs/gateway.log文件中是否出现了session_created这样的日志条目。

4. 最后,手动触发一次CLI入口测试:执行python run_agent.py --input “测试网关连通性”,确认输出内容中包含gateway_received标识。

二、Agent 主控循环(run_agent.py 与 Session Agent Loop)

这是整个Hermes Agent的“大脑”和指挥中枢。它可不是一个简单的消息转发器,而是负责驱动完整的Observe→Execute→Reflect→Crystallize→Reuse自进化循环。从上下文的组装、大模型调用的时机,到工具分发的决策和记忆回写的节奏,都由它一手掌控。

要深入理解它的运作,不妨试试以下验证方法:

1. 定位到hermes-agent/run_agent.py文件,重点查看AIAgent类的_main_loop方法是否被有效调用。

2. 在config.yaml中开启调试选项,设置debug.loop_trace: true。重启服务后,检查logs/agent_loop.log,看它是否详细记录了每一轮对话的action_typetool_call

3. 向Agent发送一条带有明确工具调用意图的指令,比如“列出当前目录文件”。这能验证model_tools.py是否成功触发了filesystem.ls工具的注册路径。

4. 观察一轮循环结束后,系统是否会自动启动background_review.py进入反思阶段。此时,日志中应该会出现reflect_start这样的标记。

三、工具编排系统(model_tools.py 与 toolsets.py)

这个系统堪称“意图翻译官”和“安全调度员”。它的核心任务,是实现工具的动态发现、语义匹配与安全分发。具体来说,model_tools.py负责运行时的工具选择策略,而toolsets.py则定义了每个工具的能力边界和元数据。两者协同工作,共同完成“模型意图→工具调用→结果解析”的精准映射。

如何检验这套系统的健壮性?可以从这几个方面入手:

1. 检查tools/registry.py中的register_tool()调用,确认它是否覆盖了所有已启用的工具。运行registry.list_all(),看返回的工具数量是否与tools/目录下的子模块数量一致。

2. 在指令中尝试使用模糊的工具描述,比如“查一下服务器磁盘”。这能验证model_tools.py中的fuzzy_match_score机制,是否能成功命中像tools/filesystem/df.py这样的具体工具。

3. 在执行任何高危命令前,务必确认approval.py中的check_dangerous_pattern()函数在生效。对于rm -rfchmod 777这类危险模式,它应该返回REJECTED_BY_POLICY

4. 尝试修改某个工具的description字段,例如为httpx.get的描述加上“支持重试”。然后验证在下一次模型调用时,该工具在候选列表中的排序位置是否因此得到了提升。

四、三层记忆架构(hermes_state.py 与 MEMORY.md / USER.md)

记忆,是智能体实现持续进化的基石。Hermes Agent的三层记忆架构,通过SQLite存储、FTS5全文检索加上冻结快照机制,巧妙地实现了跨会话的事实记忆、用户画像建模与程序化技能沉淀。其中,MEMORY.md与USER.md文件在每次新会话启动时,会作为只读快照被注入系统,这极大地保障了前缀缓存的效率。

要验证这套记忆系统是否运转良好,可以执行以下操作:

1. 检查hermes_state.py中SqliteMemoryStore的初始化过程,确认它成功连接到了db/hermes_memory.db数据库。

2. 执行一条记忆添加指令,例如memory_tool(action=“add”, target=“user”, content=“偏好使用 pnpm 而非 npm”)。完成后,确认db/hermes_memory.db数据库的user_memory表中确实新增了这条记录。

3. 开启一个新会话,并在对话中提及“我的项目”。验证context_compressor.py是否触发了FTS5查询,并将匹配到的MEMORY.md片段,成功注入到了prompt_builder.py的system_prompt中。

4. 查看skills/目录,确认是否存在以deploy-开头的Markdown文件。检查这些文件的frontmatter部分,其triggers字段是否包含了本次会话中使用过的自然语言短语。

五、技能引擎(skills/ 与 skill_commands.py)

技能引擎是整个系统“经验固化”能力的关键体现。它将成功执行的多步复杂任务,自动抽象为结构化的Markdown技能文件,并支持摘要、步骤、注意事项三级渐进式加载。而skill_commands.py则提供了一系列像/skill list/skill show deploy-nginx这样的斜杠命令,实现了对技能生命周期的人工干预和管理。

对于这个模块,我们可以这样进行功能验证:

1. 首先,确认skills/目录存在且具有可写权限。运行ls -l skills/ | head -5,验证目录下至少存在3个.md文件。

2. 执行/skill list命令,检查其输出是否规范地包含了name、version、triggers这三个关键字段,并且triggers字段非空。

3. 调用/skill show deploy-nextjs-app命令,确认返回的内容与skills/deploy-nextjs-app.md文件的渲染结果完全一致。

4. 手动编辑skills/test-skill.md文件,将其version修改为2.0并保存。随后执行/skill reload test-skill,验证logs/skill_loader.log日志中是否出现了loaded_version: 2.0的记录。

六、Honcho 用户建模模块(agent/context_compressor.py 与 agent/prompt_builder.py)

Honcho模块的独特之处在于,它执行的是“辩证式”的用户建模。这意味着它不仅记录用户明确的陈述(比如“我用macOS”),更致力于推理用户隐藏的偏好(例如,如果用户连续三次拒绝了Windows专用方案,系统就可能推断出该用户排斥整个Windows生态)。这种深度建模的结果,会直接影响上下文压缩的策略以及系统提示词装配时的权重分配。

要洞察这个“用户理解官”的工作,可以尝试以下步骤:

1. 检查agent/context_compressor.py中honcho_model.load()的调用,确认它成功加载了honcho_profile.db数据库。

2. 在连续三次对话中,均对涉及Docker的方案表示否定。之后,观察honcho_profile.db数据库中preference_scores表内,与docker_related相关的字段数值是否呈现下降趋势。

3. 发起一个新会话,输入“帮我选个部署方式”。验证prompt_builder.py是否将Honcho推理出的用户偏好(例如aws_over_azure)注入到了system_prompt的constraints区域。

4. 运行命令python -m agent.skill_commands --list-honcho-rules,确认其输出中包含了recent_rejectionsinferred_constraints这两类规则条目。

来源:https://www.php.cn/faq/2345434.html
免责声明: 游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

最新APP

宝宝过生日
宝宝过生日
应用辅助 04-07
台球世界
台球世界
体育竞技 04-07
解绳子
解绳子
休闲益智 04-07
骑兵冲突
骑兵冲突
棋牌策略 04-07
三国真龙传
三国真龙传
角色扮演 04-07

热门推荐

连亏五个季度后,光伏板块终于盈利了
科技数码
连亏五个季度后,光伏板块终于盈利了

三季报收官,光伏企业交出了近年难得的尚佳成绩 三季报发布完毕,光伏行业总算交出了一份近年来难得的、还算不错的成绩单。市场等这一刻,确实等了挺久。 根据Choice光伏设备板块收录的78家企业财报,整个板块三季度的净利润达到了7 58亿元。这个数字怎么看?不妨对比一下:就在二季度,板块的净亏损还高达4

热心网友
04.22
天龙三号首飞失利:与猎鹰9号对标之路,归零迭代成破局关键
科技数码
天龙三号首飞失利:与猎鹰9号对标之路,归零迭代成破局关键

北京天兵科技天龙三号火箭首飞失利解析 最近,北京天兵科技自主研发的天龙三号大型液体运载火箭,在酒泉卫星发射中心执行首次飞行任务时遭遇失利,这无疑是给国内商业航天关注者带来了一次震动。这款被寄予厚望的火箭,瞄准的是近地轨道20吨级的可回收运力,其设计初衷是通过低成本、高频次的发射模式,抢占一箭36星组

热心网友
04.22
开发者自建48台Mac mini集群,撑起Overcast播客转录
科技数码
开发者自建48台Mac mini集群,撑起Overcast播客转录

苹果芯片实战:48台Mac mini搭建本地AI集群,如何碘伏云端语音识别? 最近科技圈有个挺有意思的消息。知名播客应用Overcast的开发者Marco Arment,自己动手搭了个“大家伙”——一个由48台苹果Mac mini组成的服务器集群。关键是,这个集群没走寻常路,它完全绕开了云端AI服务

热心网友
04.22
领克10+与10全球首秀:高效补能搭配赛道王者,开启纯电高性能新篇
科技数码
领克10+与10全球首秀:高效补能搭配赛道王者,开启纯电高性能新篇

纯电赛道再进化:领克10系列如何重新定义“运动轿车”? 如果问,纯电时代最让人怀念传统燃油车的是什么?很多人会把票投给两件事:说走就走的补能,和随心所欲的操控。最近,领克用一场全球首秀给出了自己的答案。旗下全新的中大型运动轿车领克10,以及更极致的性能版本领克10+联袂登场。这不仅仅是两款新车,更像

热心网友
04.22
Apple Vision Pro新专利曝光:将实现按需定制与组件更换
科技数码
Apple Vision Pro新专利曝光:将实现按需定制与组件更换

苹果正酝酿一款“可自定义”的Vision Pro,核心框架支持模块化拼装 一则来自供应链和专利领域的消息,引起了科技圈的关注。4月8日,有外媒报道指出,苹果似乎并不满足于当前的一体化设计思路,其正在深入探索如何打造一款高度可自定义的Apple Vision Pro。未来的VR AR头显,用户或许能像

热心网友
04.22