DSPy教程2026:别再手写提示词,改为编程生成
同一个提示词改了40遍追准确率。DSPy用优化器替你搜索提示词和权重。
💡 你将学到
同一个提示词改了40遍追准确率。DSPy用优化器替你搜索提示词和权重。
DSPy 教程 2026:别再手写提示词了,用编程生成它们吧(36k 星标)
DSPy:将提示词调优转化为搜索问题的框架
斯坦福 NLP 的 DSPy(截至 2026 年 8 月拥有 36,509 个 GitHub 星标)基于一个简单的观察:手动调整提示词缓慢、不可重复,并且无法扩展到多步骤流水线。DSPy 完全抽象掉了提示词。你声明一个模块,提供输入输出示例,然后让优化器——而不是你——来找出提示词文本和任何小样本演示。
核心思想:一个示例
与其编写冗长的助手提示词,不如这样写:
import dspy
class ExtractDate(dspy.Signature):
text: str = dspy.InputField()
date: str = dspy.OutputField(desc="ISO format date")
extractor = dspy.ChainOfThought(ExtractDate)
然后你用几个带标签的示例编译它。DSPy 的优化器(MIPROv2 或 BootstrapFewShot)会尝试不同的指令措辞,并选择那些能提高验证集指标的小样本演示。
团队为何转向 DSPy
- 指标驱动优化。 你只需定义一次准确率;优化器并不关心提示词有多漂亮。
- 多步骤流水线保持连贯。 一个包含检索+生成+验证的 RAG 流水线就是一个 DSPy 程序,每个阶段都会一起优化——这解决了生成器调优但检索器漂移的问题。
- 实验可重现。 编译后的程序,包括找到的提示词,是一个可以提交到 git 的文件。
没人提到的权衡
编译需要花费金钱。一次对 500 个示例集的认真 MIPROv2 运行可能会花费 10-50 美元的 API 调用费用,而使用弱优化器的小规模运行可能会产生仅适用于你精确示例的提示词。从 BootstrapFewShot(最便宜)开始,只有当你的指标停滞不前时再升级。
常见问题
DSPy 只支持 Python 吗? 是的,Python 是支持的语言。
它会取代 LangChain 吗? 它可以取代提示词管理层,但许多团队同时使用两者:LangChain 用于集成,DSPy 用于提示词逻辑。
它支持哪些模型? 任何兼容 OpenAI API 的模型,以及通过 Ollama 运行的本地模型。
它在生产环境中稳定吗? 广泛用于生产环境;API 在 2024-2025 年期间变动很大,所以请锁定你的版本。
相关文章
❓ 常见问题
Is DSPy only for Python?
Yes, Python is the supported language.
Does it replace LangChain?
It can replace prompt-management layers, but many teams use both: LangChain for integrations, DSPy for the prompt logic.
What models does it support?
Anything with an OpenAI-compatible API, plus local models via Ollama.
Is it production-stable?
Widely used in production; the API moved a lot between 2024-2025, so pin your version.
本站文章由编辑人工撰写,收录的工具均经过实测或公开资料核验。文中链接指向工具官网或 GitHub 仓库,仅作信息参考,不构成付费推广。
