为什么选择 LangGraph,而不是 LangChain 或其他编排框架?

未标记

询问 AI

考查重点:显式状态图与循环恢复。用State、节点与边显式管理分支、循环和中断恢复,适合需精细控制的长流程;LangChain高层Agent可建立在LangGraph上,不能说它只支持直线

本题目录

参考答案

核心回答

选择LangGraph,通常是项目需要显式状态、分支循环、中断恢复或跨步骤协作,希望把流程控制与模型局部决策分开。它用状态、节点和边组织执行,便于观察某次任务走到哪里、为什么回退,以及怎样从已有结果继续。

LangChain与LangGraph不是简单替代关系:当前LangChain提供模型、工具和create_agent等较高层能力,Agent运行建立在LangGraph之上;需要自定义业务控制流时才直接编排LangGraph。不能用“LangChain只能做直线、不能循环”概括现行框架。

结合需求说明选型

以研搜方案为设计示例,状态保存问题、证据清单、草稿、审核意见和预算;节点分别做检索、综合和检查;根据证据是否足够决定补查还是输出。若需要暂停等待输入或失败后续跑,检查点能保留图状态,而不是重新执行全部已完成步骤。

但恢复图状态不等于外部动作恰好执行一次。写工单、发通知等仍要使用业务幂等键或回执核对;数据库、文件和远端服务是否恢复,也取决于具体基础设施。使用InMemorySaver只能保存进程内状态,不能把它描述成重启后可恢复。

与其他方案怎样取舍

标准工具调用Agent优先看LangChain的高层入口;固定的短数据流可用普通函数、链或现有工作流;对复杂状态和恢复有明确要求时,再用LangGraph。需要更完整的长任务能力,还可以评估DeepAgents等Harness,而不是自己从零拼所有组件。

如果已有可靠工作流平台,主要任务是跨服务调度或长事务,也应比较其成熟的调度、重试与运维能力。自研循环能更直接控制协议与性能,但状态、回放、并行合并和恢复都需要团队自行维护。

成本与短板

图模型增加了状态Schema、reducer、检查点生命周期和版本兼容的学习成本。并行节点写同一字段需要明确归并策略;大量节点或冗长状态也会增加调试与存储成本。它不会自动解决模型幻觉、权限和业务正确性。

选型时用相同业务样例比较实现复杂度、失败恢复、可观测性、耗时和维护成本。真正的理由应是某个项目需求被满足,而不是“更先进”或“大家都在用”。

对应教程

参考资料

  • 国内:JavaGuide:Workflow、Graph与Loop:依据状态、节点、边与并行更新语义,说明正文中图编排提供的控制能力。
  • 国内:zero2Agent:LangChain与LangGraph选型:采用状态图与自研的取舍维度,组织正文中的方案比较;旧 LangChain 能力描述按现行官方接口纠正。
  • 国内:WeThinkIn:Agent设计模式:采用框架与工作模式的分层,解释正文中上层 Agent 封装与底层图编排的职责差别。
  • 国外:LangGraph:Overview:依据官方定位,说明正文中 LangGraph 的底层运行能力及其与上层框架的分工。
  • 国外:LangChain:Overview:依据现行 create_agent 与生态关系,纠正正文中将 LangChain 理解为只支持线性链的误区。

相关面经

4 篇

恒生电子

AI 开发工程师
校招秋招
查看原面经 →
追问
为什么选 LangGraph,不选 LangChain 或者其他编排框架?

携程

Agent 开发工程师
一面
查看原面经 →
项目追问
为什么选用langraph,里面的主要状态节点是怎么样的,有没有设置过checkpoint,有什么作用

腾讯

后端开发工程师(Agent 项目)
社招一面
查看原面经 →
追问
为什么用这个框架,技术选型

百度

面经合集
查看原面经 →
项目的设计思路是什么,最初是如何想到这个方案的;追问:为什么使用 LangGraph?

收录题集

5 份

公司案例问答汇编

阿东玩 AI · AgentGuide · 1 条原题

查看题集 →

Agent 框架选择问答

阿东玩 AI · AgentGuide · 1 条原题

查看题集 →

项目讲述追问

阿东玩 AI · AgentGuide · 1 条原题

查看题集 →

Agent与工具调用

阿东玩 AI · AgentGuide · 2 条原题

查看题集 →

AIGC时代AI Agent基础

Rocky Ding · AIGC-Interview-Book · 1 条原题

查看题集 →

相关题目

4 题