【でぃーえすぱい】

DSPy とは?

公開:
💡 プロンプトエンジニアリングを「手作業」から「コンパイラの仕事」に変えるフレームワーク
📌 このページのポイント
DSPy:プロンプト自動最適化 手書きプロンプト 修正 → 試す → また修正 ⟳ 繰り返し… DSPy 宣言的モジュール定義 + 最適化エンジン 学習データ Few-shotサンプル 自動選択・評価 最良プロンプト 自動生成・チューニング済み ✗ 非効率・属人的 コンパイラのように自動最適化 従来のアプローチ DSPyアプローチ
DSPy:プロンプトをコードで宣言し、自動最適化するフレームワーク
ひよこ ひよこ
プロンプトエンジニアリングって、毎回手で文章を書き直すの大変そうだよね?
ペンギン先生 ペンギン先生
そうだね。DSPyはそのプロンプトを「手書き」じゃなく「コード」として定義して、自動で最適なプロンプトに仕上げてくれるフレームワークだよ。
ひよこ ひよこ
コードで書くってどういうことなの?
ペンギン先生 ペンギン先生
たとえば「質問を受け取って答えを返すモジュール」を宣言的に書くんだ。そうするとDSPyが学習データを使って、一番精度が出るプロンプトを自動で探してくれるんだよ。
ひよこ ひよこ
じゃあ自分でプロンプトを考えなくていいの?
ペンギン先生 ペンギン先生
大枠の構造は定義するけど、細かい文言はDSPyが最適化するんだ。Few-shotのサンプル選びも自動でやってくれるよ。LangChainがパイプラインをつなぐことに集中しているのに対して、DSPyは「最適化」が一番の強みだね。
ひよこ ひよこ
コンパイラみたいな感じなんだね!
ペンギン先生 ペンギン先生
まさにそのとおりだよ。プログラマーがソースコードを書いてコンパイラが最適化するように、DSPyはLLMタスクを自動チューニングする。プロンプトエンジニアリングをエンジニアリングらしくした感覚だね。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「DSPy」って出てきたら「プロンプトを自動最適化するAIフレームワーク」と思えればだいたいOK!
📖 おまけ:英語の意味
「Declarative Self-improving Python」 = 宣言的自己改善Python
💬 Stanfordの研究チームが2023年に発表した、LLMをプログラム的に扱うフレームワークだよ。
← 用語集にもどる