この記事の途中に、以下の記事の引用を含んでいます。
Achieving 20%+ improvement in structured extraction using DSPy and GEPA
進化する構造化抽出:その舞台裏にある最先端の最適化技術とは?
近年、多くのAI開発者やデータエンジニアの間で、「構造化情報抽出(structured extraction)」の話題が熱を帯びています。
特に大規模言語モデル(LLM)を活用し、テキストから企業名や日付、金額などの情報を正確に抽出するタスクには、圧倒的なニーズがあります。
今回紹介する記事は、その現状に大きなインパクトを与える技術進歩、「DSPy」と「GEPAオプティマイザー」を用いた構造化抽出タスクにおいて“20%以上”の精度向上を達成した事例を、豊富な実験結果とともに報告しています。
「DSPy+GEPA+BAML」で一気に20%以上アップ!? 記事が主張する“劇的効果”
記事の筆者は以下のような主張を展開しています。
“As evidenced by the below experiment using automatic prompt optimization, we’re seeing 20+ percentage point improvements in exact match accuracy over vanilla LLM structured output calls with little engineering effort required. …the benefit of this approach is not only improved performance, but that optimization allows us to transfer a capability to cheaper models while retaining an acceptable accuracy, improving the cost profile of the application.”
引用元: Achieving 20%+ improvement in structured extraction using DSPy and GEPA
つまり、自動プロンプト最適化(GEPAとDSPy利用)を行うことで、手作業のプロンプトに基づいた従来の出力と比べて、”ピンポイント一致(exact match)精度が20%以上向上”したというのです。
しかも、その工程はほとんどエンジニアリングの手間をかけずに実現でき、さらに“Tuned Prompt”をより安価なモデルへ転用しても十分な精度を保てるとのこと。
これは“コストの劇的圧縮”と“性能向上”の両立を意味しています。
なぜこれほど効果が出る?DSPyとGEPAの技術的意義とその背景
1. DSPy:AIプログラムを“宣言的”にモジュール化
DSPyは、AIタスクに対するプロンプトや入出力仕様を「宣言的(declarative)」に記述できる新しいフレームワークです。
従来、多くの人は自然言語で逐一プロンプトを書き、それを直接APIに投げていました。
しかしDSPyは、下記のようなPythonコード(PydanticモデルやSignature)で抽出項目やそのルールを明確に定義し、再利用性・保守性を飛躍的に高めています。
python
class ExtractedEntities(BaseModel):
Company: Optional[List[str]] = ...
Date: Optional[List[str]] = ...
# 以下省略
この“宣言的モジュール化”がなぜ重要かというと、大規模な抽出タスクの現場では、
– 入出力スキーマの膨張
– 追加仕様の頻繁な変化
– 項目間の境界の曖昧さ
といった課題が必ず生じます。
DSPyを用いることで、プロンプトによる制御の強力な型保証と、モジュールごとの最適化・差し替えが可能となり、プロンプトデザインやシステム運用の負荷を大きく削減できます。
2. GEPA: 最先端の自動プロンプト最適化アルゴリズム
GEPA(Genetic-Pareto Optimization)は、「自動プロンプト改良」というコンセプトを現実レベルで推進する最適化アルゴリズムです。
その仕組みはきわめて特徴的で、通常のパラメータ「微調整」ではなく、
- サンプルデータを使って基礎的なプロンプトでモデルを走らせる
- エラーや不正確な出力箇所に対し、LLM自身が“振り返り”と“フィードバック”を生成
- それを受け、より洗練されたプロンプト候補を自動生成
- 多様な成功例を「Pareto最適(異なる項目で高得点を取るものを同時保持)」に蓄積
- 最も優秀なプロンプトへと進化させる
という「遺伝的最適化」と「マルチ基準最適化」を組み合わせたアプローチです。
この結果、微妙な分類境界や言い回しの工夫など人間が見逃しやすい部分まで自動的に最適化され、「暗黙知」的なノウハウも吸い上げてアウトプット精度の著しい向上に寄与しているのです。
“GEPA (Genetic-Pareto optimization) works by: Running your program on training examples, Analyzing failures and generating targeted feedback, Using an LLM to propose improved instructions based on that feedback, Maintaining a Pareto frontier of candidates that excel on different subsets… The optimized prompts GEPA discovers tend to be more specific about entity boundaries, better at disambiguating categories, and include implicit examples from the training failures.”
引用元: Achieving 20%+ improvement in structured extraction using DSPy and GEPA
3. BAML:高度なスキーマ指定の適用性
本記事では付加的に「BAML」という出力アダプタも利用していますが、単純なスキーマの場合は劇的な差は出ませんでした。
ただし複雑なネストやマルチスキーマの現場では、BAMLの真価を発揮するであろう、と筆者は補足しています。
躍進する抽出精度、その実態と限界:私の批評的考察
実験結果の数字が示すもの
記事のコアとなる実験は、金融ニュース記事から「企業名・日付・金額・数量・製品名」などを抽出し、手作りプロンプト(OpenAI Baseline)・DSPy標準・BAML・GEPA最適化の順に段階的な精度向上を追って比較したものです。
その目を引くポイントは――
- OpenAI Baseline(手作りプロンプト):
- ピンポイント一致(Exact Match):32.07%
-
フィールド平均(Mean Field):84.34%
-
DSPy + GEPA(最適化済み):
- ピンポイント一致:53.84%(DSPy単体より+14pt、手作りより+22pt!)
- フィールド平均:91.64%
まさに“低コストで大幅精度アップ”が実証された形です。
最適化は「プロンプト職人」の仕事を自動化する
構造化抽出の難しさは、異なるカテゴリー間での曖昧な表現や、同一語の誤分類など“人間のカン”では制御困難な挙動が頻発する点です。
現場では「ちょうどいいプロンプト」を探すため、
- 指示語の追加・修正
- 具体例の挿入
- カテゴリごとの説明の精緻化
- 例外条件の列挙
といった手動の改善サイクルが繰り返されます。
GEPAはこれらをLLM自身のフィードバック駆動で自動化し、時間・コストのみならず“ノウハウの形式知化”も推進できる点が極めて画期的だと感じました。
限界と応用シナリオへの現実的示唆
しかし本記事で重要なのは、「DSPyやBAML“単体”では万能ではない」「単純スキーマではBAMLの恩恵は限定的」「人力プロンプトが上手く噛み合う場合もある」と率直に分析していることです。
また、対象タスクが実務現場で使われる本格的な“表現ノイズ”・“例外値”・“非定常入力”などにどれだけ強いかは、追加検証が必要でしょう。
さらに、最適化された指示文でも、
- モデルそのものが有する知識や「偏り」
- テキストコーパス自体の質
- 対象言語やドメイン特有の仕様
などによっては、完璧な解決策とはなり得ません。
ただ、「最適化が進んだプロンプトなら、より安価な“小型モデル”に転用できる」という主張は、今後AIサービス運用コストを劇的に下げる武器となる可能性に満ちています。
AI活用現場へのインパクトと、読者が知っておくべき“本質的示唆”
この記事が示している本質的示唆は――
- プロンプトの自動最適化は、もう「机上の空論」ではなく、“即効性のある技術トレンド”に成長しつつある
- 「人間による経験則」から「LLMによる自己改善」の時代に急速にシフトしている
- 新しいフレームワーク(DSPy)と最適化ツール(GEPA)は、現場で再現性ある成果をもたらす
- 少しの投資で、大きな抽出精度向上・コストダウンが狙える“ローリスク・ハイリターンな戦略”である
実際、「以前の常識がどんどん塗り替えられる」転換点であるといえるでしょう。
構造化抽出や情報整理が求められる分野にいる方は、
「今後は『どのモデルを使うか』だけでなく、『いかに効率よく、かつ自動的にプロンプトやスキーマを最適化できるか』」が成果を左右する時代になる――
その波をぜひ先取りしてほしいと思います。

コメント