Stanford 発の LLM プログラミングフレームワーク DSPy の 3.4.1 が、日本時間 10 月 13 日朝に公開されました。パッチ番号ながら、プロンプト最適化手法 GEPA の既定動作の変更や、RLM 内でのサブエージェント構築といった機能追加を含みます。DSPy で LLM パイプラインやエージェントを最適化している開発者は、アップグレード前に互換性の注意点を確認する必要があります。

主なポイント

  • GEPA は instruction_proposer= を指定しない場合、新しい InstructionProposer を使います。反省用 LM を dspy.Predict と JSONAdapter で呼び、履歴やツールの軌跡、画像を構造化して渡します。同じ seed でも 3.4.0 と結果が変わり得ます。
  • reflection_lm は dspy.LM などの BaseLM である必要があり、3.4.0 で動いた素の関数は使えなくなりました。依存に pyyaml が加わっています。
  • dspy.RLM の REPL 内のコードから Predict・ChainOfThought・ReActV2・入れ子の RLM を構築できます。サブエージェントはホスト側で動き、呼び出しは max_llm_calls の共有予算に数えられます。
  • 対応 Python は 3.10-3.15 になりました。ただし 3.15 では litellm と gepa が入らず、dspy.GEPA は使えません。
  • ReActV2 のシグネチャで history・tools を入力名に使えなくなるなど、破壊的な変更が複数あります。3.4.0 の import クラッシュも修正されました。

出典: Release 3.4.1 · stanfordnlp/dspy