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

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

热心网友
72
转载
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。

相关攻略

基于效用的智能体相比目标型智能体增加了价值评估组件
业界动态
基于效用的智能体相比目标型智能体增加了价值评估组件

在人工智能智能体的设计中,基于目标的模型是基础范式,而基于效用的智能体则代表了一种更高级、更智能的决策架构。其核心差异在于引入了一个关键组件:效用函数。这使得智能体不仅追求目标达成,更懂得如何优化达成过程。 通俗地讲,这类智能体不仅明确“要做什么”(目标),更擅长评估“怎么做最好”。它通过内置的效用

热心网友
05.15
Hermes Agent核心组件分析 拆解Hermes Agent的各个模块
AI
Hermes Agent核心组件分析 拆解Hermes Agent的各个模块

Hermes Agent:一个具备闭环学习与自进化能力的AI智能体深度解析 Hermes Agent 是具备闭环学习、三层记忆与技能自生成能力的自进化AI智能体。其通过Observe→Execute→Reflect→Crystallize→Reuse循环实现长期学习,依托短期 长期 程序化三层记忆架

热心网友
04.22

最新APP

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

热门推荐

银河麒麟系统SSH公钥登录配置与安全远程连接指南
系统平台
银河麒麟系统SSH公钥登录配置与安全远程连接指南

在麒麟操作系统上配置SSH公钥登录,不仅能免去每次输入密码的繁琐,更能显著增强远程连接的安全性。整个过程并不复杂,核心步骤围绕密钥生成、公钥部署和服务端配置展开。本文将详细介绍几种主流方法,涵盖从自动化部署到手动配置,助你轻松完成麒麟系统SSH密钥登录设置。 一、使用ssh-keygen与ssh-c

热心网友
05.15
银河麒麟系统登录循环故障解决方法与桌面修复指南
系统平台
银河麒麟系统登录循环故障解决方法与桌面修复指南

登录循环闪退应先删 Xauthority和 ICEauthority文件、修复 tmp权限为1777、重置ukui mate dconf配置、清理磁盘空间、重装lightdm并重新配置。 在银河麒麟操作系统中输入密码后,屏幕一闪又回到登录界面,这种“登录循环”问题确实令人困扰。这通常并非硬件故障,而

热心网友
05.15
GUSD稳定币详解:项目背景、核心用途与投资风险全解析
web3.0
GUSD稳定币详解:项目背景、核心用途与投资风险全解析

GUSD是一种与美元1:1锚定的合规稳定币,由Gemini交易所发行并受纽约州金融服务部监管。其核心价值在于为加密世界提供透明、受监管的美元等价物,主要应用于交易、支付和价值存储。投资者需关注其中心化托管风险、监管政策变化及智能合约潜在漏洞,理解其作为传统金融与加密市场桥梁的定位与局限。

热心网友
05.15
Win11如何设置默认音频输出设备与调整音量
系统平台
Win11如何设置默认音频输出设备与调整音量

在Windows 11系统中,确保系统音频稳定输出到指定设备(如已连接的耳机或已配对的蓝牙音箱),核心在于正确配置默认音频输出设备。您可以通过任务栏快速设置、系统设置应用、控制面板声音对话框、音量混合器下拉菜单或Win+Ctrl+V快捷键这五种主流方案,实现即时切换或永久性配置,彻底解决声音输出错乱

热心网友
05.15
宏胜集团高管变动与业务外包调整深度解析
AI
宏胜集团高管变动与业务外包调整深度解析

宏胜集团近期发生重要人事与业务调整。总裁办主任叶雅琼、销售总经理吴汀燕、法务部部长周卓盈及生产管理科科长吴潘潘等多位高管已离职,该消息已获接近集团人士证实。与此同时,集团启动了部分非生产业务的外包运作,显示出其正在优化内部结构与运营模式。这一系列变动可能意味着公司正处于战略调整期,旨在聚焦核心业务并

热心网友
05.15