Skip to main content
PromptQuorum
主页/本地LLM进阶/DSPy评测2026:功能、优化器与替代方案
Local AI Agents & Tool Use

DSPy评测2026:功能、优化器与替代方案

·11分钟阅读·Hans Kuepper 作者 · PromptQuorum创始人,多模型AI调度工具 · PromptQuorum

DSPy是斯坦福NLP构建的免费开源(MIT许可)Python框架,用于编程而非提示语言模型,托管在stanfordnlp/dspy GitHub仓库。开发者定义描述任务输入输出的类型化Signature,将其组合为定义执行策略的ModulePredictChainOfThoughtReAct等),并运行Optimizer——BootstrapFewShotMIPROv2GEPA——自动搜索按指标评分最高的指令措辞和少样本示例,而不是由人工手动调优提示词字符串。该仓库已突破37,900颗GitHub星标和3,300个fork,在PyPI上以dspy包发布(pip install dspy,当前版本3.3.1),并且处于积极开发中,已有Shopify、Databricks、AWS等公司的生产环境使用记录。

DSPy是斯坦福大学NLP团队开发的免费开源(MIT许可)Python框架,用于编程而非提示语言模型,托管在stanfordnlp/dspy GitHub仓库。开发者无需手写和手动调优提示词字符串,而是定义类型化的Signature(任务的输入与输出),将其组合为ModulePredictChainOfThoughtReAct等),并运行Optimizer(如BootstrapFewShotMIPROv2)自动搜索在训练集上按某项指标评分最高的提示词措辞和少样本示例。DSPy不像LangChain或CrewAI那样编排多智能体对话;它优化的是你所构建管道内部的提示词,以及可选的权重。

DSPy评测2026:功能、优化器与替代方案

关键要点

  • MIT许可——可免费使用、修改和自托管,包括商业用途
  • GitHub仓库stanfordnlp/dspy已突破37,900颗星标和3,300个fork(2022年12月在斯坦福NLP启动)
  • PyPI包dspy,当前版本3.3.1(2026年8月21日)——持续积极维护
  • 核心抽象:Signature(类型化输入/输出)、Module(Predict、ChainOfThought、ReAct)、Optimizer(BootstrapFewShot、MIPROv2、GEPA)
  • 类别:面向LLM程序的提示词/权重优化——不是像LangChain或CrewAI那样的多智能体编排框架
  • 安装:pip install dspy,运行程序前需要先配置LLM提供商

📍 简单一句话

DSPy是斯坦福NLP出品的免费MIT许可Python框架,让开发者用类型化的Signature和Module对LLM任务进行编程,随后用MIPROv2等算法自动优化提示词和少样本示例,而不是手动进行提示词工程。

💬 简单来说

使用DSPy时,你用代码描述希望LLM完成的事情——输入、输出、步骤——然后框架会通过在示例上测试不同选项,自行搜索出实际最佳的提示词措辞,而不需要你自己猜测并手动编辑提示词文本。

📌: DSPy解决的问题与本系列中大多数智能体框架不同——它优化的是管道内部的提示词,而不是编排多智能体对话。参见本地LLM软件目录,了解DSPy在智能体与管道框架中的定位。

从斯坦福研究到生产级框架

斯坦福NLP团队于2022年12月开始开发DSPy,stanfordnlp/dspy GitHub仓库将其描述为“用于编程——而非提示——语言模型的框架”。 该项目源于学术研究,探索的是编译声明式LLM管道,而非手写提示词字符串。

该框架早期就引入了Signature和Module作为核心抽象,随后不断扩展其优化算法:先是用于快速选择少样本示例的BootstrapFewShot,随后是通过贝叶斯优化联合搜索指令与少样本示例的MIPROv2,近期又推出了GEPA——据文档介绍,它能根据一组示例和评分函数自动调优提示词,“直到质量收敛”为止。

截至本次评测,DSPy仍处于积极开发中:PyPI上的dspy包版本为3.3.1,发布于2026年8月21日。该项目官网报告有454名以上的贡献者,并记录了Shopify、Databricks、AWS等公司的生产环境使用情况。

与本系列中的其他多个框架不同,DSPy没有被归档,没有进入官方声明的仅维护模式,也没有公布任何继任项目——它是自身所提出理念的、正在积极开发的正典实现。

斯坦福NLP启动开发

Date:
2022-12
What it means:
stanfordnlp/dspy仓库以及Signature/Module核心抽象诞生

BootstrapFewShot优化器

Date:
早期版本
What it means:
一个快速的基线优化器从训练集中自动生成少样本示例

