LangGraph 入门

LangGraph 是什么:把智能体画成一张图

LangGraph 入门第一课:为什么编排要"图化",State/Node/Edge 三要素与第一个可运行的图。

为什么需要 LangGraph

旧的 AgentExecutor 是黑盒循环:只能线性跑,难分支、难并行、难人工介入。LangGraph 把智能体建模为带状态的图:流程看得见、改得动、停得下 —— 生产级 Agent 的编排底座(LangChain 官方新项目都基于它)。

三个核心概念(先背下来)

  • State(状态):一个共享的 TypedDict,节点间传递与累加更新;
  • Node(节点):普通函数,读状态、干活、返回状态更新;
  • Edge(边):节点间的转移规则,条件边实现分支与循环。

第一个可运行的图

pip install langgraph
from langgraph.graph import StateGraph, MessagesState, START, END

def chatbot(state: MessagesState):
    return {"messages": [llm.invoke(state["messages"])]}

graph = StateGraph(MessagesState)
graph.add_node("chatbot", chatbot)
graph.add_edge(START, "chatbot")
graph.add_edge("chatbot", END)

app = graph.compile()
result = app.invoke({"messages": [("user", "你好")]})
print(result["messages"][-1].content)

图化带来的四大能力

  • 可控分支与循环:条件边随意组合拓扑;
  • 持久化:任意步骤暂停/恢复(checkpoint);
  • 可观察:每个节点的出入都可在 LangSmith 查看;
  • 流式:逐节点/逐 token 推送中间状态。

本站《智能体编排》与《Harness》课程反复出现的"可控循环 + 状态 + 轨迹",在 LangGraph 里就是这套原语。

📝 课后练习

quiz-1 相比旧的 AgentExecutor,LangGraph 的核心优势是?