### [DSPy:用编程取代提示词工程,Stanford 出品 LLM 应用优化框架,27.5K+ Stars](https://www.willai.cc/article/2403) **Published:** 2026-06-22T23:18:39 **Author:** hiyoho **Excerpt:** 📌 项目简介 DSPy(Declarative Self-improving Language Programs in Python)是斯坦福大学开发的 LLM 编程框架,让你用 编程取代提示词工程。不再手写 prompt,而是定义模块 + ## 📌 项目简介 **DSPy**(Declarative Self-improving Language Programs in Python)是斯坦福大学开发的 **LLM 编程框架**,让你用 **编程取代提示词工程**。不再手写 prompt,而是定义模块 + 数据,DSPy 自动优化提示词和权重,让 LLM 应用可靠、可测量、可迭代。 ## 🔧 安装要求与过程 ### 环境要求 - Python ≥ 3.9 - pip 包管理器 - (可选)OpenAI / Anthropic / Google API Key,或本地 Ollama ### 快速安装 ``` # 基础安装(仅 DSPy 核心) pip install dspy-ai # 安装常用扩展(推荐) pip install dspy-ai[vertexai,anthropic,cohere] # 从源码安装最新版 pip install git+https://github.com/stanfordnlp/dspy.git ``` ### Hello World ``` import dspy # 配置 LLM(支持 OpenAI / Claude / Gemini / Ollama 等) lm = dspy.LM("openai/gpt-4o-mini") dspy.configure(lm=lm) # 定义签名(Signature):输入 → 输出 class QnA(dspy.Signature): question = dspy.InputField() answer = dspy.OutputField() # 创建预测器 qa = dspy.Predict(QnA) # 直接调用! result = qa(question="DSPy 是什么?") print(result.answer) ``` ## ⭐ 核心功能 1 **签名(Signature)= 结构化 Prompt** 用类型安全的 Python 类定义输入输出,DSPy 自动生成高质量 prompt。告别手工调 prompt,代码即文档。 2 **自动优化器(Optimizer)= 自动 Prompt 工程** 内置 `BootstrapFewShot`、`MIPROv2`、`COPRO` 等优化器,只需提供训练数据,DSPy 自动搜索最优 prompt / 示例 / 权重。质量可测量、可复现。 3 **模块化编程模型 = 像 PyTorch 一样组合 LLM** 提供 `Predict`、`ChainOfThought`、`ProgramOfThought`、`Retriever` 等模块,自由组合成复杂 pipeline,支持多跳推理、工具调用、RAG。 4 **全模型兼容 = 一处编写,任意 LLM 运行** 统一接口支持 OpenAI、Anthropic、Google、Cohere、Ollama、Together AI、Azure 等 30+ LLM 提供商,切换模型只需改一行配置。 5 **内置评估框架 = 量化 AI 应用质量** 提供 `Evaluate` 和 `Metric` 工具,科学评估模型效果,支撑数据驱动的迭代优化。 ## 🚀 典型使用场景 ### 场景 1:RAG 问答系统(最经典用法) ``` import dspy from dspy.datasets import HotPotQA # 配置检索器 + LM colbertv2 = dspy.ColBERTv2(url="http://20.102.90.50:2017/wiki17_abstracts") lm = dspy.LM("openai/gpt-4o-mini") dspy.configure(lm=lm, rm=colbertv2) # 定义 RAG 签名 class GenerateAnswer(dspy.Signature): context = dspy.InputField(desc="相关维基百科段落") question = dspy.InputField() answer = dspy.OutputField() # 构建 RAG 管道 class RAG(dspy.Module): def __init__(self): super().__init__() self.retrieve = dspy.Retrieve(k=3) self.generate = dspy.ChainOfThought(GenerateAnswer) def forward(self, question): context = self.retrieve(question).passages return self.generate(context=context, question=question) # 编译优化(自动调参) from dspy.teleprompt import MIPROv2 teleprompter = MIPROv2(metric=dspy.evaluate.answer_exact_match) optimized_rag = teleprompter.compile( RAG(), trainset=your_trainset, valset=your_valset ) ``` ### 场景 2:多跳推理 Agent DSPy 原生支持构建多步推理 Agent,结合 `ReAct` 模块和工具调用,让 LLM 自主规划 + 执行复杂任务: ``` class MultiHopQA(dspy.Module): def __init__(self): self.react = dspy.ReAct(GenerateAnswer) # ReAct 自动循环:Thought → Action → Observation → ... def forward(self, question): return self.react(question=question) ``` ### 场景 3:生产级 Prompt 优化(MLOps 集成) 用 DSPy 的评估 + 优化管线,将 prompt 工程纳入 CI/CD:每次模型更新自动重新优化 prompt,保证质量不回退。 * * * ## 💡 推荐理由 如果你还在手写 prompt、手动调 few-shot 示例、靠感觉评估 LLM 应用质量——**DSPy 会彻底改变你的工作方式**。 它的核心洞察是:**Prompt 是代码,应该像代码一样被编译、优化、测试**。DSPy 把 prompt 工程从「手工艺」升级为「工程学科」,让 LLM 应用开发进入可测量、可迭代的正循环。 最打动我的是 **MIPROv2 优化器**:给它一堆训练数据,它能自动搜索最优的指令指令 + few-shot 示例组合,效果往往超过手工调参。对于需要稳定质量的 production 场景,这是救命稻草。 另外,DSPy 的学术背景(斯坦福 Ocelot 团队,NeurIPS/ICML 多篇论文)保证了它的方法论严谨性,不是又一个「AI 包装框架」。 **📊 项目数据** | | | | --- | --- | | **GitHub Stars** | 27.5K+ | | **开源许可** | MIT License | | **主要语言** | Python | | **维护团队** | Stanford Ocelot Lab(@stanfordnlp) | | **最新版本** | v2.6+(2026 持续更新) | | **文档地址** | [dspy.ai](https://dspy.ai) | * * * ## 📥 下载地址 🌐 官方网站 [dspy.ai](https://dspy.ai) 💻 GitHub 仓库 [github.com/stanfordnlp/dspy](https://github.com/stanfordnlp/dspy) 📚 官方文档 [dspy.ai/docs](https://dspy.ai/docs) 💬 Discord 社区 [discord.gg/XCGy2WOMnX](https://discord.gg/XCGy2WOMnX) 🎯 立即用 DSPy 把你的 LLM 应用工程化 告别手工调 prompt,拥抱可测量、可优化的 LLM 编程新范式 **Tags:** AI, AI Agent, AI开源项目, DSPy, LLM, Python, RAG, 开源, 提示工程, 自动优化 **Categories:** 开源项目 ---