Hermes Agent实现AI任务闭环需五步:一、启用轨迹记录;二、触发技能自动生成;三、激活技能自我改进;四、强制知识写入Memory;五、启用跨会话历史检索与上下文注入。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您在使用Hermes Agent执行AI任务时发现结果无法沉淀、经验无法复用、行为无法优化,则可能是由于闭环学习机制未被激活或配置缺失。以下是实现AI任务闭环的具体路径:
一、启用经验采集与轨迹记录
闭环起点是完整捕获任务执行全过程,包括用户指令、系统思考链(Chain-of-Thought)、工具调用序列、中间状态及最终输出。Hermes Agent默认启用轨迹记录功能,但需确保会话未被强制截断且日志级别设为INFO及以上。
1、确认环境变量中未设置HERMES_DISABLE_TRAJECTORY=true;
2、检查~/.hermes/config.yaml中logging.level值是否为"INFO"或更低;
3、在CLI中执行/debug trajectory on命令开启实时轨迹调试模式;
4、完成一次含至少三个工具调用的复合任务(例如“分析服务器日志并生成修复建议”),观察~/.hermes/trajectories/目录下是否生成以时间戳命名的JSONL文件。
二、触发技能自动生成
当同一类任务被成功执行3至5次后,Nudge Engine将主动识别操作模式重复性,并发起技能抽象请求。该过程依赖于轨迹相似度比对与动作图谱压缩算法,不依赖人工标注。
1、连续三次以不同输入参数执行相同语义任务(如“生成Python单元测试”);
2、每次任务完成后,在CLI中输入/feedback good明确标记结果质量;
3、等待约90秒,系统将弹出提示:检测到高频模式:'生成单元测试',是否创建新技能?[y/N];
4、输入y确认后,系统自动生成skills/generate_unit_test.yaml,包含参数绑定、工具依赖与失败回退逻辑。
三、激活技能自我改进循环
已生成技能并非静态资产,其内部维护运行统计看板(execution count、success rate、latency p95),并在每次调用后依据反馈信号触发局部重写。改进仅限于技能定义层,不修改原始模型权重。
1、调用刚创建的技能,例如执行/use generate_unit_test --file main.py;
2、若结果存在格式偏差,立即输入/feedback fix:输出应包含pytest.mark.parametrize注释;
3、系统解析修正意图后,在skills/generate_unit_test.yaml的refinement_log字段追加本次优化记录;
4、第三次调用该技能时,Agent将自动注入新约束条件并验证语法合规性。
四、强制知识持久化至Memory系统
技能执行过程中产生的高价值事实(如用户偏好、环境约束、工具异常响应)需显式写入MEMORY.md或USER.md,否则将在下次会话初始化时丢失。Hermes采用双写机制保障原子性。
1、在任务执行中插入自然语言指令:“记住:用户要求所有SQL语句必须带EXPLAIN ANALYZE前缀”;
2、Agent识别记住:前缀后,启动MemoryStore的add_entry方法;
3、检查~/.hermes/memories/MEMORY.md末尾是否新增一行,格式为SQL规范§所有SQL语句必须带EXPLAIN ANALYZE前缀§2026-05-14;
4、若字符超限,系统自动触发LRU压缩,移除最早一条非锁定条目(锁定条目含!lock标记)。
五、启用跨会话历史检索与上下文注入
闭环完整性依赖于旧经验可被新任务主动召回。Hermes内置FTS5全文索引引擎,对全部轨迹与记忆条目建立倒排索引,支持模糊语义匹配而非关键词硬匹配。
1、在新会话中输入:“上次我让生成过Dockerfile,再给我一个适配ARM64的版本”;
2、Agent自动调用search_history工具,向SQLite FTS5表提交查询;
3、匹配到历史轨迹ID traj_20260512_083422后,提取其中Dockerfile内容及构建参数;
4、将提取结果作为上下文注入当前Prompt,附加指令:“基于上述Dockerfile,将FROM镜像替换为arm64v8/ubuntu:22.04,并添加qemu-user-static安装步骤”。


















