【系列:手搓自主 AI Agent:Hermes 架构原理剖析 · 第 12 篇(完结篇)】
自我进化闭环从后台审视到强化学习系列终篇导读一个 agent 不仅能执行任务还能在后台悄悄审视自己的对话、沉淀技能、把轨迹压缩成训练数据、最终训练出下一代自己。这不是科幻而是 Hermes 架构的最后一环。本文拆解 s20-s27 共 8 章用 → 记 → 抽象 → 训练 → 更好地用完整闭环一次讲透。先问一个问题你的 agent 会长大吗你写过一个能用的 agent。它能调工具、能查资料、能按流程完成任务。但三个月后它还是老样子。同样的错误犯三遍同样的坑踩三次你手动改 prompt 改到怀疑人生。LangChain 和 AutoGen 能帮你搭流程但不会帮你进化。这是 Hermes 从头到尾坚持的一件事。前 11 篇我们完成了从环境搭建到工具调用的全部基础。今天收官聊最后一个问题agent 如何改写自己闭环总览五个节点一个循环先看全景。Hermes 的自我进化不是某个单一功能而是一条完整的流水线用 → 记 → 抽象 → 训练 → 更好地用用agent 正常干活产生对话轨迹记后台审视对话把值得记的写进 MEMORY.md 或 USER.md抽象把可复用的做法提炼成 skill 文件训练把整段轨迹压缩成训练数据喂给 RL 管线更好地用新一代模型部署下次对话自动生效前三个节点发生在运行时agent 边干活边学习后两个节点发生在离线专门的数据管线。这就是 s20-s27 的全部内容。下面逐个拆。s20后台审视——agent 的自我复盘最核心的机制叫Background Review后台审视。它解决一个问题agent 怎么知道这段对话值得记答案是不用它知道系统替它盯。看真实代码双计数器触发self._turns_since_memory0# 用户消息计数self._iters_since_skill0# 工具迭代计数self._memory_nudge_interval10# 触发阈值self._skill_nudge_interval10每轮结束检查一次。用户消息累计 10 轮或者工具迭代累计 10 次就触发_spawn_background_review()。用户手动调 memory/skill 工具时计数器重置防止重复审视。触发后后台会 fork 一个审查 agent复制当前 messages 快照、max_iterations8、nudge_interval0、daemon 线程、完全静默。它不打扰主对话干完活就退。关键是审查 agent 自己不能触发新的审查——nudge_interval0加独立计数器双重防护防止递归爆炸。两个审视 prompt防编造审查 agent 用两个 prompt 审视对话_MEMORY_REVIEW_PROMPT用户透露了关于自己的事吗对我行为有期望吗_SKILL_REVIEW_PROMPT是否用了需要试错才掌握的非平凡方法可复用吗两个 prompt 的收尾都有一句关键的话“If nothing is worth saving, just say ‘Nothing to save.’ and stop.”这句话是防呆设计。没有它审查 agent 会为了交差强行编造记忆——这是所有自进化系统最容易翻车的地方。s21技能创作闭环——从手动到自动有了后台审视下一步是沉淀。最笨的实现是什么人手动改 SKILL.md 文件。没有量化评估改坏了也不知道全靠手感。Hermes 的做法是闭环后台审视发现可复用做法 → 创建/更新技能文件 → 下次遇到同类任务自动加载。技能文件长这样frontmattername description 正文Steps 注意事项。比如 GitHub Actions Python CI 的完整配置流程第一次试错学会后沉淀成 skill下次直接复用。这就是抽象节点从具体对话中提炼出可复用的方法论。s22Hook 系统——不改核心代码的扩展方式自进化系统有个矛盾既要改行为又不能把核心代码改坏。Hermes 的解法是三类 hooksGateway hooks消息生命周期钩子消息到达、回复发送前等时机触发BOOT.md启动时执行的自检清单Startup Checklist——“检查 API key 存在”验证环境等Plugin hooks注册表分发时触发比如 audit_log 记录每条工具调用这套设计的好处是注入逻辑不改核心。你想加审计、加日志、加自检写个 hook 挂上去就行核心代码一行不动。s23Trajectory RL——对话变成训练数据运行时学习讲完了接下来是离线进化。核心思路一句话对话轨迹 → 训练数据 → RL 改进模型。关键组件四个batch_runner批量跑对话产出大量轨迹trajectory_compressor压缩轨迹——头尾不压缩中间摘要和 s05 的压缩逻辑同理reward 函数给轨迹打分rl_cli命令行入口跑 RL 训练为什么头尾不压缩、中间摘要因为对话的开头和结尾往往包含最关键的信息任务目标、最终结论中间的过程性内容可以摘要化。这和人类记笔记的逻辑一模一样。从运行时学习到离线进化到这里你已经看到了两种学习运行时学习s20-s22agent 边干活边记改的是 MEMORY.md 和 skill 文件离线进化s23轨迹压缩成数据训练下一代模型前者是换衣服后者是换身体。但两者共享同一个优化循环打分 → 改写 → 择优。接下来进入终篇的高潮s25-s27 的自进化总览。s25四层进化目标——风险递进Hermes 的自进化有四个层次的目标每一层风险和收益都不同Phase对象风险引擎状态1Skill 文件最低改坏只影响一个 skillDSPyGEPA✅ 已实现2Tool descriptions低DSPyGEPA计划中3System prompt sections高影响所有对话DSPyGEPA计划中4Tool implementation code最高Darwinian Evolver计划中从改一个 skill 到改核心代码风险逐级递增。Hermes 的策略是从风险最低的开始跑通闭环后再往上走。7 步管线自进化的完整流程这是 s25 文档的核心图示也是整个自进化系统的骨架1. SELECT TARGET → 2. BUILD EVAL DATASET → 3. EVALUATE BASELINE → 4. CHECK CONSTRAINTS → 5. OPTIMIZE (repeat N) → 6. VALIDATE EVOLVED → 7. DEPLOY步骤 2-4 是度量体系s26步骤 5-7 是优化与部署s27。每一步都有明确输入输出不靠运气。s26评估体系——没有度量就没有进化进化没有方向就是随机游走。Hermes 的度量体系三个组件LLM-as-judge适应度函数FitnessScore用 LLM 打分。关键设计rubric 描述而非精确匹配。“好的定义是符合 rubric 描述”不是输出等于某个字符串——因为 agent 的任务本质是开放的。SyntheticDatasetBuilder合成评估数据集分 train/val/holdout 三份。防止过拟合到训练数据。ConstraintValidator约束门控。版本号、文件大小、测试通过率——不满足约束直接打回不让劣质进化结果上线。s27优化与部署——进化落地最后一步。优化循环四步走收集反馈 → 针对性改写 → 打分 → 择优注意针对性三个字。GEPA 的思路是先读 trace 理解为什么失败再做针对性变异而不是盲目随机改。这比纯遗传算法聪明得多——理解原因再动手。evolve_skill()完整对接 s25 的 7 步管线。部署流程三步备份 → 写入 → 下次对话自动生效。永远留后路。一个重要的架构决策自进化系统是独立仓库NousResearch/hermes-agent-self-evolution。为什么因为它是开发时工具不是运行时功能。它读代码和数据、输出改进文件、通过 git PR 提交——但绝不在用户对话中执行。这条边界划得很清楚进化是离线的服务是在线的。避坑清单四个最容易翻车的点审视编造没有 “Nothing to save” 兜底审查 agent 会强行编造记忆。这是所有自进化系统的头号陷阱。计数器重置用户手动调 memory/skill 工具后必须重置计数器否则会重复审视同一段对话。评估标准用精确匹配做评估是自欺欺人。agent 的任务是开放的必须用 rubric 描述。约束门控没有约束验证的进化是放虎归山。版本号、大小、测试通过率一个都不能少。系列 12 篇完整回顾至此手搓自主 AI AgentHermes 架构原理剖析系列全部完结。12 篇完整清单篇主题对应章节1生产级 AI Agent 的五层架构s002百行 Agent Loop让模型从会说话变成会干活s013自注册工具系统给 Agent 装上可插拔的双手s024SQLite 会话存储与提示词组装s03s045上下文压缩与错误恢复s05s066记忆与技能s07s087安全审批与子 Agent 委派s09s108配置系统优先级链s119Gateway 与平台适配器s12s1310执行环境抽象与定时任务s14s1511高级能力扩展MCP、浏览器、语音视觉s16-s1912自我进化闭环本篇s20-s27从能跑起来到能干活到能记住到能调用工具再到能进化自己——你跟着这条路径手搓了一个完整的自主 AI Agent。后台审视、技能沉淀、Hook 扩展、轨迹压缩、RL 训练、四层进化、7 步管线、评估体系、约束门控……这些不是孤立的知识点而是一个闭环。用 → 记 → 抽象 → 训练 → 更好地用循环往复agent 才能从工具变成伙伴。最后留一个问题给你如果让你设计第六层进化目标比改 Tool implementation code 风险更高你会选什么欢迎在评论区聊聊你的思路。参考文献Hermes Agent 教学仓库agents/s20_background_review.py至agents/s27_optimization_and_deploy.py本文代码素材均真实可运行Hermes Agent 教学仓库docs/zh/s20-background-review.md至docs/zh/s27-optimization-and-deploy.md后台审视、7 步管线、评估体系详解源码获取如需本系列全部源码请在以下链接克隆https://gitcode.com/ganxin7932508/learn-hermes-agent.git

