还在靠”咒语”调教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——这是大模型开发下一个范式转变的信号,建议先收藏这个框架。


GitHub: https://github.com/stanfordnlp/dspy

评论区

0 条评论

登录后可评论。

苏棠 12 阅读