1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

GEPA vs 強化学習・SFT:プロンプト最適化は本当に得か、効く条件を見極める

1
Posted at

プロンプト(指示文)を自動で書き直すだけで、LLM(大規模言語モデル)の精度を底上げする最適化器がある。「GEPA(Genetic-Pareto Reflective Prompt Evolution)」だ。GPUでの再学習も強化学習もいらず、API越しのモデルにそのまま効く。原論文は機械学習の主要会議ICLR 2026で口頭発表に採択された。

ただし本記事の主役は「安い」ではない。GEPAは万能ではなく、効く条件と効かない条件がはっきり分かれる。だから本記事は、GEPAを強化学習(RL)やファインチューニング(SFT)と並べ、本当に得か・どこで使うべきかという損得の線引きで読み解く。LLMをAPIで一度でも叩いたことがあるなら、その線引きはあなたのタスク選びに直結する。

なぜ、プロンプトのほうを書き換えるのか

LLMの精度を上げる王道は、長く2つだった。SFT(ファインチューニング)は正解付きデータで重みを学習し直す方法で、大量のラベルとGPUが要る。RL(強化学習)はタスクを試させ点数(報酬)で直す方法で、試行(ロールアウト)を何万回も回す。どちらも高くつき、重みを書き換える前提のため、API越しのGPT-5やClaudeには使いにくい。GEPAは重みをいじらず、入力するプロンプトのほうを育てる。これが自動プロンプト最適化だ。

点数ではなく「なぜ間違えたか」を読ませる

GEPAの一番の新しさは、改善のヒントに点数ではなく文章を使う点だ。RLや進化的な手法は、試行の良し悪しを最後に1つの数字(正解=1、不正解=0)に潰すため、「なぜ失敗したか」が捨てられる。GEPAは評価のとき、エラーや推論ログをそのままLLMに読ませ、どこで間違えたかを診断させる。

GEPA公式はこの文章のヒントを「勾配のテキスト版」と呼ぶ。勾配とは数値で「精度を上げるにはどちらへ直すか」を示す値だ。地図でいえば、勾配が「あと少し北へ」と数字で指すのに対し、GEPAは「さっき曲がり間違えた、次は手前で曲がれ」と文章で道を教える。名前のGenetic-Paretoは選び方を表し、得意の違う候補を世代交代させながら残すので、少ない試行でも穴の少ないプロンプトに育つ。

GEPAに何を渡すと、何が返るのか

コードは載せないが、入力と出力をたどれば全体像はつかめる。渡すのは3つ――(1)出発点のプロンプト、(2)出来ばえを採点する評価関数(正解例は3つほどでよい)、(3)書き直し役のLLM。問い合わせを振り分けるタスクで一巡を見てみる。

  • 出発点:「問い合わせ内容を分類して」だけの素朴な指示
  • 拾った失敗ログ:返金要求を「一般質問」と誤判定した実行トレース
  • 書き直し後:「返金・解約の語があれば優先カテゴリへ先に回す」と追記

この「失敗を読む→書き直す」一巡が振り返り(リフレクション)だ。GEPAはこれを収束まで自動で繰り返し、最適化済みのプロンプト1本を返す。導入は pip install gepa の一行で済む。

90分の1の正体――Databricksが測った損得

Databricksは情報抽出のベンチマーク(同社測定)で、オープンモデルgpt-oss-120bにGEPAをかけ、素のClaude Opus 4.1を上回りながら推論費用を約90分の1に抑えた。ファインチューニングと正面から比べると、性格の違いが表に出る。

手法 精度の伸び 推論費用
SFT(重みを再学習) +1.9pt 基準
GEPA(プロンプト最適化) +2.1pt 約2割安
GEPA+SFT(併用) +4.8pt

GEPAはSFTと同等以上の精度を、より安い推論費用で出した。二者択一でなく、併用で伸びが乗る。ただしDatabricksは弱点も率直に書く。GEPAは最適化中に他手法の約3倍のLLM呼び出しが要り、2〜3時間ほどかかる。

Nubankが本番で確かめたこと

ブラジルのデジタル銀行Nubankの事例が、本番での効き方を示す。1億人超の顧客を抱える同社は、サポートAIを採点する「LLM-as-judge」(回答の良し悪しをLLMに採点させる仕組み)のプロンプトをGEPAで最適化した。判定の正確さは68.88%から88.89%へ上がり、最適化版を本番に出したA/Bテストでは、AI対応の推奨度(NPS)が37ポイント改善したと、Nubankの研究者らは報告している。

いつ効き、いつ効かないのか

公式が挙げるGEPAの「輝く条件」は4つ。1回の試行が重い、学習データがほぼ無い(3例から動く)、重みを触れないAPIのモデルを使う、「なぜ直したか」を文章で残したい――このいずれかだ。試行が高くつくほど、100〜500回で済むGEPAが有利になる。原論文でもRL代表のGRPO(強化学習の代表手法)比で6タスク平均+6%(最大+20%)を、その35分の1ほどの試行で出している(効果はタスク次第)。

逆に公式自身が、安いロールアウトを10万回以上回せるなら勾配ベースのRL・SFTが依然有利だと明言する。試行を安く大量に回せるなら、点数だけでも数で押し切れるからだ。

GEPAが書き直すプロンプトは、各モデルの失敗の出方を読んで、そのモデルの癖に合わせて整えられる。裏を返せば、モデルを新しい世代に乗り換えると癖がずれ、プロンプトを作り直す(再最適化)必要が出てくる。重みを学習するSFTとは別種の保守コストだ。なおGEPAは、LLM処理を部品のように組むフレームワークDSPyからも呼べる(本体は独立したツールだ)。

自分のタスクは、どちら側か

GEPAは、実行のトレースを読ませてプロンプトを進化させる最適化器だ。RLやSFTを葬る銀の弾丸ではなく、試行が高い・データが少ない・重みを触れない・理由が欲しい条件で特に効く道具である。逆に、安い試行を大量に回せるなら従来手法が勝つ。だからGEPAを使うかは「新しいか」ではなく「自分のタスクがどちら側か」で決まる。あなたがいま動かしているLLMは、どちら側だろうか。

参考文献

  1. GEPA 公式リポジトリ(gepa-ai/gepa, GitHub)- 概要・API・活用事例の一次情報: https://github.com/gepa-ai/gepa
  2. GEPA 原論文「GEPA: Reflective Prompt Evolution Can Outperform Reinforcement Learning」(arXiv, ICLR 2026 Oral)- GRPO/MIPROv2比のベンチ結果: https://arxiv.org/abs/2507.19457
  3. GEPA 公式ドキュメント「Optimize Anything with LLMs」- 仕組み・適用条件・RLとの併用: https://gepa-ai.github.io/gepa/
  4. Databricks 技術ブログ「Building State-of-the-Art Enterprise Agents 90x Cheaper with Automated Prompt Optimization」- 情報抽出ベンチでのSFT比較・90倍安・GEPA+SFT: https://www.databricks.com/blog/building-state-art-enterprise-agents-90x-cheaper-automated-prompt-optimization
  5. Nubank 論文「Building Customer Support AI Agents at 100M-User Scale」(arXiv)- LLM-as-judge最適化・本番NPS改善: https://arxiv.org/abs/2606.08867
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?