手動プロンプトエンジニアリングの限界
LLM を業務で使い始めると、すぐ壁にぶつかります。「この指示の言い回しを変えたら精度が上がった」「タスクが少し変わったら一から書き直した」という経験は多いはずです。
この作業の問題点は三つあります。ドメイン知識がないと改善の方向が分からない。試行回数に比例して時間がかかる。そして、プロンプトが特定の担当者にしか分からない形で属人化する。それでいて、手を尽くしても「最適なプロンプト」に到達できている保証はありません。
**自動プロンプト最適化(APO: Automatic Prompt Optimization)**は、この試行錯誤をアルゴリズムに移譲しようとするアプローチです。
DSPy という発想転換
DSPy(Stanford NLP が開発した宣言的 LLM プログラミングフレームワーク)は、APO の代表的な実装です。GitHub スター数は 23,000 超、500 以上の OSS プロジェクトが依存しています。
従来のプロンプトエンジニアリングは「何をどう書くか」に集中します。DSPy の発想は逆で、「タスクの入出力仕様と評価指標を宣言し、プロンプトの文面はオプティマイザに任せる」というものです。
# DSPy の使い方の概念イメージ
class MathSolver(dspy.Module):
def forward(self, question):
return dspy.ChainOfThought("question -> answer")(question=question)
# タスクを宣言したら、あとはオプティマイザが最適なプロンプトを探索する
optimizer = dspy.MIPROv2(metric=exact_match)
optimized = optimizer.compile(MathSolver(), trainset=train_data)
「プロンプトを書く」のではなく「タスクを定義する」――この一歩が、オプティマイザを差し替え可能にする設計の土台です。MIPROv2、GEPA、BetterTogether など、複数のオプティマイザをほぼ同じインタフェースで使えます。
GEPA の仕組みと数値
GEPA(Genetic Pareto)は DSPy の最新オプティマイザで、論文「GEPA: Reflective Prompt Evolution Can Outperform Reinforcement Learning」が IRCL 2026 の oral 採択を受けました。
仕組みの核心は「進化アルゴリズム + 反省ループ」の組み合わせです。
- 複数のプロンプト候補を生成し、評価指標でスコアを付ける
- LLM 自身が失敗した事例を分析し、「なぜ間違えたか」を言語化する(reflection)
- その分析をもとにプロンプトを書き直す
- スコアが高い候補を次世代に引き継ぐ(遺伝的選択)
この反省ループが、強化学習(RL)ベースの手法と決定的に異なる点です。RL は報酬シグナルだけを手がかりにしますが、GEPA は「どこが間違いだったか」という言語的な分析を最適化に織り込みます。結果として、RL より少ない試行回数で収束できます。
実際の数値を見ると、その差は明確です。
| 手法 | MATH ベンチマーク精度 |
|---|---|
| 未最適化 | 67% |
| MIPROv2 | 約 80% |
| GRPO(RL ベース) | 約 73% |
| GEPA | 93% |
MIPROv2 比 +13 ポイント、GRPO 比 +20 ポイント。さらに GEPA は GRPO の 35 分の 1 のロールアウト数でこの結果を出しています。ファインチューニングなし、few-shot 例なし、モデルのアーキテクチャ変更なし――プロンプトの最適化だけで達成した数値です。
何が変わるか
GEPA の登場が示すのは「プロンプトの文面を人間が丁寧に磨く」という作業の優先度が下がり始めているという事実です。
では、エンジニアの役割は何になるか。変わるのは「どう書くか」から「何を評価するか」への重心移動です。オプティマイザに渡す評価指標(metric)の設計、訓練データの質の管理、そしてどのオプティマイザをどのタスクに使うかの判断――これらは自動化されない部分です。
ツールが賢くなると、ツールの使い手に求められる仕事の抽象度も上がります。DSPy と GEPA の組み合わせは、その移行を体験するための具体的な出発点になります。
まとめ
- **APO(自動プロンプト最適化)**は手動プロンプトエンジニアリングの試行錯誤をアルゴリズムに移す手法
- DSPy はタスクを「宣言」し、プロンプトの文面をオプティマイザに委ねるフレームワーク
- GEPA は進化アルゴリズムと LLM による反省ループを組み合わせ、MATH ベンチマークで 67% → 93% を達成(RL 比 35 分の 1 のロールアウト)
- プロンプトをどう書くかより、何を評価基準にするかの設計がエンジニアの主戦場になりつつある