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 的適配器。

相關

  • 專案
  • 專案
  • 專案
  • 專案