LangGraph 使用介绍:功能、价格与上手指南
LangGraph 是 LangChain 生态中用于构建有状态、多步骤 AI 工作流的图框架。本文介绍其核心功能、定价模式、快速上手步骤,并给出适用场景与学习建议。
什么是 LangGraph?
LangGraph 是 LangChain 团队推出的开源框架,用于构建有状态、多步骤的 AI 工作流。它把任务抽象为图(Graph)结构,节点代表处理单元,边代表执行顺序,从而支持循环、分支和人工介入等复杂逻辑。
与传统的链式调用不同,LangGraph 更适合需要记忆、条件判断和多次迭代的 Agent 场景。
LangGraph 核心功能
1. 图结构工作流
LangGraph 使用节点(Node)和边(Edge)定义流程。节点可以是 LLM 调用、工具执行或自定义函数;边决定下一步走向。
2. 状态管理
通过共享状态(State)在节点间传递数据,支持追加、覆盖等更新方式,适合多轮对话和任务追踪。
3. 条件分支与循环
可根据状态动态选择路径,实现重试、反思、多轮推理等模式。
4. 人工介入
支持在关键节点暂停,等待人工审核后再继续执行。
5. 持久化与检查点
可保存执行过程,支持断点续跑和时间旅行调试。
6. 流式输出
兼容流式响应,适合实时交互应用。
LangGraph 价格
LangGraph 本身是开源免费的,采用 MIT 许可证。你可以自行部署,无额外授权费用。
但实际使用中可能产生以下成本:
| 项目 | 说明 |
|---|---|
| LLM API 费用 | 调用 OpenAI、Anthropic 等模型按 token 计费 |
| LangSmith | 可选的调试与监控平台,有免费额度,超出后按量付费 |
| 云资源 | 若部署在云服务器,需支付计算与存储费用 |
对于个人学习和小型项目,基本可以零成本起步。
如何快速上手 LangGraph
第一步:安装
pip install langgraph
如需使用 LangChain 集成,可一并安装:
pip install langchain langchain-openai
第二步:定义状态
from typing import TypedDict
class State(TypedDict):
messages: list
第三步:创建节点与图
from langgraph.graph import StateGraph, END
def chatbot(state: State):
return {"messages": state["messages"] + ["回复"]}
graph = StateGraph(State)
graph.add_node("chatbot", chatbot)
graph.set_entry_point("chatbot")
graph.add_edge("chatbot", END)
app = graph.compile()
第四步:运行
result = app.invoke({"messages": ["你好"]})
print(result)
第五步:添加条件边
def should_continue(state: State):
if len(state["messages"]) > 5:
return "end"
return "continue"
graph.add_conditional_edges("chatbot", should_continue, {
"continue": "chatbot",
"end": END
})
适用场景
- 多轮对话机器人
- 需要工具调用的 Agent
- 复杂任务分解与规划
- 带人工审核的自动化流程
- 多 Agent 协作系统
学习建议
- 先熟悉 LangChain 基础概念
- 从官方文档的 Quick Start 入手
- 动手实现一个带条件分支的小项目
- 逐步引入持久化和人工介入
常见问题
LangGraph 和 LangChain 有什么区别?
LangChain 侧重链式调用和组件集成;LangGraph 侧重图结构、状态和循环控制,更适合复杂 Agent。
LangGraph 必须付费吗?
不需要。框架开源免费,仅在使用第三方 API 或 LangSmith 时产生费用。
适合初学者吗?
有一定 Python 和 LLM 基础后上手较快;完全新手建议先学习 LangChain 基础。
结论
LangGraph 是构建复杂 AI 工作流的实用工具,开源免费、功能灵活。通过定义状态、节点和边,你可以快速搭建带分支、循环和人工介入的智能应用。建议从官方示例开始,逐步深入。