还在靠”咒语”调教AI?斯坦福团队用代码接管大模型
还在靠”咒语”调教 AI?斯坦福团队教你用代码接管大模型——
说出来你可能不信,我见过太多人调 AI 就是”炼丹”:一个 prompt 改来改去,加修饰词、调格式、试 Few-shot……调了三天,最后发现换了个模型又不好使了。
DSPy 彻底反过来了——你写 Python,大模型自己学怎么配合你。
01 什么是 DSPy
DSPy 是斯坦福 NLP 团队出品的”声明式 LM 编程框架”,全称 Declarative Self-improving Python。一句话:不是你在 prompt 大模型,而是你在编程,大模型自己学会怎么执行。
GitHub 已斩获 19,800+ stars,是当前 AI+编程方向最火的开源项目之一。
02 核心思路:签名 > 提示词
DSPy 的核心概念叫签名(Signature),本质上就是定义”输入什么、输出什么”:
class QA(dspy.Signature):
"""Answer questions with short factual answers."""
question = dspy.InputField()
answer = dspy.OutputField(desc="often between 1 and 5 words")
然后直接调用:
qa = dspy.Predict(QA)
response = qa(question="What is the capital of France?")
print(response.answer) # Paris
没了。没有 prompt 字符串,没有 Few-shot 示例,模型自己推理。
03 思维链 + 自动优化,才是杀手锏
如果你嫌 Predict 太简单,可以换 ChainOfThought,自动生成推理步骤:
cot = dspy.ChainOfThought("question -> answer")
response = cot(question="If John has 5 apples and gives 2 to Mary, how many does he have?")
print(response.rationale) # 推理步骤
print(response.answer) # 3
但更狠的是优化器。你给几个训练例子,DSPy 会自动调整 prompt/推理策略,比你手动调优靠谱得多:
from dspy.teleprompt import BootstrapFewShot
optimizer = BootstrapFewShot(metric=validate_answer, max_bootstrapped_demos=3)
optimized_qa = optimizer.compile(qa, trainset=trainset)
这就是”系统级调教”——不是调一条 prompt,是调整个模块的行为模式。
04 适合谁用
- AI 工程师:快速搭 RAG、Agent 流水线,不用天天改 prompt
- 研究者:用 MIPRO / BootstrapFinetune 自动搜最优提示策略
- 全栈开发者:多模型切换(Claude/GPT/Ollama),一套代码换后端
05 怎么安装
pip install dspy
# 或者开发版
pip install git+https://github.com/stanfordnlp/dspy.git
# 支持 Claude / GPT / Ollama
pip install dspy[anthropic] dspy[openai]
文档地址:https://dspy.ai
GitHub 仓库(含完整示例):
https://github.com/stanfordnlp/dspy
编程而非 prompting——这是大模型开发下一个范式转变的信号,建议先收藏这个框架。
评论区
0 条评论
登录后可评论。