AI・機械学習
上級
ProTeGi(失敗事例駆動プロンプト最適化)(プロテジ シッパイ ジレイ クドウ プロンプト サイテキカ)
Pryzant et al.(2023)が提案した自動プロンプト最適化手法。LLM が失敗したケースをテキスト形式で批評し、その批評を「テキスト勾配」として使ってプロンプトを反復改善する。
0 回閲覧
0 いいね
2026/6/7 更新
関連タグ
ProTeGi
テキスト勾配
プロンプト最適化
失敗事例分析
ビームサーチ
ProTeGi(失敗事例駆動プロンプト最適化)
概要
ProTeGi(PROmpt opTimization with tExt Gradients)は Microsoft Research の Reid Pryzant らが 2023 年に発表した自動プロンプト最適化手法だ(論文: "Automatic Prompt Optimization with 'Gradient Descent' and Beam Search")。人間がコードをデバッグするように、LLM が間違えたケース(エラーミニバッチ)を分析し、プロンプトを自動修正する仕組みだ。
仕組み
1. エラーミニバッチ収集
現在のプロンプトを訓練セットに適用し、間違えたサンプルを小バッチ(例: 4〜8 件)として収集する。
2. テキスト勾配生成(批評)
LLM に失敗例を提示し、なぜ失敗したか・どう改善するかをフィードバックとして生成させる。
3. 候補プロンプト生成
テキスト勾配をもとに、改善候補プロンプトを複数(例: 8 件)生成させる。
4. ビームサーチで選別
ビーム幅 B を設定し、各ステップで上位 B 件の候補を保持して反復を続ける。ビームサーチにより局所最適に陥りにくい探索を実現する。
性能比較(論文実験)
| 手法 | 感情分析 | 自然言語推論 | 大文字化 |
|---|---|---|---|
| 手動プロンプト | 91.5% | 64.1% | 87.9% |
| APE | 91.0% | 71.9% | 89.2% |
| ProTeGi | 93.0% | 75.9% | 99.7% |
APE を明確に上回り、特に自然言語推論(NLI)タスクでの改善が顕著だった。
ビームサーチの設定
| パラメータ | 推奨値 | 効果 |
|---|---|---|
| ビーム幅 B | 4〜8 | 広いほど安定、コスト増 |
| エラーバッチサイズ | 4〜8 件 | 大きいほど情報豊富、コスト増 |
| 反復回数 | 10〜20 | タスク複雑度による |
| 候補数/反復 | B × 2〜4 | ビームより多く生成して刈り込む |
OPRO・APE・TextGrad との位置付け
- APE: 1〜2 回の生成→選別。シンプルだが深い改善は難しい
- OPRO: 軌跡全体を in-context に与えて次候補を提案。反復的だが失敗分析なし
- ProTeGi: 失敗例の批評→テキスト勾配→ビームサーチ。最も「デバッグ的」なアプローチ
- TextGrad: 複合パイプライン全体を最適化。ProTeGi より汎用だがコスト大
実装のポイント
- エラーサンプルのサンプリング戦略が重要。ランダムサンプリングよりも「高頻度エラーパターン」を優先するクラスタリングが有効
- テキスト勾配の品質を保つため、批評 LLM は評価 LLM と同等以上の能力が必要
- 公開実装: GitHub
microsoft/LMOps、stanford-oval/ProTeGi
まとめ
ProTeGi は失敗事例分析とビームサーチを組み合わせた実践的な自動プロンプト最適化手法だ。エラーの「なぜ」を LLM に言語化させることで、単純な候補生成・選別より深い改善が可能になる。2025 年現在、DSPy・TextGrad の中間的な複雑度として研究者・実務者の両方に採用されている。