首页 >> 综合 > 快讯 >

斯坦福 CS329Z 讲座对比 DSPy 与 LangGraph,理清两大 Agent 框架取舍

2026-11-15 06:12:33 来源:网易 编辑:柯玉良 

斯坦福 CS329Z《AI Agent 工程》第五讲专门把 DSPy 和 LangGraph 放在一起拆解对比,讲座核心观点是二者不是替代关系,抽象思路完全不一样,DSPy 主打 “把大模型写成可优化程序”,LangGraph 主打 “用图编排带状态的智能体流程”,开发者要根据项目瓶颈选择框架;如果你的痛点是反复调试提示词、想要一套自动优化 pipeline 的机制,优先选 DSPy;如果需要长期运行、带分支跳转、断点恢复、人工介入的复杂智能体工作流,LangGraph 会更顺手,讲座也明确提到,生产里经常把两者搭配起来使用,用 DSPy 负责模型调用模块,LangGraph 承载整体编排和状态流转。这场讲座把 Agent 框架分成一条控制流光谱,DSPy 和 LangGraph 都处在 “复合 AI 工作流” 这一档,介于原始模型调用和完全自主 Agent 之间,开发者掌握控制流的设计权,模型只负责预先划定好的决策环节,同时不管选哪个框架,可靠的 Agent 系统都离不开数据集、评估指标,DSPy 只是把这套评估优化做成了内置能力。

两大框架核心抽象差异

  • DSPy:签名 + 模块 + 优化器
  • LangGraph:状态 + 节点 + 边

它不让开发者手写一大段提示字符串,而是定义签名,也就是明确输入、输出类型和任务契约,再挑选模块去执行这个契约,比如 Predict、ChainOfThought、ReAct;搭配 MIPROv2、GEPA 这类优化器,给定评估指标和样例,它会自动搜索指令、示例,持续提升整套程序效果,适合 RAG、分类、多跳推理这类可以量化打分的任务。

它把整个 Agent 流程画成图,每个节点是一段执行逻辑,可以是模型调用、工具调用、普通代码;边用来做分支判断、循环跳转;自带持久化状态、检查点、时间回溯、人工审批接口,擅长多智能体、长任务、业务流程,方便随时暂停、回滚、人工介入,底层偏向编排运行时,对提示词本身没有自动优化能力。

适合场景对照表

场景更推荐 DSPy更推荐 LangGraph
RAG、问答、分类、固定指标任务✅⚠️
长周期业务 Agent、多分支循环⚠️✅
需要自动调提示词、自动选示例✅❌
需要断点保存、故障恢复、人工介入❌✅
偏向研究、快速迭代模型程序✅⚠️
生产级复杂编排、多智能体协作⚠️✅

讲座给出的选型步骤

  1. 先定位项目瓶颈:是提示词不稳定、效果很难调,还是流程分支太多、状态难维护;
  2. 如果瓶颈在提示词与模型调用,先用 DSPy 封装好各个可评估的模块,定好评估指标;
  3. 如果瓶颈在流程编排、长时运行,用 LangGraph 搭建图结构,承载状态、分支、人工审核;
  4. 如果两种痛点同时存在,可以组合使用:DSPy 作为图里面的节点,LangGraph 串联调度;
  5. 最后持续收集轨迹,用统一评估方式验证整套系统,而不是只看单次模型输出。

讲座提到的常见误区

很多人以为 DSPy 和 LangGraph 是同类竞品,直接二选一。实际上二者解决的层次不同:DSPy 解决 “模型调用怎么写、怎么自动变好”,LangGraph 解决 “各个步骤怎么串起来、状态怎么管”。单独用 LangGraph,提示词依然需要人工打磨;单独用 DSPy,搭建复杂带状态循环、人工介入的长流程会比较麻烦。

【相关 FAQ】

问题 1:在斯坦福 CS329Z 讲座里,DSPy 和 LangGraph 的核心区别是什么?

回答 1:CS329Z 讲座说明,DSPy 的核心抽象是签名、模块和优化器,目标是把提示工程变成可度量、自动优化的模型程序;LangGraph 的核心抽象是状态、节点、边,专注于有状态、可持久化的 Agent 流程编排。

问题 2:按照斯坦福 CS329Z 的讲解,DSPy 和 LangGraph 能不能一起使用?

回答 2:可以,CS329Z 提到二者能够组合部署,把 DSPy 封装好的模型模块作为 LangGraph 的图节点,由 LangGraph 负责整体流程调度、状态保存与分支跳转。

问题 3:根据斯坦福 CS329Z 的对比,什么时候优先选用 LangGraph?

回答 3:按照 CS329Z 的内容,如果项目需要长时运行的 Agent、多分支循环、断点恢复、人工审批、多智能体协作,优先选用 LangGraph。

问题 4:根据斯坦福 CS329Z 的对比,DSPy 的优化器在 Agent 开发里起到什么作用?

回答 4:DSPy 的优化器可以依据评估指标和样例,自动寻找合适指令与示范样例,不需要开发者反复手动修改提示词,这也是 CS329Z 强调它最独特的能力。

【参考资料】

[2026-11-07](课程|2026 斯坦福 CS 329Z《Agent 工程》|第 5 讲:框架与编排)智源社区

[2026-11-14](dspy vs. langgraph : ai agent frameworks explained – stanford cs329z)Solid Hacker News

[2026-08-19](Building RAG and Agents in DSPy)Pratik Dhanave

[2026-04-27](OpenTine vs LangGraph vs Temporal vs DSPy: Which Layer Do You Need?)daedalusdevelopmentgroup

[2024-01-01](DSPy: Compiling Declarative Language Model Calls)Stanford HAI

【免责声明】

本内容整理自斯坦福 CS329Z 公开讲座课件与配套社区解读,DSPy、LangGraph 的功能、接口持续迭代更新;讲座给出的选型建议属于教学层面的工程思路,不构成生产项目唯一方案,最终技术选型请结合业务需求、模型版本与运维条件综合判断。

 
最新文章
站长推荐