gepa-ai/gepa
Optimize prompts, code, and more with AI-powered Reflective Optimization
解决的问题
GEPA(遗传-帕累托)是一种旨在针对特定评估指标,优化依赖文本参数(如提示词、代码、代理架构和配置)的任何系统的框架。它克服了传统优化器仅能判断候选方案是否失败的局限性;GEPA 通过分析执行轨迹,识别失败的原因,从而推动有针对性的改进。
工作原理
GEPA 结合了基于 LLM 的反思与帕累托高效的进化搜索:
- 选择:从帕累托前沿中挑选在不同任务子集上表现最佳的候选方案。
- 执行:在小批量数据上运行候选方案,并捕获完整的执行轨迹(错误信息、日志、性能分析数据)。
- 反思:LLM 分析这些轨迹,诊断失败的根本原因。
- 变异:基于诊断结果,LLM 生成候选方案的改进版本。
- 接纳:将改进后的候选方案加入池中,并更新帕累托前沿。
它还利用了“可操作的附加信息”(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 的适配器。
相关
- 项目
- 项目
- 项目
- 项目