【AI】Hermes的GEPA算法

GEPA (Genetic-Pareto Prompt Evolution,遗传-帕累托提示进化)是 HERMES Agent 自进化能力的核心算法,来自 ICLR 2026 Oral 论文。它并非 HERMES 原创,但 HERMES 是首个将其大规模工程化应用于 Agent Skill 进化的开源框架。


一、背景:为什么不用 RL?

当前学术界的主流技能进化路线是 RL(强化学习) ,如 SkillRL、SAGE 等框架直接在梯度空间更新 Skill 参数。但 GEPA 走了一条完全相反的路------刻意放弃强化学习

RL 的问题

  • 需要 GPU 训练,成本高
  • 数值奖励信号粒度太粗(一个 0.6 的分数无法告诉你哪一步错了)
  • 需要大量 rollout 才能收敛

GEPA 的洞见 :即使不做任何梯度更新 ,仅靠大模型的反思能力 + 进化算法,不仅能超过 RL,而且样本效率更高。


二、核心原理:三大支柱

GEPA 算法建立在三个核心机制之上:

1. Reflective Mutation(反思式变异)

不是随机变异。LLM 会读取历史执行轨迹(execution traces),反思为什么做对了/做错了,找出 Prompt 中哪些词需要修改。

例如:"这一步没有检查边界条件"、"应该先读配置再写入缓存"------这种自然语言反馈直接作为下一轮变异的指导信号。

2. Pareto Frontier Selection(帕累托前沿选择)

生成一批变异候选 Skill 后,不保留全局平均分最高的 。只要某个候选在任意一个评估样本上表现最好,就会被保留。

目的 :确保技能探索的多样性鲁棒性,防止所有 Skill 都收敛到同一个局部最优。

3. Natural Language Feedback as Mutation Signal(自然语言反馈驱动)

传统 RL 用数值奖励指导参数更新(0.6 分 vs 0.8 分),但 GEPA 用具体的自然语言反馈作为变异信号。

LLM 能理解"先检查边界条件"这种指令,并据此生成下一轮变体------这比解释一个浮点数有效得多。


三、完整工作流程

GEPA 在 HERMES 中的运行流程如下:

复制代码
1. 读取现有 SKILL 文件
        ↓
2. 从历史会话采样(或合成)构建评估集
        ↓
3. GEPA 介入:分析执行轨迹 → 反思建议 → 生成候选变体
        ↓
4. 运行评估(候选 vs 基线对比)
        ↓
5. 帕累托算法选择优胜者
        ↓
6. 约束门控检查(测试通过、大小合规、语义保持)
        ↓
7. 生成 PR(Pull Request),等待人类审核合并
        ↓
8. 进化后的 Skill 生效

关键设计

  • 离线批量运行:不是实时嵌入对话路径,而是定期后台执行
  • 零 GPU:所有操作通过 API 调用完成,变异、评估、选择都是文本操作
  • 成本极低 :单次优化运行约 $2-10
  • 人类在环:进化结果不直接覆盖原文件,必须经 PR Review 才能合并

四、如何使用

GEPA 在 HERMES 中通过独立子项目 hermes-agent-self-evolution 提供:

安装

bash 复制代码
git clone https://github.com/NousResearch/hermes-agent-self-evolution.git
cd hermes-agent-self-evolution
pip install -e ".[dev]"

配置

bash 复制代码
export HERMES_AGENT_REPO=~/.hermes/hermes-agent  # 指向你的 HERMES 仓库

进化一个 Skill

bash 复制代码
# 方式一:使用合成评估数据
python -m evolution.skills.evolve_skill \
    --skill github-code-review \
    --iterations 10 \
    --eval-source synthetic

# 方式二:使用真实会话历史(Claude Code / Copilot / HERMES 的 sessiondb)
python -m evolution.skills.evolve_skill \
    --skill github-code-review \
    --iterations 10 \
    --eval-source sessiondb

五阶段进化路线图

阶段 目标 引擎 状态
Phase 1 Skill 文件 (SKILL.md) DSPy + GEPA ✅ 已实现
Phase 2 工具描述 (Tool descriptions) DSPy + GEPA 🔲 计划中
Phase 3 系统提示片段 (System prompt sections) DSPy + GEPA 🔲 计划中
Phase 4 工具实现代码 (Tool implementation code) Darwinian Evolver 🔲 计划中
Phase 5 持续改进流水线 (Continuous improvement loop) 自动化流水线 🔲 计划中

