Stanford NLP 于 2026-09-25 发布 DSPy 3.4.0:通过 TypeSafe 客户端接入 Jev,新增实验性 Noul/Choice/Score 决策类型与 ReAnchor 校准器;LM 层以 lm15 原生引擎为默认优先,并提供 LocalInterpreter、异步 ReActV2。官方称 3.4 为 LM 过渡版,3.5 为迁移截止。

核心要点速览 (Key Takeaways)

  • ✓Jev:`pip install 'dspy[typesafe]==3.4.0'` + `TypeSafe("jev-latest")`;输出可用实验类型 **Noul / Choice[...] / Score[...]**(含 `.probability` / `.confidence`)(#10463)
  • ✓校准:实验性 `ReAnchor` 在不改写指令的前提下拟合阈值阈值 / Score 切分 / Choice 权重,须过训练分与 held-out fold
  • ✓LM:默认 `engine="auto"` 优先原生 lm15;可 `engine="lm15"` 强制或 `engine="litellm"` 兼容;`register_provider(...)` 声明 OpenAI/Anthropic 兼容 HTTP(见 迁移指南)
  • ✓解释器:`dspy.LocalInterpreter` 用当前 Python 持久子进程跑可信代码(**非安全沙箱**);RLM 改为仅关键字 `interpreter_factory=`(#10238)
  • ✓时程:**3.4 过渡、3.5 迁移截止**;遗留 `messages=` / 自定义 LM 仍可用但有 deprecation;文档迁 Zensical(Material for MkDocs EOL 叙事)
🔬

深度技术解析与实战评估

核心背景与行业痛点

多数 DSPy 程序把模块结构写死,优化器只能改指令;决策场景又缺少带概率证据的一等类型。同时 LM 边界长期依赖 LiteLLM 形态的 messages=。DSPy 3.4.0 把 Jev 决策、ReAnchor 校准与 原生 lm15 引擎一并推上主线,并明确 3.5 为迁移截止。

架构亮点与底层机制

经 dspy.experimental.TypeSafe("jev-latest") 接入 Jev:Predict 自动把 signature/演示/字段准则译成决策请求。实验类型 Noul(布尔+概率)、Choice[...](选项概率)、Score[...](量尺+level)暴露 .value/.probability/.confidence(#10463)。阈值与权重在本地应用以便缓存证据。[ReAnchor](https://github.com/stanfordnlp/dspy/pull/10475) 拟合阈值/切分/权重且不改写指令,须提升训练分并通过 held-out fold。LM 层捆绑 dspy.lm15:engine="auto" 优先原生;可用 register_provider 声明兼容 HTTP。LocalInterpreter 在持久 CPython 子进程跑可信代码(非沙箱)。ReActV2 支持 await agent.acall(...)。

权威 Benchmark 与实测跑分对比

本版未附独立公开 SWE/GEPA 榜单数字;工程约束写在 release:默认要求缓存以避免重复请求;ReAnchor 不保证固定推理预算;单选项 Choice 校准当前会报错。文档称 Material for MkDocs 维护窗口指向 2026-11-05 EOL(随后宣布关键维护延至 2027-05-05),故文档迁 Zensical(#10316)。

开发者实战落地与开箱指南

  • 升级:pip install -U 'dspy==3.4.0';Jev:pip install -U 'dspy[typesafe]==3.4.0' 并设 TYPESAFE_API_KEY。

  • 读 3.4.0 Release、LM 迁移指南 与 自定义引擎教程。

  • RLM:改为 interpreter_factory= 关键字;不可信代码勿用 LocalInterpreter。

  • 规划:在 3.5 前完成自定义 LM / messages= 迁移。