LangGraph 入门学习:从 0 开始理解 AI 工作流编排

onlysheep
32
2026-05-29

作为一个后端开发者,刚接触 AI Agent 的时候,我一直有个疑问:
大模型能理解问题,但复杂业务流程怎么控制?

比如:

  • 用户提问 → 查询知识库 → 判断是否命中 → 调接口 → 汇总结果 → 返回答案

  • 多步骤审批建议

  • 多 Agent 协同执行任务

如果只是简单聊天,直接调用大模型 API 就够了。但一旦进入复杂业务流程,传统 Prompt 已经不太够用了。

于是,我开始接触一个专门做 AI 工作流编排 的框架 —— LangGraph

本文从 0 开始,带你快速理解 LangGraph 是什么、解决什么问题,以及如何跑通第一个 AI 工作流。


一、什么是 LangGraph?

LangGraph 是一个基于图(Graph)的 AI Agent 工作流框架,它由 LangChain 团队推出。

简单理解:

LangChain 负责“能力”,LangGraph 负责“流程”。

如果把 AI Agent 比作员工:

  • LLM(大模型) → 员工的大脑

  • LangChain → 员工会用的工具

  • LangGraph → 员工的工作流程

比如:

一个客服 AI:

用户问题
   ↓
意图识别
   ↓
知识库查询
   ↓
是否命中?
 ┌──────┴──────┐
命中          未命中
 ↓             ↓
回答用户     调用搜索
 └──────┬──────┘
        ↓
     输出结果

这个流程,就是 LangGraph 擅长的事情。


二、为什么需要 LangGraph?

很多人一开始会想:

“直接写 if else 不就行了?”

确实可以。

但问题是:

当业务越来越复杂时:

if (命中知识库) {
    if (需要接口调用) {
        if (权限允许) {
            ...
        }
    }
}

最后代码会变成“面条代码”。

而 LangGraph 的思路是:

把流程抽象成图结构。

每个步骤是一个节点(Node),节点之间的跳转是边(Edge)。

这样:

  • 更容易维护

  • 更适合复杂流程

  • 更适合多 Agent 协作

  • 更容易加入人工审核

特别适合:

  • AI 知识库

  • 智能审批

  • 智能客服

  • 数据分析助手

  • 企业流程自动化


三、LangGraph 的核心概念

学 LangGraph,先记住 4 个核心概念。

1. State(状态)

State 可以理解成:

流程中的共享数据

类似 Java 里的上下文对象。

例如:

class State(TypedDict):
    question: str
    answer: str

意思是:

流程中始终共享:

  • 用户问题

  • AI 回复

流程里的每个节点,都可以修改 State。

类似:

Map<String,Object> context

或者:

RequestContext

2. Node(节点)

Node 就是:

执行某个动作的方法

比如:

  • 调用大模型

  • 查询数据库

  • 调接口

  • 判断逻辑

示例:

def chatbot(state):
    return {
        "answer": llm.invoke(state["question"])
    }

这里:

chatbot 就是一个节点。

作用:

根据问题生成答案。


3. Edge(边)

Edge 表示:

流程执行路径

例如:

A → B → C

表示:

先执行 A,再执行 B,再执行 C。

代码:

graph.add_edge("chat", END)

意思:

执行完 chat 后结束。


4. Conditional Edge(条件边)

条件边是:

根据结果动态决定走向

例如:

知识库命中:

查询知识库
     ↓
是否命中?
   /    \
 是      否
 ↓        ↓
直接回答  搜索网络

代码:

graph.add_conditional_edges(
    "search",
    route
)

类似:

switch(type)

但更灵活。


四、第一个 LangGraph 示例

下面写一个最简单的聊天流程。

安装依赖

先安装:

pip install langgraph
pip install langchain-openai

编写代码

from typing import TypedDict
from langgraph.graph import StateGraph, END
from langchain_openai import ChatOpenAI

llm = ChatOpenAI(
    model="gpt-4o-mini"
)

class State(TypedDict):
    question: str
    answer: str

def chatbot(state):
    response = llm.invoke(state["question"])

    return {
        "answer": response.content
    }

graph = StateGraph(State)

graph.add_node("chatbot", chatbot)

graph.set_entry_point("chatbot")

graph.add_edge("chatbot", END)

app = graph.compile()

result = app.invoke({
    "question": "什么是LangGraph?"
})

print(result)

输出:

{
   'question': '什么是LangGraph?',
   'answer': 'LangGraph 是一个 AI 工作流框架...'
}

五、代码执行流程解析

第一次看可能有点懵。

其实流程特别简单:

用户输入问题
      ↓
进入 chatbot 节点
      ↓
调用大模型
      ↓
更新 state
      ↓
结束

对应代码:

graph.set_entry_point("chatbot")

入口节点:

chatbot

然后:

graph.add_edge(
    "chatbot",
    END
)

执行完成直接结束。

所以:

整个 Graph:

START
   ↓
chatbot
   ↓
END

六、LangGraph 和 LangChain 的区别

很多人会混淆。

一句话:

LangChain 是工具链,LangGraph 是工作流。

区别:

对比项

LangChain

LangGraph

定位

AI 工具调用

AI 流程编排

适合

简单链式调用

复杂业务流程

是否支持循环

一般

支持

多 Agent

一般

状态管理

较弱

如果只是:

用户问题 → 大模型 → 输出

LangChain 足够。

但如果:

用户问题
   ↓
知识库
   ↓
判断
   ↓
搜索
   ↓
人工审核
   ↓
最终输出

建议:

用 LangGraph。


七、适合哪些项目?

我觉得特别适合下面几类系统:

1. 企业知识库问答

例如:

员工问:

出差报销流程是什么?

流程:

提问
 ↓
知识库检索
 ↓
是否命中
 ↓
答案返回

2. 智能审批助手

比如:

合同审批:

读取合同
 ↓
风险分析
 ↓
是否异常
 ↓
人工确认
 ↓
审批建议

这种和企业 OA、PDM 系统很搭。


3. 多 Agent 协同

例如:

规划 Agent
 ↓
代码 Agent
 ↓
测试 Agent
 ↓
总结 Agent

多个 AI 协同完成任务。


八、学习建议

如果你刚开始学:

建议路线:

第一步:先理解 Graph 思维

不要急着写复杂 Agent。

先搞懂:

  • Node

  • Edge

  • State

知道流程怎么跑。


第二步:写简单工作流

例如:

输入
 ↓
分类
 ↓
回答

第三步:接知识库

RAG + LangGraph。


第四步:接业务系统

比如:

  • 数据库

  • REST API

  • 企业流程

真正做业务闭环。


九、总结

一句话总结:

LangGraph 本质上是“给 AI 加流程控制”。

它让大模型不只是聊天,而是:

按规则完成复杂任务。

如果你做的是:

  • AI 知识库

  • 企业系统

  • 智能审批

  • 多步骤业务流程

那么 LangGraph 值得认真学习。

对于后端开发者来说,可以把它理解成:

“AI 世界里的流程引擎。”

下一篇准备继续研究:

如何用 LangGraph 做一个简单的知识库问答 Agent。

动物装饰