LangGraph:构建生产级 AI Agent 的图框架
📖 简介
📝 详细介绍
Chain 不够用了:Agent 需要图
早期的 LLM 应用都是线性的Chain:输入 → Prompt → LLM → 输出。但真正的 AI Agent 需要循环(反复调用工具直到任务完成)、条件分支(根据 LLM 的决策走不同路径)、暂停等待(人工介入审核后再继续)。这些用 Chain 来表达非常别扭。
LangGraph 的解决方案很简单但深刻:Agent 的状态机本质就是一张图。节点是"做什么",边是"接下来去哪"。就这么一个抽象,让 Agent 的逻辑变得无比清晰。
GitHub 数据
| 指标 | 数据 |
|---|---|
| Stars | 128,000+(含 LangChain 仓库) |
| 主语言 | Python / TypeScript |
| 开源协议 | MIT |
| 最近更新 | 2026 年 7 月(周更 3-5 次) |
| 所属组织 | LangChain AI |
核心概念:状态图
LangGraph 的核心就是 StateGraph:
from langgraph.graph import StateGraph, END
graph = StateGraph(AgentState)
# 添加节点
graph.add_node("call_llm", call_llm)
graph.add_node("take_action", take_action)
# 添加边
graph.add_edge("call_llm", "take_action")
graph.add_conditional_edges(
"take_action",
should_continue, # 条件函数:返回 "end" 或 "continue"
{"end": END, "continue": "call_llm"}
)
关键区别:add_conditional_edges 让 LLM 的每一次输出决定下一步走哪条路,而不是硬编码的 Chain。
生产级特性
人机交互(Human-in-the-Loop)
LangGraph 内置了interrupt 机制。Agent 在执行到关键步骤时(如"确认下单")可以自动暂停,等待人工输入后再继续。这在金融、医疗等需要审核的场景中至关重要。
@interrupt
def confirm_payment(state):
# 暂停等待人工确认
decision = get_user_input("确认支付 $99?")
return {"confirmed": decision == "yes"}
持久化状态
每个 Agent 会话的状态可以被序列化到数据库(支持 Postgres、SQLite、Redis)。即使服务器宕机,重启后 Agent 从断点继续执行,进度零丢失。这对长时间运行的数据处理任务极其重要。
流式输出
LangGraph 支持逐 Token 流式输出,同时保留完整的事件流——每一轮 LLM 调用、工具执行、状态变更都能以事件形式推送给前端,实现"思考过程可见"。
快速上手
pip install langgraph langgraph-cli
# 最简单的 ReAct Agent
from langgraph.prebuilt import create_react_agent
from langchain_openai import ChatOpenAI
model = ChatOpenAI(model="gpt-4o")
tools = [...] # 注册你的工具
agent = create_react_agent(model, tools)
result = agent.invoke({"messages": [("user", "帮我查一下天气并写一首诗")]})
技术架构
LangGraph 的执行引擎基于消息传递(Message Passing)模式。每个节点接收State,返回对 State 的修改。引擎负责合并这些修改并触发后续节点。这种设计带来了两个好处:
- 可恢复性:每条消息都持久化,可以从任意点回放
- 可调试性:完整的执行轨迹可以导出为 JSON,用 LangSmith 可视化分析
同类对比
| 框架 | 循环支持 | 人机交互 | 状态持久化 | 学习曲线 |
|---|---|---|---|---|
| LangGraph | ★★★★★ | ★★★★★ | ★★★★★ | ★★★ |
| CrewAI | ★★★ | ★★ | ★★★ | ★★★★★ |
| AutoGen | ★★★★ | ★★★ | ★★ | ★★ |
| OpenAI Assistants API | ★★ | ★ | ★★★★ | ★★★★★ |
总结
LangGraph 用状态图的抽象抓住了 Agent 编排的本质——循环、条件、暂停。如果你正在构建需要可靠执行、可审计、可恢复的 AI Agent,LangGraph 是目前最成熟的选择。推荐给:Agent 应用开发者、RAG 系统工程师、需要复杂工作流编排的团队。
AI 项目推荐
智能体- 标签
- #AI Agent #状态图 #工作流编排 #LLM #自动化
- 浏览
- 👁️ 17
- 发布日期
- 2026-07-21