五、竞品对比

维度 GEPA (HERMES) RL-based Skill Evolution (SkillRL/SAGE) DSPy MIPROv2
是否需要梯度/GPU 不需要,纯 API 调用 ✅ 需要 ❌ 不需要
单次优化成本 $2-10 数百至数千美元(GPU 训练) 中等
反馈信号粒度 自然语言(具体、可解释) 数值奖励(0.6/0.8,粗粒度) 数值 + 少样本
样本效率 (600-7000 rollout 即可) 低(需数万 rollout) 中等
可解释性 极高(每次变异都有文字说明) 低(黑盒权重更新) 中等
多模块联合优化 ✅ 支持跨模块遗传交叉 ❌ 通常单模块 ✅ 支持
适用任务类型 单轮/少轮、有明确输入输出模式 复杂多步交互 单模块优化
人类可控性 极高(PR Review 强制介入) 低(自动更新权重) 中等

六、应用场景

1. HERMES Agent Skill 进化(主场景)

HERMES 运行时自动创建 Skill → GEPA 定期离线优化 → 生成 PR 等待审核。这是 HERMES "越用越聪明"的核心机制。

2. 通用 Prompt 优化(跨框架)

GEPA 已被适配到多个框架:

  • Pydantic AI:优化 Agent Instructions、MCP Tool 描述、BaseModel 字段描述
  • OpenAI Agents SDK:优化 system prompt
  • MLflow:通过 Prompt Registry 统一管理 + GEPA 优化

3. 生产级评估器构建

Latitude AI 使用 GEPA 将生产环境中的标注失败模式自动转化为可靠的评估器(rule-based 或 LLM-as-judge)。

4. AI 代码安全监控

优化分类器以检测 AI 生成代码中的后门,基于怀疑分数进行可信监控。


七、关键限制

根据 GEPA 论文和工程实践:

  • 依赖可诊断的失败模式:如果执行轨迹不揭示"为什么失败",反思机制无法生成针对性改进
  • 不适合复杂多 Agent 协调:如果系统瓶颈是架构级协调而非 Prompt 质量,需要 Hierarchical Reflective 优化而非 GEPA
  • 演示样本选择非其强项:若需优化 few-shot 示例,Bayesian 优化更合适

总结

GEPA 的本质是"用进化算法做 Prompt 工程":让 LLM 读取自己的失败轨迹,用自然语言反思原因,据此生成候选变体,再用帕累托选择保留多样性最优解。它不碰梯度、不耗 GPU,仅靠 API 调用和文本变异,就能在 $2-10 的成本下实现比 RL 更高的样本效率和可解释性。

相关推荐
星越华夏4 小时前
计算机视觉:YOLOv12安装环境
人工智能·yolo·计算机视觉
Yolanda946 小时前
【人工智能】《从零搭建AI问答助手项目(九):Prompt优化》
人工智能·prompt
wj3055853786 小时前
课程 9:模型测试记录与 Prompt 策略
linux·人工智能·python·comfyui
小和尚同志6 小时前
深入使用 skill-creator:结合真实生产级实践
人工智能·aigc
DevSecOps选型指南6 小时前
安全419专访悬镜安全 | 穿越周期在 AI 浪潮中定义数字供应链安全新范式
人工智能
沪漂阿龙6 小时前
面试题详解:GraphRAG 全面解析——知识图谱增强 RAG、Local Search、Global Search、社区摘要、工程落地与评估指标一次讲透
人工智能·知识图谱
WangN26 小时前
Unitree RL Lab 学习笔记【通识】
人工智能·机器学习
吃好睡好便好6 小时前
在Matlab中绘制横直方图
开发语言·学习·算法·matlab
haina20196 小时前
海纳AI亮相《科创中国》,解码招聘“智”变之路
人工智能·ai面试·ai招聘
阿星AI工作室6 小时前
刘润年中大课笔记:一句话说清AI落地之战的本质
大数据·人工智能·创业创新·商业