个人主页 for_ever_love__ 欢迎各位大佬莅临其他栏目: 大模型开发从0到1 其他栏目: iOS项目总结大全 其他栏目: 我想学python了 其他栏目: iOS UI 文章目录LangGraph 入门为什么 Agent 需要图编排LangGraph 入门为什么 Agent 需要图编排很多人第一次写 Agent用的都是 ReAct 那种「一个 while 循环套着 思考 → 调工具 → 观察」的写法。短任务确实好用可一旦任务变长、步骤变多就会暴露三个绕不开的短板只能一条直线走流程是线性的想循环重试、想根据不同结果走不同分支都很别扭状态记不住代码跑完一轮就清空中途崩了只能从头再来没法「接着上次的地方继续」人插不进去你想在某个关键节点让人工确认一下纯循环结构几乎要重写才能塞进去。LangGraph 的思路是把 Agent 的执行过程建模成一张图Graph节点Node是每一步要干的事边Edge是步骤之间怎么流转而一张共享的**状态State**在节点之间传递。有了这张图上面三个问题都迎刃而解——图天然支持循环和条件分支状态可以被持久化人也可以在任意节点介入。下面是最朴素的一张图感受一下结构fromtypingimportTypedDictfromlanggraph.graphimportStateGraph,START,ENDclassState(TypedDict):question:stranswer:strdefthink(state:State)-State:# 真实场景里这里会调用大模型return{answer:f关于「{state[question]}」的回答}graphStateGraph(State)graph.add_node(think,think)# 注册一个节点graph.add_edge(START,think)# 入口连到 thinkgraph.add_edge(think,END)# think 之后到出口appgraph.compile()# 编译成可运行的 appresultapp.invoke({question:LangGraph 是什么})print(result[answer])注意app.invoke的输入和输出都是同一份State你喂进去一个问题图跑完把填好的answer还给你。这就是 LangGraph 最核心的心智模型——所有节点都围绕同一份状态读写。和「链式Chain」相比图的关键差异在于它允许环路和分支。比如一个节点跑了之后可以回到上一个节点再试一次或者根据模型输出决定下一步走哪条边。后面几篇会逐个拆开讲先定义状态StateGraph、再加节点与边、然后上条件路由、持久化、人机协同……循序渐进把这张图真正用起来。一句话总结当你需要的不是一个「一次性流水线」而是一个能循环、能判断、能记住、能让人参与的智能体时就该用 LangGraph 了。