← 返回概念解读

Concept Fable精修版

DSPy

DSPy · LLM programming and optimization framework

先读故事。这里不急着给定义,先让问题自己长出来。

寓言故事

剧院把写提示变成可测试的排演程序

城南剧院雇了许多会即兴表演的演员。导演靠写台口纸安排他们:这句要严谨,那句要简短,遇到证据要报出处。新剧越排越复杂。一个演员负责改写问句,一个演员查资料,一个演员推断案情,一个演员写成答复。台口纸散在各处。导演先靠手感调词。今天加一句,明天删一句,看到一个坏例子就补一条规则。几轮后没人知道哪句有用。他又把最好的几个示例贴到墙上。某些任务变好了,另一些任务变差了;换了新演员后,还要重新摸索。

新导演改用排演程序。每个角色声明输入和输出,模块按程序连接,效果用评测集和指标衡量。

台口纸不再只靠手写。排演班会根据例子、评判分和角色结构,寻找更合适的台词、示例和节拍。

剧院开始像排一套固定戏法那样排复杂演出。改一个角色,能重演旧场;换一组示例,能看分数变化。

导演也没有放弃判断。指标选错、数据太少、任务定义含糊,优化器会把系统带向错误方向。

新导演没有把台口纸丢掉,而是把它们放进排演册。每次改词,都要在同一组剧目上试演,记录哪一幕好、哪一幕坏;若某句只救了一个场景却伤了三个场景,就撤回重排。

排演册还让剧院换演员时不再从头摸黑。新演员照着角色的输入、输出和评分办法上场,导演再根据试演结果调台口纸。经验从导演脑中搬到可反复检验的排练里,剧目才稳下来。 后来剧院接新戏,导演先写角色和评分,再安排试演。改动不再靠临场灵感堆叠,而是进了可检查的排演程序;好坏能被比较,经验也能复用。

他终于明白,复杂剧目不能长期靠导演手感维持,需要清楚的角色结构和可反复衡量的排练办法。

揭示

这个故事讲的是:DSPy

DSPy 是一个用于编程和优化 LLM 系统的框架。它用 Signature 声明任务输入输出,用 Module 组合推理流程,并通过 Teleprompter / Optimizer 基于示例和指标优化 prompts、demonstrations 或程序设置。它强调“programming, not prompting”,适合需要可测试、可调优、多步骤 LLM 管线的企业应用。

它重要的地方在于:它不只是一个术语,而是在真实 AI / Agent 系统里会反复出现的结构性问题。理解它,才能判断什么时候该加模型,什么时候该改流程,什么时候该补治理。

隐喻映射

  • 即兴演员:LLM 调用
  • 手感调词:手工 prompt engineering
  • 墙上示例:few-shot examples
  • 排演程序:DSPy program
  • 声明输入和输出:Signature
  • 模块连接:DSPy Modules
  • 根据指标搜索提示和示例:Teleprompter / Optimizer
  • 最后洞察:DSPy 把 LLM 系统从手写提示推进到可编程、可评测、可优化的结构

Soloharness 判断

这个概念的实战价值,是帮你把“看起来聪明的 AI 功能”拆成可交付、可验收、可治理的工作单元。

signaturemoduleteleprompteroptimizerprompt optimizationevaluation metric