MIPROv2优化器

Date:
后期版本
What it means:
通过贝叶斯优化联合搜索指令与少样本示例的功能发布

GEPA优化器

Date:
近期版本
What it means:
一款用于根据评分函数自动调优提示词的更新优化器

PyPI上的dspy 3.3.1

Date:
2026-08-21
What it means:
截至本次评测已核实的最新版本——积极开发仍在继续

📌: DSPy的PyPI包名有一段值得了解的历史:dspy这个名称原本已在PyPI上被占用,因此该项目早期版本以dspy-ai发布。如今官方包名已是dspy——当前安装请使用pip install dspy

DSPy是什么?

DSPy是斯坦福NLP团队打造的开源Python框架(MIT许可,持续积极维护,github.com/stanfordnlp/dspy),用于以声明式方式对语言模型任务进行编程,然后将这些声明编译为优化后的提示词——以及可选的优化后权重——而不是由人手动反复调整提示词文本。

  • Signature:任务输入和输出的类型化定义,写作简短的类或字符串(例如"question -> answer"),可在不同的底层LLM和提示词策略之间移植
  • Module:在Signature周围实现执行策略的组件——直接补全用Predict,逐步推理用ChainOfThought,使用工具的推理循环用ReAct,等等
  • Optimizer(此前称为teleprompter):一种根据某项指标自动(而非手动)调优DSPy程序内提示词和少样本示例的算法——知名优化器包括BootstrapFewShotMIPROv2GEPA
  • 编译程序:在训练集和评分函数上运行优化器,会生成一个内置了调优后指令与示例的已编译程序,之后可像任何其他DSPy程序一样运行
  • 模型无关:DSPy连接的是你所配置的LLM提供商,而不是内置某个模型;同一份Signature/Module代码可针对不同的底层模型重新优化
  • 并非多智能体编排器:DSPy没有像CrewAI或AutoGen那样内置多个相互通信智能体的概念——DSPy程序通常是一个由Module组成的单一管道,不过ReAct模块可以在推理循环中调用工具
python
pip install dspy

# 最小示例:Signature + Module + Optimizer
import dspy

class AnswerQuestion(dspy.Signature):
    """Answer a question factually."""
    question: str = dspy.InputField()
    answer: str = dspy.OutputField()

qa = dspy.ChainOfThought(AnswerQuestion)
result = qa(question="What is the capital of France?")
print(result.answer)

DSPy的费用是多少?

DSPy本身在MIT许可下免费——没有订阅、付费套餐,也没有斯坦福托管的付费服务。 你需要支付的只是自己的算力费用,以及所配置LLM提供商可能产生的API费用。

  • DSPy(开源框架):在MIT许可下永久免费,自托管,没有使用量上限,运行时不需要账户
  • 没有托管产品或订阅:DSPy是你自行导入并运行的库,而不是托管服务——没有任何东西需要订阅
  • 可选费用:如果连接的是云端模型而非本地模型,需支付所配置LLM提供商的API费用(例如云服务商按token计费)
  • 优化器相关成本:运行像MIPROv2这样的优化器会进行多次LLM调用以搜索最佳提示词配置,因此编译程序本身会产生额外的API调用成本,之后再运行已编译程序还会产生进一步的成本

如何安装并开始使用DSPy?

通过pip install dspy从PyPI安装DSPy即可。 不需要克隆代码库,不需要Docker,也不需要单独的CLI二进制文件——DSPy作为普通的Python导入使用。

  1. 1
    安装该包:pip install dspy
  2. 2
    配置一个LLM提供商——例如,托管模型可用dspy.configure(lm=dspy.LM('openai/gpt-4o-mini', api_key='your-key')),或指向本地提供的OpenAI兼容端点。
  3. 3
    定义一个描述任务输入输出的Signature,可以是简短字符串("question -> answer"),也可以是使用dspy.InputField() / dspy.OutputField()的类型化类。
  4. 4
    将Signature封装进一个Module——直接调用用dspy.Predict(...),逐步推理用dspy.ChainOfThought(...)——然后像调用函数一样调用它。
  5. 5
    可选:准备一个小型训练集和一个评分函数,然后运行dspy.BootstrapFewShotdspy.MIPROv2等优化器,编译出调优版本的程序。
  6. 6
    完整教程集,包括RAG管道、使用ReAct的智能体循环以及优化器配置,参见DSPy文档

运行DSPy需要Docker或GPU吗?

不需要。DSPy是一个调用你所配置LLM提供商的Python库——除非你另外自行运行本地模型服务器,否则不需要Docker或本地GPU硬件。

