DSPy:不是不用 Prompt,而是把 LLM 流程變成可編譯、可評估、可優化的程式
DSPy 是源自 Stanford NLP、採 MIT 授權的 Python 框架,以 Signature、Module、Metric 與 Optimizer 將 LLM 應用從手工提示詞提升為可測量的程式。它能自動搜尋 instructions、few-shot demos,並在模型支援時微調 weights;但前提是先有代表性資料、可靠 metric、獨立 validation/test set 與足夠優化預算。
DSPy / Declarative LM Programming / Prompt Optimization / Evaluation
DSPy 的核心不是「完全不寫提示詞」,而是把提示詞從主要程式介面降為可編譯的實作細節。開發者先用 Python 宣告輸入輸出、推理模組、資料流程與品質指標,再由 optimizer 搜尋 instructions、few-shot examples,必要時甚至微調可訓練模型的 weights。
Threads 說法的查核結果
| 說法 | 查核 | 精確解讀 |
|---|---|---|
| 「寫 AI 應用可以不寫提示詞」 | 方向正確,但過度簡化 | 開發者主要寫 Signature、Module 與 Metric;DSPy 的 adapter/optimizer 仍會產生、編譯及執行提示詞。 |
| Stanford NLP 團隊維護 | 大致成立 | 官方表示 DSPy 源自 Stanford NLP,現在已發展成更廣泛的研究與開源社群;GitHub 位於 stanfordnlp 組織。 |
| MIT 授權 | 成立 | GitHub API 與 repository license 均顯示 MIT。 |
| GitHub 3.7 萬多顆星 | 成立 | 2026-09-11 查詢約 37.9K;星數是時間敏感的關注度指標,不等於生產成熟度。 |
| 提示詞細節交給 optimizer | 成立,但需要資料與 metric | Optimizer 可搜尋 instructions、demos 或兩者;品質由訓練分布、評分函數與預算決定。 |
| 連模型權重都能優化 | 有條件成立 | BootstrapFinetune 可微調 weights,但模型或供應商必須提供 fine-tuning 能力;官方建議通常先做 prompt-only optimization。 |