软件工程有条老规矩:一件事要重复做,就把它包成函数,内部换什么实现都不影响外部调用。DSPy 想把这条规矩原样搬到 AI 程序里:把”要做什么”的任务描述,和”用什么模型、什么 prompt 去做”的实现细节分开,换模型这件事就不用把 prompt 推倒重写。这场分享来自 AI Engineer World’s Fair 2026 主舞台收尾日(官方 Day 4),讲者是 Maxime Rivest 和 Isaac Miller,两人都是 DSPy 项目的核心贡献者和维护者。
原视频:https://www.youtube.com/watch?v=I2cbIws9j10(约 00:54:18 开始)
AI 任务也能包成函数
Maxime Rivest 开场先讲了个朴素的道理:函数好用,是因为它可复用、可组合、可测试、可优化。给它起个名字,定好输入输出,内部实现随便换,别人拿到手只用知道接口就能当黑箱调用。DSPy 想把这四个性质原样搬到 AI 程序上。
他给了两个自己的例子。第一个是从农场发票里抠税务数字做报税;第二个是挂在键盘上的小工具,读剪贴板内容自动改语法,有时候还顺手把句子改得更清楚。这两个工具他都能随意换模型、换实现,因为输入输出接口是钉死的,换一次模型不用重新设计整条流程。
更有野心的用法是把整个收件箱接进去:新邮件进来,自动生成一版回复草稿。DSPy 甚至能用”递归语言模型”(RLM)处理这类需要长上下文的任务,这个思路来自 MIT 博士生 Alex Zhang 的论文。Maxime 把这套边界比作”给 AI 一份 spec 和一个仓库,换回一个 PR”的 agentic 开发套路,只要任务边界锁死,内部想从简单 prompt 换成带工具的 agent、换成带循环的复杂系统,外部调用方式完全不用变。
一个任务真正说清楚,要三样东西
光有输入输出接口还不够。Maxime 说,在 ChatGPT 出现之前,DSPy 的创始人就想清楚了一件事:完整描述一个任务需要三层东西。
第一层是该发生什么,自然语言写的指令,也就是 DSPy 里的”signature”。这层类似给朋友讲桌游规则,讲清楚就能上桌玩;换成让 AlphaGo、AlphaZero 那样纯靠样本自学,得耗上一整夜。
第二层是必须发生什么,用代码写死的硬约束。演讲里的税务提取脚本举了个例子:先跑一个简单版本抽取税值,没抽到就换成带推理过程的版本重跑;抽出来的数字是负的,直接抛给人工处理,不许模型自己往下走。这类规则哪怕模型进化到 AGI 也不会松动。
小时候在农场,Maxime 问父亲怎么认出一棵枫树。父亲讲不出规则,也写不出代码,却在一次次看树的过程里自己学会了辨认。这就是第三层——什么算好,靠样例教。DSPy 里的评测数据集扮演的正是这个角色,专门补前两层说不清楚的长尾情况。
把这三层攒齐,prompt 就交给”编译器”去优化
instructions、code、evals 三样东西凑齐,任务才算讲完整,DSPy 才能开始自动优化。Isaac Miller 接着讲了这套优化能力的进化史:DSPy 早期模型还不够强,靠代码搜索合适的少样本示例;模型变强之后,开始能自动优化指令本身;到了 DSPy 4,连实现代码本身都能被学习和调整——这个新模块叫 DSPy.flex,任务的规格和评测标准讲清楚了,内部用什么代码实现可以交给系统自己摸索。
Isaac 举了 Shopify 的例子:换了一个便宜得多的模型,整体实现成本降到原来的 550 分之一。这数字乍看夸张,我更在意的是”他们敢换”这件事本身——业务逻辑和 prompt 实现隔着一层固定接口,换模型不用担心把整条邮件处理链路推倒重来,才谈得上继续迭代内部逻辑。如果一套 AI 功能是靠手写 prompt 硬编在业务代码里,换模型这种操作基本无从下手。
DSPy 生态还在持续吸收新研究:Berkeley 的 prompt 优化器 GEPA、多模块 GRPO 方案,都是加一行配置就能试的可选项,插上去看有没有用,不行也不影响原来的 signature。
用真实反馈反过来喂养评测标准
Isaac 讲的第二个 DSPy 4 新特性叫”定性学习”(qualitative learning),想解决一个更硬的问题:构建评测集本身很难。难在三处——”什么算好”很难定义;把结果压成”好/坏”两个标签会丢掉细节,一封邮件写得好不好,远不如”具体哪里该改”有用;而且任何评测集都只是对真实世界的一个近似代理。
定性学习的思路是反过来用生产环境里的真实反馈:用户的操作痕迹、产品分析数据、trace 记录,让模型自己把这些文本反馈解读成可优化的评测标准,持续爬坡。这段听着有点绕,Isaac 自己也承认这还是个研究阶段的问题,没给出确定答案——评测集能不能被这样自动生产出来,目前更像一个方向,不是一套已经跑通的方案。
即便模型进化到 AGI,这套”最后一公里学习”也不会失效。Maxime 打了个比方:让爱因斯坦帮你回邮件,他大概率会先问”什么是邮件”。换成一个通晓一切的 AGI,知道邮件是什么,也不知道你和每个联系人具体是什么关系。这些只能靠持续学习你的场景才能获得,模型能力再提升也替代不了这一步。
这场分享在当天议程里的位置
这是官方 Day 4(收尾日)主舞台第三场。前一场 Barr Yaron 讲的是整个行业的问卷诊断,agent 写权限暴涨、治理手段跟不上;这一场是当天少数直接讲”怎么造 agent 内核”的场次,聚焦到单个 AI 任务该怎么被工程化。两者形成互补,一个诊断组织层面的问题,一个给出技术层面的一种解法。
我之前梳理过 Harness Engineering 圈子里的一个共识:凡是不属于模型本身的都是 harness,通常讨论的对象是整个 agent 系统——工具、记忆、执行环境。DSPy 做的是同一件事,只是把颗粒度收窄到单个 AI 函数:instructions、code、evals 三件套,其实就是 spec / harness / verification 这套分层落到函数级别的具体实现。DSPy 多做的一步,是把这份调优工作甩给编译器——人不用守着每次模型升级手动改 prompt,signature 保持不变,内部实现跟着模型和技术进步自动重新搜索。每次新模型发布,手写的 prompt 和示例要不要跟着重调一遍,这是很多团队实际会卡住的地方,DSPy 的答案是把这份重复劳动也自动化掉。
如果你的团队正在为”要不要给每个 AI 功能都手写一遍 prompt”发愁,这场分享值得记一句:先把任务的输入输出、硬约束和评测标准写清楚,自动优化才有地方使劲,不然编译器也无从优化起。