相关新闻

Vue Toast Notification高级技巧:掌握position、duration等8个核心参数配置

Vue Toast Notification高级技巧:掌握position、duration等8个核心参数配置

Vue Toast Notification高级技巧:掌握position、duration等8个核心参数配置 【免费下载链接】vue-toast-notification Yet another toast notification plugin for Vue.js :tulip: 项目地址: https://gitcode.com/gh_mirrors/vu/vue-toast-notification Vue …

2026/8/15 17:22:12 阅读更多 →
Miku-LuaProfiler 跨平台部署保姆级教程:5 分钟跑通 Unity Lua 性能分析

Miku-LuaProfiler 跨平台部署保姆级教程:5 分钟跑通 Unity Lua 性能分析

Miku-LuaProfiler 跨平台部署保姆级教程:5 分钟跑通 Unity Lua 性能分析 【免费下载链接】Miku-LuaProfiler 项目地址: https://gitcode.com/gh_mirrors/mi/Miku-LuaProfiler Miku-LuaProfiler 是一款面向 Unity 的 Lua 性能分析工具,用 Hook 技…

2026/8/15 17:22:12 阅读更多 →
跨平台下载macOS完整指南:gibMacOS教你从苹果官方服务器一键获取系统文件

跨平台下载macOS完整指南:gibMacOS教你从苹果官方服务器一键获取系统文件

