# Hermes给自己配了自动炼丹器
**作者**: - 大洋
**日期**: 2026-04-28T08:57:09.000Z
**来源**: [https://x.com/AnchorNode/status/2049050275902828581](https://x.com/AnchorNode/status/2049050275902828581)
---

苟日新,日日新,又日新。
兄弟们发现了个比较新颖的skill,是Hermes创始人 @Teknium亲自编写的自进化增强版。
[https://github.com/NousResearch/hermes-agent-self-evolution]
hermes-agent-self-evolution的核心目标就是:
优化 Hermes。
README 里写得很直接:
它想优化这些东西:
- SKILL.md 技能文件
- tool descriptions 工具描述
- system prompt 系统提示词
- 甚至代码实现
所以你可以把它理解成先从技能提示词优化器开始,后面再往更底层扩。
按 README 写得很清楚
但当前真正落地的,主要是:
- Phase 1:优化 SKILL.md
还在计划里
- Tool description 优化
- System prompt 优化
- 代码实现优化
- 持续自动进化流水线
所以你现在别把它想太大,现阶段最实用的玩法,就是优化某个 skill。
它的工作流
整个流程很像“自动调参”:
1)读取当前 skill
比如:
- github-code-review
- arxiv
- 其他 Hermes skill
2)构建评测集
它支持三种来源:
- synthetic:模型自动造题
- sessiondb:从真实会话里挖题
- golden:人工整理好的高质量题库
3)跑优化器
核心是:
- DSPy + GEPA
- 如果 GEPA 不可用,会回退 MIPROv2
4)对候选版本打分
看它在 holdout 数据上的表现有没有提升。
5)过约束
必须过这些门槛:
- 测试通过
- 大小限制
- 不能偏题
- 不能破坏缓存兼容
- 最终走 PR,人审
6)输出结果
不是直接乱改主仓。
生成改进版本,准备 PR。
它最值钱的点不是会改 prompt。
而是它把优化流程做成了工程化闭环:
目标 → 数据集 → 变异 → 评测 → 约束 → PR
这比拍脑袋改 prompt强很多。
当前仓库不大,文件总数大概 29 个,说明还比较早期。
关键文件有:
- evolution/skills/evolve_skill.py
- evolution/core/dataset_builder.py
- evolution/core/external_importers.py
- evolution/core/constraints.py
- evolution/core/fitness.py
- evolution/skills/skill_module.py
最近一次提交是:
- 2026-03-29
- feat: add Hermes session importer + fix short skill name matching
GitHub 当前大概数据:
- Stars: 2395
- Forks: 258
- Open Issues: 34
- Language: Python
安装方法
README 给的最小安装就这些:
```
git clone https://github.com/NousResearch/hermes-agent-self-evolution.git
cd hermes-agent-self-evolution
pip install -e ".[dev]"
```
项目要求:Python >= 3.10
主要依赖有:dspy、openai、pyyaml、click、rich
最关键的一步你要告诉它:
Hermes 主仓
```
export HERMES_AGENT_REPO=~/.hermes/hermes-agent
```
也就是说,这个仓库是外挂。
它会去读你的 Hermes 仓库内容,然后对 Hermes 的 skill 做进化。
最简单的第一次,我建议你就跑 synthetic。
这几个参数的意思
--skill(你要优化哪个 skill)
比如:github-code-review、arxiv
前提是这个 skill 在 Hermes 仓库里能找到。
--iterations(优化迭代次数)
比如:
- 5 次 = 快速试水
- 10 次 = 比较正常
- 更高 = 更贵、更慢
README 说一轮大概$2–10
因为它本质上是 API 调用,不是本地训模型。
--eval-source(评测数据从哪来)
三种评测模式
1. synthetic
--eval-source synthetic
意思是让模型读你的 skill,自动生成测试题和评分标准。
适合谁
- 第一次试
- 没有历史数据
- 想快速验证流程
优点是最简单;开箱即用
缺点是数据不一定贴近真实使用
1. sessiondb
--eval-source sessiondb
意思是从真实历史会话里挖和这个 skill 相关的任务。
它支持导入这些来源:
- Claude Code
- GitHub Copilot
- Hermes
比如:
python -m evolution.skills.evolve_skill
--skill github-code-review
--iterations 10
--eval-source sessiondb
适合谁
- 已经在用 Claude / Copilot / Hermes
- 手里有真实任务记录
- 想让优化更贴近实际
优点更真实、更有实战价值
缺点是对历史数据质量更敏感
1. golden
如果你有自己整理的高质量题库,可以直接喂给它。
README 示例里有这种写法:
python -m evolution.skills.evolve_skill
--skill arxiv
--eval-source golden
--dataset datasets/skills/arxiv/
适合谁
- 想做严肃评测
- 想稳定复现
- 想减少 synthetic 偏差
优点最可控;最适合长期优化
缺点是需要自己准备数据
我看了 evolve_skill.py,主流程基本是:
第一步:先去 Hermes 仓库里定位 skill 文件。
第二步:把 SKILL.md 读进来。
第三步:构建数据集,根据你选的:
- synthetic
- sessiondb
- golden
生成 train / val / holdout
第四步:先检查原 skill 有没有约束问题。
第五步:跑 GEPA,拿 skill 文本当作可优化对象去演化。
第六步:验证 evolved 版本,新版本也要过约束。
第七步:holdout 对比
- baseline 分数
- evolved 分数
- 提升多少
所以它不是随便改写一下。
而是做到有基线、有验证、有保留集。
我也看了 dataset_builder.py。
它会让模型根据 skill 文本生成:
- task_input
- expected_behavior
- difficulty
- category
然后自动切成:
- train
- val
- holdout
所以 synthetic 本质上就是:
先读 skill,再自动生成一套测试题。
这个仓库里有个 external_importers.py。
它专门负责从外部历史里抽数据。
支持:
- Claude Code:~/.claude/history.jsonl
- Copilot:~/.copilot/session-state/...
- Hermes:~/.hermes/sessions/...
而且它做了几件很关键的事:
- 敏感信息过滤
- 过滤 API key / token / password
- 判断消息和 skill 是否相关
- 清洗字段格式
这说明作者不是在做 demo。
是在认真处理真实历史能不能安全拿来做评测集,这个问题。
它的 guardrails 在 README 明确说,每个进化版本都必须过:
1. 测试全绿
2. 大小限制skill ≤ 15KB
tool description ≤ 500 chars
3. 缓存兼容
4. 语义不漂移
5. PR 审核
这意味着它不是自动乱提交。
因为 prompt 优化类项目最怕的就是短期分数上去了,长期行为变歪了。
这个skill至少意识到了这个问题。
我建议你第一次这样玩
路线 1:最省事
先拿一个常用 skill 跑 synthetic。
python -m evolution.skills.evolve_skill
--skill github-code-review
--iterations 5
--eval-source synthetic
目的不是一步到位。
而是先确认:
- 环境能跑
- skill 能找到
- 数据集能生成
- 优化流程能走通
路线 2:更像实战
如果你有真实使用记录,就上 sessiondb。
python -m evolution.skills.evolve_skill
--skill github-code-review
--iterations 5
--eval-source sessiondb
这样出来的优化更接近真实场景。
路线 3:认真做长期优化
自己维护 golden dataset。
适合那种:
- 高频 skill
- 业务核心 skill
- 想持续迭代的 skill
我建议优先挑这类:
适合
- 输出结构固定
- 任务边界清晰
- 好坏容易判断
比如:
- code review
- repo analysis
- 文档总结
- issue triage
- 学术检索类 skill
不太适合一开始就试
- 太宽泛
- 太靠主观审美
- 成功标准不清晰
比如:
- 泛创作型
- 纯风格型
- 高开放式聊天型
因为这种更难客观打分。
你要注意的坑
1. 别把计划功能当已实现
README 和 PLAN 里讲了很多大图景。
但现在真正成熟的主线还是 skill evolution
1. synthetic 不等于真实提升
synthetic 分数涨了,不一定真实使用也涨。
所以它更适合:
- 试流程
- 初步筛版本
1. 数据集质量决定上限,尤其 sessiondb / golden。
垃圾数据喂进去,只会炼出更会迎合题目的 skill。
1. 成本会累积
虽然不用 GPU,但会消耗 API 钱。
README 给的量级是:单次约 $2–10
迭代高了成本会涨。
我认为它不是训练模型,它是在训练你的 agent 配方。
你可以理解成:
Hermes 的技能自动炼丹器;不是训练模型权重,而是训练:
- 技能文本
- 说明文字
- 提示结构
- 最终行为表现
优点
1. 方向很对
很多 agent 项目都在喊自我改进,但这个仓库至少把流程拆成了可执行步骤。
2. 从 skill 开始,很务实
先优化 SKILL.md,风险低,收益直观,验证也容易。
1. 真实会话导入很强
能从 Claude / Copilot / Hermes 挖数据,这比纯 synthetic 更接近实际使用。
1. 工程意识比很多 prompt 项目强
有 dataset、holdout、约束、PR gate,不是单纯 demo。
局限
1. 还很早期
仓库很小,当前真正完成的核心还是 Phase 1。
2. 评测质量决定上限
如果 dataset 差,优化出来的 skill 也可能是对题优化,不一定真更强。
3. LLM-as-judge 仍然有噪音
打分机制也会有主观性问题。
4. 更像研究型工具,不是大众即插即用
普通用户直接上手门槛不低。
它抓的是一个很核心的问题
Agent 怎么不是靠作者手改,而是靠系统化反馈自己变强。
这条路如果走通,对 Hermes 这种技能驱动型 agent 很有想象力。
如果你只是想 10 分钟体验
直接抄这套:
git clone https://github.com/NousResearch/hermes-agent-self-evolution.git
cd hermes-agent-self-evolution
pip install -e ".[dev]"
export HERMES_AGENT_REPO=~/.hermes/hermes-agent
python -m evolution.skills.evolve_skill
--skill github-code-review
--iterations 5
--eval-source synthetic
你体验的核心就是:
选一个 skill → 自动生成评测 → 自动优化 → 看前后分数变化
这就是它最小闭环。
如果你关心的是 Agent 能不能像产品一样,靠反馈持续变强。
那这个仓库值得研究一下。
如果你只是想找个现成超级 Agent, 那它不是干这个的。
## 相关链接
- [- 大洋](https://x.com/AnchorNode)
- [@AnchorNode](https://x.com/AnchorNode)
- [2.7K](https://x.com/AnchorNode/status/2049050275902828581/analytics)
- [@Teknium](https://x.com/@Teknium)
- [https://github.com/NousResearch/hermes-agent-self-evolution](https://github.com/NousResearch/hermes-agent-self-evolution)
- [https://github.com/NousResearch/hermes-agent-self-evolution.git](https://github.com/NousResearch/hermes-agent-self-evolution.git)
- [Upgrade to Premium](https://x.com/i/premium_sign_up)
- [4:57 PM · Apr 28, 2026](https://x.com/AnchorNode/status/2049050275902828581)
- [2,784 Views](https://x.com/AnchorNode/status/2049050275902828581/analytics)
- [View quotes](https://x.com/AnchorNode/status/2049050275902828581/quotes)
---
*导出时间: 2026/4/28 20:02:12*