gepa-ai/gepa

Optimize prompts, code, and more with AI-powered Reflective Optimization

解决的问题

GEPA(遗传-帕累托)是一种旨在针对特定评估指标,优化依赖文本参数(如提示词、代码、代理架构和配置)的任何系统的框架。它克服了传统优化器仅能判断候选方案是否失败的局限性;GEPA 通过分析执行轨迹,识别失败的原因,从而推动有针对性的改进。

工作原理

GEPA 结合了基于 LLM 的反思与帕累托高效的进化搜索:

  1. 选择:从帕累托前沿中挑选在不同任务子集上表现最佳的候选方案。
  2. 执行:在小批量数据上运行候选方案,并捕获完整的执行轨迹(错误信息、日志、性能分析数据)。
  3. 反思:LLM 分析这些轨迹,诊断失败的根本原因。
  4. 变异:基于诊断结果,LLM 生成候选方案的改进版本。
  5. 接纳:将改进后的候选方案加入池中,并更新帕累托前沿。

它还利用了“可操作的附加信息”(ASI)——一种类似于梯度的文本形式诊断反馈,并能融合两个帕累托最优候选方案的优势。

适用人群

  • AI 工程师:需要优化复杂提示词或代理工作流,而无需手动猜测修改方案的人。
  • 系统研究人员:希望优化非提示词文本产物(如调度策略或代码)的人。
  • DSPy 用户:希望通过 dspy.GEPA 将自动化优化集成到 AI 流水线中的人。
  • 代理开发者:希望为其代理提供通过 GEPA 代理技能实现自我优化能力的人。

核心亮点

  • 高效性:声称比强化学习(如 GRPO)快 35 倍,且显著低于使用顶级模型(如 Claude Opus)的成本。
  • 多功能性:可优化提示词、代理架构、RAG 配置,甚至 SVG 图形。
  • 广泛集成:已集成至 MLflow、Pydantic AI、Comet ML Opik 以及 Google 的 Gemini Enterprise Agent Platform 等主流工具。
  • 可扩展性:提供 GEPAAdapter 接口,可接入任意系统,并内置 LangChain、MCP 和 RAG 的适配器。

相关

  • 项目
  • 项目
  • 项目
  • 项目