LangGraph
链(LangChain)是写死的流水线;图(LangGraph)带状态、能循环、能按条件走不同边。适合要重试、分支、多 Agent 的工作流。
重点 LangGraph 的使用步骤
- 定义状态 — 用
TypedDict声明工作流里要流转的字段(如messages、next)。节点读写的都是这份状态。 - 创建 StateGraph —
StateGraph(State),把状态类型传进去。 - 定义节点函数 — 函数签名:接收当前状态,返回要 更新 的字段(不是每次都重写整份状态)。
- 添加节点 —
add_node("名字", 函数)。 - 设置入口点 — 兼容写法是
set_entry_point("起始节点");当前 Graph API 也常用add_edge(START, "起始节点"),条件入口则从START添加条件边。 - 添加边 — 固定走向用
add_edge();按状态选下一跳用add_conditional_edges()。需要在同一节点同时更新状态和路由时用Command。结束接到END。 - 编译 —
compile()得到可执行图(可在这里挂 checkpointer 做持久化,编译即可)。 - 执行 —
invoke(初始状态);流式可用stream。
顺序:状态 → 图画板 → 节点函数 → 挂点 → 入口 → 连边 → 编译 → invoke。
机制上的环和停止条件看 Agent 知识点。