LangGraph 入门,层级介绍LangGraph
一、LangGraph有哪些特点
做 AI 开发时,你是否遇到过这些问题?
- 用 LangChain 写的流程是 “线性的”,一步错全错,没法根据中间结果动态调整;
- 多智能体协作时,数据没法在不同模块间共享,对话上下文经常 “断档”;
- 想做循环任务(比如多轮工具调用),代码嵌套得像 “千层饼”,维护成本极高。
LangGraph 的出现正好解决这些问题 —— 它用有向循环图(DCG) 替代传统线性 / 树状结构,把 AI 任务抽象成 “节点(计算单元)+ 边(流向逻辑)+ 状态(数据容器)” 的组合,让复杂流程的搭建变得灵活、可复用。
二、LangGraph核心三要素
LangGraph 的核心架构如图 2-1 所示,三个要素缺一不可:
1、节点(Node):工作流的 “最小执行单元”你可以把节点理解成 “AI 任务的小模块”,常见类型有 4 种:
- 大语言模型调用节点:对接 GPT、DeepSeek 等模型,负责文本生成;
- 工具调用节点:调用搜索、数据库查询等外部工具,扩展 AI 能力;
- 自定义函数节点:封装 Python 函数,比如数据清洗、规则判断;
- 子图节点:把一组节点打包成 “子模块”,适合复杂系统的模块化拆分。
2、边(Edge):节点间的 “交通指挥官”边定义了节点的执行顺序,关键类型有 2 种:
- 普通边:线性连接,比如 “节点 A 执行完→节点 B 执行”,适合简单流程;
- 条件边:按规则动态跳转,比如 “如果结果包含‘需要搜索’→工具节点,否则→输出节点”,这是实现 “决策型 AI” 的核心。
3、状态(State):节点间的 “共享黑板”状态是 LangGraph 的 “灵魂”,它像一个全局容器,能做 4 件事:
- 存上下文:记录对话历史、任务进度,避免 “失忆”;
- 传数据:节点 A 的输出写入状态,节点 B 从状态读输入,实现协同;
- 持久化:把状态存到内存 / 数据库,支持任务中断后恢复;
- 多智能体共享:多个 AI 模块共用一套状态,不用重复传数据。
三、LangGraph和LangChain相比的优缺点
我通过AI总结了一张图,方便理解:
对比维度 | LangChain | LangGraph |
---|---|---|
流程结构 | 线性顺序执行 | 非线性,支持循环、条件判断 |
状态管理 | 基础上下文管理 | 全局状态容器,支持持久化 |
核心适用场景 | 简单问答、单智能体聊天 | 多步骤推理、多智能体协作 |
学习门槛 | 低 | 中等(需理解基础图论) |
简单说:做 “基础任务”(比如文档问答)用 LangChain 足够;做 “复杂任务”(比如多智能体协作写报告、多轮工具调用),LangGraph 是更优解。
四、LangGraph的环境如何搭建
环境搭建十分简单方便对于pycharm用户直接使用pip命令下载即可:
pip install -U langgraph # 核心库
# 如果需要对接大模型,再装对应的集成库,比如:
pip install -U langchain-deepseek # DeepSeek模型集成
pip install -U langchain-openai # OpenAI模型集成