首页 > 其他资讯 > Hermes Agent核心组件分析 拆解Hermes Agent的各个模块

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

时间:26-04-21

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这两类规则条目。


这就是Hermes Agent核心组件分析 拆解Hermes Agent的各个模块的全部内容了,希望以上内容对小伙伴们有所帮助,更多详情可以关注我们的菜鸟游戏和软件相关专区,更多攻略和教程等你发现!

热搜     |     排行     |     热点     |     话题     |     标签

手机版 | 电脑版 | 客户端

湘ICP备2022003375号-1

本站所有软件,来自于互联网或网友上传,版权属原著所有,如有需要请购买正版。如有侵权,敬请来信联系我们,cn486com@outlook.com 我们立刻删除。