DSPy能配合本地模型使用吗?

可以,只要本地模型通过与OpenAI兼容或其他受支持的端点提供服务,并将DSPy的LM配置指向该端点即可——DSPy本身不内置任何模型。

谁应该使用DSPy?

DSPy适合已经在用Python编写LLM管道、并希望根据可衡量结果而非手动试错来调优其中提示词的开发者。 对于主要需要多智能体协调或无代码界面的团队来说,它的适配度较低。

什么情况下不应使用DSPy?

如果你的任务本质上是协调多个智能体或接入第三方工具集成,而不是优化单一管道内的提示词,请跳过DSPy。

  • 需要可视化、无代码工作流构建器的团队——DSPy是代码优先的,没有拖拽式界面
  • 本质上属于多智能体协调(智能体之间相互委派子任务)的项目——为该模式专门打造的框架,如CrewAI或AutoGen,在结构上更合适
  • 一个手写单一提示词已足够胜任的一次性脚本——引入Signature、Module和优化循环会带来额外的工程开销,只有在需要可衡量、可复现的提示词改进时才值得
  • 没有办法为正确性打分的任务——DSPy的优化器需要一个指标函数,因此纯主观、没有标签示例的任务从优化步骤中获益很少
  • 恰恰相反,当你有一个管道、一项指标和一个训练集,并希望将提示词工程步骤自动化、可复现时,才是使用DSPy的最佳时机

DSPy与替代方案对比

DSPy与大多数智能体编排框架属于不同类别:它优化的是管道内部的提示词和少样本示例,而不是协调多个智能体。与之最接近的比较对象,是其他用于构建LLM管道的Python框架,尽管它们的核心工作与DSPy并不相同。

工具
核心工作
许可证
状态
最适合场景
DSPy提示词/权重优化MIT活跃按指标调优提示词
LangChain通用LLM管道构建MIT活跃最广泛的集成生态
LlamaIndex面向RAG的数据框架MIT活跃检索增强型管道
Semantic Kernel结构化提示词/技能组合MIT活跃(正向MAF收敛)企业级.NET/Python/Java SDK

本表对比的是DSPy与概念上重叠度最高的Python管道框架,而非多智能体编排器——DSPy并不与解决智能体协调问题(而非提示词优化)的CrewAIAutoGen直接竞争。

评估DSPy时的常见错误

这些错误源于把DSPy当作多智能体框架来使用,或跳过了真正体现该框架价值的优化步骤。

常见问题

DSPy还在维护吗?

是的。stanfordnlp/dspy仓库正在积极开发中;截至本次评测,PyPI上的dspy包版本为3.3.1,发布于2026年8月21日。

DSPy是免费的吗?

是的。DSPy采用MIT许可证,商业使用、修改和自托管均免费。没有需要支付的订阅费用或托管产品。

DSPy和LangChain有什么区别?

LangChain是一个通用框架,用于构建拥有广泛集成生态的LLM管道;DSPy则专门专注于用类型化的Signature和Module对任务进行编程,随后根据指标自动优化提示词和少样本示例。两者解决的是不同但互补的问题。

DSPy的Signature和Module是什么?

Signature是任务输入输出的类型化定义(例如"question -> answer")。Module在Signature周围实现一种执行策略——直接补全用Predict,逐步推理用ChainOfThought,使用工具的推理循环用ReAct

DSPy的优化器是什么?

优化器(此前称为teleprompter)是根据指标和训练集,自动调优DSPy程序内提示词和少样本示例的算法——知名优化器包括BootstrapFewShot、MIPROv2和GEPA。

如何安装DSPy?

运行pip install dspy。这是当前正式的PyPI包名;一个较旧的dspy-ai包先于它存在。

DSPy能取代CrewAI或AutoGen这类多智能体框架吗?

不能。DSPy优化的是管道内部的提示词,它不像CrewAI或AutoGen那样编排多个相互通信的智能体。这两个类别是互补关系,而非竞争关系。

DSPy采用哪种许可证发布?

MIT许可证,允许免费商业使用、修改和自托管。

DSPy是谁开发的?

DSPy由斯坦福NLP团队开发,开发工作始于2022年12月。该项目报告称拥有454名以上的贡献者,并记录了Shopify、Databricks、AWS等公司的生产环境使用情况。

DSPy有多少GitHub星标?

截至2026年9月,stanfordnlp/dspy仓库已获得超过37,900颗GitHub星标和3,300个fork。

资料来源

← 返回 本地LLM进阶