Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
DSPyとLangfuseで行うプロンプト最適化
Search
Yuto Toya
November 19, 2025
0
130
DSPyとLangfuseで行うプロンプト最適化
LangfuseNight#4の登壇資料です
Yuto Toya
November 19, 2025
Tweet
Share
More Decks by Yuto Toya
See All by Yuto Toya
LangfuseとClickHouse で進化するLLMOps
toyayuto
3
2.1k
Langfuse ✖️ Clickhouse MCPサーバを活用した分析
toyayuto
0
85
Langfuseを活用して、評価用プロンプトを育てていく
toyayuto
0
260
Langfuseを活用したLLM評価について
toyayuto
1
140
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
121
20k
Fireside Chat
paigeccino
41
3.7k
A Modern Web Designer's Workflow
chriscoyier
698
190k
Raft: Consensus for Rubyists
vanstee
141
7.2k
[SF Ruby Conf 2025] Rails X
palkan
0
490
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
54k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Bash Introduction
62gerente
615
210k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Typedesign – Prime Four
hannesfritz
42
2.9k
Facilitating Awesome Meetings
lara
57
6.7k
Transcript
ガオ株式会社 遠⽮侑⾳ Langfuse Night #4 2025/11/19 DSPy + Langfuseによる プロンプト最適化
長大化・複雑化 「精度を出すために ルールを追加し続け、 プロンプトが 秘伝のタレ化」 性能デグレ 「プロンプト変更したら、 別のユースケースで 性能が落ちた...」 モデル追従
「GPT-5が更新されて、 またプロンプト調整が 必要になった」 バージョン管理 「この変更、誰がいつやった? Gitで管理する?」 プロンプト改善でのよくある悩み
ビジネスの要求 (本音) 「コストを抑えたい」 Gemini ProやClaude Opusは⾼い。 Gemini FlashやClaude Haikuのような安価なモデル で本番運⽤したい。
現実の壁 「安価なモデルは精度が出ない」 そのままでは⾼性能モデルに劣る。 → 結果、不⾜分を「⼈間の職⼈技」によるプロンプト エンジニアリングで必死に補っている。 根本的な課題 : 「コスト vs 精度」のジレンマ
従来の手動アプローチ ⼈間がプロンプトを⼿で書く 評価‧テストが主観的で時間がかかる 再現性が低く、職⼈が必要 DSPy + Langfuse データ駆動で⾃動最適化 客観的で全て記録‧⽐較可能 安価なモデルでも⾼精度が狙える
解決策:2つのアプローチ
DSPy 「プロンプトをプログラミングする」 最適化フレームワーク 役割: 最適化の「実⾏エンジン」 Signature: LLMの⼊出⼒を定義 Module: 処理の組み合わせ (ReAct等)
Optimizer: プロンプトを⾃動最適化 (GEPA等) 2つの主要プロダクト Langfuse LLMアプリ向け 観測‧管理プラットフォーム Tracing: 全実⾏のコスト‧レイテンシを追跡 Prompt Management: プロンプトのバージョン管理 Dataset Run: 実験結果の記録‧⽐較 役割: 最適化の「観測‧管理基盤」
人間 (開発者) 1. 評価関数と「データセット」を定義 Langfuse Dataset 2. データセットをLangfuseに登録‧管理 DSPy (Optimizer)
3. Langfuseのデータセットを使い、プロンプトを⾃動最適化 (GEPA実⾏) Langfuse (Tracing / Dataset Run) 4. 全実⾏トレースと実験結果 (スコア) を⾃動記録‧⽐較 Langfuse Prompt Management 「自動プロンプトエンジニアリング」のサイクル 5. プロンプト作成をして、ラベルを⾃動更新
タスク ユーザーの要求から適切なRPGキャラクターを⽣成する 制約 ステータス合計は100 職業ごとのルール(例:戦⼠は魔⼒0) 名前も職業に合ったものを⽣成 (内部制約)特定のツールを必ず使⽤ デモ:RPGキャラ生成の最適化 利用モデル 回答モデル:Gemini
2.5 Flash lite
要求 ⽣成結果 問題点 HP最低値 時々 10 未満になる ルール違反 (HP≥15) バランス調整
極端なステータス配分(例:速度5) 実⽤性が低い 職業特性 特性要件を満たさないケースあり 盗賊らしさ不⾜ (速度<30) 名前の⼀貫性 時々職業イメージと不⼀致 (例:名前が「トリックスター 等」) 名前の質が低い Before: 手書きプロンプト (スコア: 89.7%) 評価用LLM:Gemini 2.5 Flash
平均点だけでなく、最低点が⼤幅に改善‧システムの安定性が向上 After: DSPy自動最適化 (最適化後 スコア: 97.9%) 最適化手法: GEPA Reflection (反省・内省)
LLM:Gemini 2.5 Pro スコア結果
何が嬉しい? ベースラインと最適化後のスコアが⼀⽬瞭然 全実験の⽐較がワンクリックで可能 Itemレベルで「どのサンプルが失敗したか」 を即座に特定 Langfuse: 最適化の「結果」を比較 Dataset Runでの⽐較画像
何が嬉しい? 「なぜスコアが低いのか」がわかる 「ルール遵守」は完璧だが「職業特性」 が弱い、など 次に何を改善すべきかが明確になる Langfuse: 最適化の「中身」を分析
DSPy (最適化側) 最適化が完了したら、Langfuse SDKを呼び出し プロンプトを保存 Langfuse (管理側) ⾃動的プロンプトの作成とラベルの更新を管理します。 Langfuse: 最適化と管理の「自動連携」
最適化後プロンプト
まとめ プロンプトは「書く」から「最適化する」ものへ DSPyが「最適化エンジン」 Langfuseが「観測‧管理基盤 」 2つで「⾃動最適化サイクル」が実現できる