跨平台下载macOS完整指南:gibMacOS教你从苹果官方服务器一键获取系统文件 【免费下载链接】gibMacOS Py2/py3 script that can download macOS components direct from Apple 项目地址: https://gitcode.com/gh_mirrors/gi/gibMacOS 想给虚拟机装个macOS做测…

2026/8/15 17:22:12 阅读更多 →

最新新闻

Linux内存排查:当top显示内存不足却找不到占用进程时如何解决

Linux内存排查:当top显示内存不足却找不到占用进程时如何解决

1. 问题引入:当TOP告诉你一个“谎言”在Linux系统运维和性能调优的日常里,top命令是我们最信赖的“仪表盘”。它能实时告诉我们CPU在忙什么,内存被谁吃了。但有时候,这个仪表盘会显示一个令人困惑的读数:系统的内存使用…

2026/8/16 20:08:16 阅读更多 →
Photoshop 2020新手入门:从安装到核心工具与图层蒙版详解

Photoshop 2020新手入门:从安装到核心工具与图层蒙版详解

1. 项目概述:从零开始的PS学习与安装指南 如果你刚接触设计,或者想给自己的照片、社交媒体内容加点料,Photoshop(简称PS)这个名字你一定不陌生。它几乎是图像处理领域的代名词,功能强大到让人又爱又怕。爱的…

2026/8/16 20:08:16 阅读更多 →
Anaconda安装后Path环境变量配置全解析与排错指南

Anaconda安装后Path环境变量配置全解析与排错指南

1. 为什么你的Anaconda总是“装上了又好像没装上”?如果你在搜索引擎里敲下“Anaconda安装”这几个字,大概率是因为你刚经历了一场小小的挫败:明明看着教程一步步点完了安装程序,可一打开命令行,输入conda或者python&a…

2026/8/16 20:08:16 阅读更多 →
逻辑回归中最大似然到底是怎么转换为交叉熵损失的(带你彻底搞懂逻辑回归的损失函数)

逻辑回归中最大似然到底是怎么转换为交叉熵损失的(带你彻底搞懂逻辑回归的损失函数)

逻辑回归中最大似然估计的理解从 lny1−ywxbln\frac{y}{1-y}wxb ln1−yy​wxb到最大化似然函数(其实就是最小化损失)的过程理解和简单推导. 很多课件在这里跳得太快,导致很多人不知道逻辑回归是怎么从最大似然估计推导到了经典的二元交叉熵损失函数的。其实中间缺了…

2026/8/16 20:08:16 阅读更多 →
GPT大模型在数学建模中的实战应用:从思路启发到代码生成

GPT大模型在数学建模中的实战应用:从思路启发到代码生成

1. 从“算盘”到“副驾驶”:数学建模的范式革新 十几年前,我参加数学建模竞赛时,工具是MATLAB、SPSS和一堆纸质文献,解题过程更像是在“推演”和“试错”。如今,当GPT这类大语言模型闯入这个领域,它带来的远…

2026/8/16 20:08:16 阅读更多 →
那些打不开的 .brd 文件,都欠一个免费开源查看器

那些打不开的 .brd 文件,都欠一个免费开源查看器

那些打不开的 .brd 文件,都欠一个免费开源查看器 【免费下载链接】OpenBoardView View .brd files 项目地址: https://gitcode.com/gh_mirrors/op/OpenBoardView 周六晚上,维修店的老周收到客户发来的一份 .brd 文件,附言只有一句&…

2026/8/16 20:07:16 阅读更多 →

日新闻

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

如果你是一名开发者,最近可能已经感受到了AI大模型正在从“玩具”变成“生产力工具”的强烈信号。从代码补全到智能Agent,从本地部署到云端API,我们正处在一个技术栈快速重构的节点。然而,面对层出不穷的模型、框架和工具&#xf…

2026/8/16 0:00:54 阅读更多 →
工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/16 0:00:55 阅读更多 →
【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

2026/8/16 0:03:55 阅读更多 →

周新闻

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

如果你是一名开发者,最近可能已经感受到了AI大模型正在从“玩具”变成“生产力工具”的强烈信号。从代码补全到智能Agent,从本地部署到云端API,我们正处在一个技术栈快速重构的节点。然而,面对层出不穷的模型、框架和工具&#xf…

2026/8/16 0:00:54 阅读更多 →
工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/16 0:00:55 阅读更多 →
【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

2026/8/16 0:03:55 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/16 6:00:23 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/16 6:00:24 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/16 6:00:27 阅读更多 →