LangGraph基础

LangGraph是LangChain团队推出的图编排框架,专为构建复杂Agent而设计。

预计阅读时间:25分钟·难度:中级

什么是LangGraph

LangGraph基于状态机思想,将Agent建模为有向图,每个节点是一个处理步骤。

核心优势

  • 可控性:精确控制执行流程
  • 可观测:清晰的执行路径追踪
  • 可持久化:支持状态保存和恢复
  • 循环支持:原生支持循环和条件分支

核心概念

StateGraph

状态图,定义整个工作流的结构

Node

节点,执行特定操作(如调用LLM、执行工具)

Edge

边,定义节点之间的转移条件

State

状态,在节点之间传递和更新的数据

快速开始

from langgraph.graph import StateGraph, END

# 定义状态
class State(TypedDict):
    messages: list

# 创建图
graph = StateGraph(State)

# 添加节点
graph.add_node("agent", agent_node)
graph.add_node("tools", tool_node)

# 添加边
graph.add_edge("agent", "tools")
graph.add_edge("tools", END)

# 编译
app = graph.compile()
----