Way To Agent
LangChain / LangGraph 实战

LangGraph 总览

介绍 LangGraph 的 StateGraph、节点、边和条件分支,以及它适合多步骤 Agent 的原因。

LangChain / LangGraph 实战beginnerLangGraphStateGraphAgent状态流转

LangGraph 总览

LangGraph 不是把流程图画得更花,而是把“带状态的多步骤 AI 任务”变成可以定义、执行、中断和恢复的图结构。如果 LangChain 更像把一条链接起来,LangGraph 更像在问:这条链什么时候该分叉、什么时候该回退、状态该记在哪里。

很多人第一次看到 LangGraph,会把它理解成“Agent 版工作流框架”。这个说法只对了一半。它确实能表达流程,但它真正有价值的地方,是让系统在保留工程约束的前提下,把一部分下一步决策交给状态和模型。

为什么只有 LangChain 还不够

当你的 AI 功能只是“检索一下,再回答一下”,普通链路就够了。LangGraph 通常出现在下面这些情况:

  • 任务不是一步做完,而是要多轮推进。
  • 中间结果会影响下一步走向。
  • 你需要保留状态,允许中断、恢复或人工接管。
  • 同一目标下,系统可能进入不同分支,而不是固定路线。

也就是说,LangGraph 解决的不是“能不能连起来”,而是“连起来之后怎么继续跑”。

它真正管理的是什么

LangGraph 的名字里有 Graph,但重点不在图,而在状态。

从工程角度看,它真正接住的是这三件事:

  • State:当前任务已经知道什么、做到哪一步。
  • Node:每一步对状态做什么处理。
  • Edge:下一步往哪里走,什么时候结束,什么时候换分支。

如果没有状态设计,节点再多也只是把复杂逻辑拆碎;如果状态设计清楚,图本身反而可以很简单。

一个最小状态图长什么样

一个最小的 LangGraph 思路,大概会像这样:

接收任务
  -> 分析当前上下文
  -> 决定是直接回答、检索知识还是调用工具
  -> 根据执行结果更新状态
  -> 判断是否继续
  -> 结束

这和固定 Workflow 的差异在于:下一步不是预先写死的唯一节点,而是根据当前状态和结果决定的。你可以把它理解为“有约束的动态分支”,而不是“随便让模型乱跑”。

什么时候它值得上场

以 Way To Agent 当前知识库路线为例,现在之所以只把 LangGraph 作为后续阅读,而不是一上来就拿它做主角,是因为当前读者先要理解 Agent 为什么需要状态和动态决策。等这些边界站稳之后,再看 LangGraph 会更容易判断它到底解决了什么。

真正值得引入 LangGraph 的场景,通常有这些特征:

  • 你已经明确存在多步骤任务,而不是想象中可能会有。
  • 你需要把状态作为一等对象管理。
  • 你需要条件分支、中断恢复或人工接管。
  • 你不满足于“把几个节点串起来”,而是要管理任务推进过程。

如果这些特征都还没出现,先用普通链路或简单 Workflow 往往更稳。

最容易画复杂的地方

LangGraph 很容易被用坏。最常见的问题不是不会用,而是太早把图画复杂:

  • 节点拆得过细,结果没人看得懂状态是怎么变的。
  • 分支太多,最后排查时只剩“可能是某条边出了问题”。
  • 把本该由后端确定的业务规则交给图里的节点临场判断。
  • 还没确认任务真需要动态决策,就先上图结构。

图不是价值本身。能把状态、分支和停止条件说明白,才是价值。

什么时候后面有必要换

当前只需要把 LangGraph 当成一个例子,理解“为什么在有状态、多步骤、动态分支的场景里,会需要这样一层框架”。等后面你真的遇到下面这些问题,再考虑是否要进一步深入它、替换掉更简单的实现:

  • 现有链路已经开始堆满条件判断和临时状态。
  • 单纯靠函数调用顺序已经很难描述任务推进。
  • 你需要明确的恢复点、人工介入点和状态持久化。
  • 你想评估每一步决策,而不是只看最终答案。

这时再回头看 LangGraph,你会更清楚它是在替你接住复杂度,而不是单纯增加一个新名词。

一句话先记住

LangGraph 的重点不是图,而是让多步骤 Agent 的状态和分支有了清晰的工程落点。

继续阅读

  • 06-agent/001-what-is-agent.md:如果 Agent 与 Workflow 的边界还没站稳,先回去把定义读清楚。
  • 06-agent/002-function-calling.md:再看图里的节点怎样真正落到工具调用契约。
  • 09-ai-agent-engineering/001-ai-engineering-overview.md:最后看一个多步骤 Agent 为什么必须补齐日志、成本、评估和安全。