文章介绍了基于DAG的Multi-Agent框架LangGraph及其核心概念State、Node、Graph。通过“把大象装进冰箱”的经典案例详细演示了如何定义状态类、编写节点函数、构建工作流图并运行帮助开发者快速上手LangGraph开发。1、LangGraph 简介随着大模型技术的不断演进AI Agent 成为了大模型领域的焦点。开发者们纷纷投身其中期望构建出能够自主决策、灵活交互的智能体。在这片竞争激烈的技术蓝海中LangGraph 作为从 LangChain 孵化而来的独立平台迅速崛起为 Multi-Agent 开发框架中的佼佼者。LangGraph 基于有向无环图DAG这一核心数据结构通过节点Node和边Edge的组合使得开发者能够快速地搭建起一个Multi-Agent 系统。对于追求高效、可靠开发的工程师们来说LangGraph 的核心优势在于敏捷高效凭借简洁统一的开发架构将复杂 AI Agent 开发流程标准化降低开发门槛开发者可快速复用节点与工作流模板减少重复性开发工作大幅缩短项目周期实现从构思到落地的高效转化 。可靠性和可控性通过审核检查与人工介入机制确保智能体行动精准合规同时能在长期工作流中保留上下文让智能体行动始终保持正确方向。高可扩展性开发者可摆脱固有框架束缚使用完全描述性的底层原语自由定制智能体轻松设计满足各类需求的可扩展多智能体系统。原生流式支持支持逐个 token 流式传输和中间步骤流式输出实时呈现智能体推理过程增强交互透明度。从企业级复杂业务流程自动化到创新型智能交互应用开发LangGraph 都能成为开发者手中的得力工具。接下来就让我们开启 LangGraph 的快速入门之旅探索其强大功能与魅力。2、LangGraph 的核心概念LangGrapg 有三个最核心的概念分别是State、Node 和 Graph 对这几个概念的具体理解如下State状态其中记录了智能体运行过程中的所有信息涵盖输入数据、中间计算结果和最终输出为智能体的持续运行提供上下文。状态内的参数可以在多个节点间保存和流转是节点间通信的核心机制。Node节点它是构成 LangGraph 的基本单元。每个 Node 可实现特定功能例如数据处理、逻辑判断或调用外部 API。GraphGraph 就是最终的图结构由众多 Node 通过特定逻辑连接而成定义了智能体的整体工作流程各 Node 在其中协同运作推动 AI Agent 完成复杂任务。3、把大象装进冰箱接下来我们通过一个例子展示下如何使用LangGraph快速构建一个简单的多步骤工作流。相信大家一定看过赵本山和宋丹丹的经典小品《钟点工》里面有这样一段台词要把大象装冰箱总共分三步第一步把冰箱门打开第二步把大象装进去第三步把冰箱门带上。首先让我们看看完整的实现代码from IPython.display import Image, displayfrom langgraph.constants import START, ENDfrom langgraph.graph import StateGraphfrom langgraph.graph.state import CompiledStateGraphfrom typing_extensions import TypedDict # 1. 定义状态class ElephantInFridgeState(TypedDict): 定义状态——大象在冰箱中 状态内的参数可以在多个节点间保存和流转 fridge_open: bool # 冰箱门是否打开 elephant_inside: bool # 大象是否在冰箱内 # 2. 定义每个步骤的处理节点def open_fridge(state: ElephantInFridgeState) - ElephantInFridgeState: 第一步: 把冰箱门打开 print(正在打开冰箱门...) # 执行当前节点业务逻辑 print(冰箱门已打开) # 更新状态 state[fridge_open] True # 当前节点处理完成,更新状态 return state def put_elephant(state: ElephantInFridgeState) - ElephantInFridgeState: 第二步: 把大象放进去 # 获取当前状态 if not state[fridge_open]: raise ValueError(冰箱门未打开无法放入大象) # 执行当前节点业务逻辑 print(正在把大象放入冰箱...) print(大象已放入冰箱) # 更新状态 state[elephant_inside] True # 当前节点处理完成,更新状态 return state def close_fridge(state: ElephantInFridgeState) - ElephantInFridgeState: 第三步: 把冰箱门带上 # 获取当前状态 if not state[elephant_inside]: print(警告冰箱内没有大象是否确认关闭) # 执行当前节点业务逻辑 print(正在关闭冰箱门...) print(冰箱门已关闭) # 更新状态 state[fridge_open] False # 当前节点处理完成,更新状态 return state # 3. 构建Graph工作流图def build_graph() - CompiledStateGraph: 构建把大象装冰箱的工作流程图 # 创建图对象StateGraph graph StateGraph(ElephantInFridgeState) # 添加节点Node graph.add_node(open_fridge, open_fridge) graph.add_node(put_elephant, put_elephant) graph.add_node(close_fridge, close_fridge) # 添加起始边 graph.add_edge(START, open_fridge) # 添加边Edge,将节点连接起来,形成工作流 graph.add_edge(open_fridge, put_elephant) graph.add_edge(put_elephant, close_fridge) # 添加结束边 graph.add_edge(close_fridge, END) # 返回编译好的图Graph return graph.compile() # 4. 运行Graph工作流def run_workflow(): 运行把大象装冰箱的工作流 # 构建图 graph build_graph() # 定义初始状态 initial_state ElephantInFridgeState(fridge_openFalse, elephant_insideFalse) # 运行图 result graph.invoke(initial_state) # 输出最终状态 print(/n工作流执行完毕最终状态:) print(f冰箱门状态: {打开 if result[fridge_open] else 关闭}) print(f大象是否在冰箱内: {是 if result[elephant_inside] else 否}) # 可视化工作流图 display(Image(graph.get_graph().draw_mermaid_png())) return result # 执行入口if __name__ __main__: final_state run_workflow()接下来我们详细分析下这段代码的功能。定义状态类我们首先创建了ElephantInFridgeState类它继承自 LangGraph的TypedDict基类是一种 key-value 的结构用于管理整个工作流的状态。这个类包含两个 bool 类型属性fridge_open表示冰箱门是否打开elephant_inside表示大象是否在冰箱内这些状态变量将在各个节点之间传递通过节点间的通信与协作确保工作流的连贯性。定义工作流节点我们为三个步骤分别创建了函数作为节点open_fridge负责将冰箱门状态设置为打开。put_elephant检查冰箱门是否打开并将大象放入冰箱。close_fridge关闭冰箱门并在冰箱内没有大象时发出警告。我们可以看到每个节点都遵循这样的处理范式从状态中获取所需数据。执行当前节点的业务逻辑。更新状态。返回处理后的状态。这种设计确保了状态在整个工作流中的一致性和可追踪性。构建工作流图build_graph函数负责将各个节点连接成完整的工作流创建StateGraph实例添加三个工作步骤作为节点通过 add_edge 方法添加边定义节点之间的执行顺序添加起始边和结束边。这里 START 和 END 是 LangGraph 内置的常量分表代表图的起始和结束节点。这种图结构的设计让我们可以轻松定义复杂的工作流包括条件分支、循环、回退、异步等高级特性。运行工作流run_workflow函数演示了如何编译和执行工作流构建图初始化状态编译图并执行输出最终状态通过这种方式我们可以清晰地看到每个步骤的执行结果以及整个工作流的最终状态。这里我还通过可视化的方式打印了整个图的结构运行结果最后我们执行入口函数就可以看到如下的效果这个简单的例子展示了LangGraph的核心功能通过状态管理、节点定义和图构建我们可以创建复杂的工作流每个步骤都可以独立开发和测试同时保持整体的一致性和可控性。4、小结通过对 LangGraph 的优势解析、核心概念拆解及 “把大象装冰箱” 的实战演练我们清晰看到LangGraph 以简洁高效的架构将复杂 AI Agent 开发流程化繁为简。它通过 State、Node 和 Graph 的有机结合赋予开发者精准掌控智能体行为的能力无论是基础任务的有序推进还是复杂场景的多智能体协作都能从容应对。在 AI Agent 蓬勃发展的当下LangGraph 不仅是开发者提升开发效率的利器更为创新应用的落地提供了坚实支撑有望推动人工智能迈向更智能、更灵活的新阶段。如何学习大模型 AI 由于新岗位的生产效率要优于被取代岗位的生产效率所以实际上整个社会的生产效率是提升的。但是具体到个人只能说是“最先掌握AI的人将会比较晚掌握AI的人有竞争优势”。这句话放在计算机、互联网、移动互联网的开局时期都是一样的道理。我在一线科技企业深耕十二载见证过太多因技术卡位而跃迁的案例。那些率先拥抱 AI 的同事早已在效率与薪资上形成代际优势我意识到有很多经验和知识值得分享给大家也可以通过我们的能力和经验解答大家在大模型的学习中的很多困惑。我们整理出这套AI 大模型突围资料包✅ 从零到一的 AI 学习路径图✅ 大模型调优实战手册附医疗/金融等大厂真实案例✅ 百度/阿里专家闭门录播课✅ 大模型当下最新行业报告✅ 真实大厂面试真题✅ 2026 最新岗位需求图谱所有资料 ⚡️ 朋友们如果有需要《AI大模型入门进阶学习资源包》下方扫码获取~① 全套AI大模型应用开发视频教程包含提示工程、RAG、LangChain、Agent、模型微调与部署、DeepSeek等技术点② 大模型系统化学习路线作为学习AI大模型技术的新手方向至关重要。 正确的学习路线可以为你节省时间少走弯路方向不对努力白费。这里我给大家准备了一份最科学最系统的学习成长路线图和学习规划带你从零基础入门到精通③ 大模型学习书籍文档学习AI大模型离不开书籍文档我精选了一系列大模型技术的书籍和学习文档电子版它们由领域内的顶尖专家撰写内容全面、深入、详尽为你学习大模型提供坚实的理论基础。④ AI大模型最新行业报告2025最新行业报告针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估以了解哪些行业更适合引入大模型的技术和应用以及在哪些方面可以发挥大模型的优势。⑤ 大模型项目实战配套源码学以致用在项目实战中检验和巩固你所学到的知识同时为你找工作就业和职业发展打下坚实的基础。⑥ 大模型大厂面试真题面试不仅是技术的较量更需要充分的准备。在你已经掌握了大模型技术之后就需要开始准备面试我精心整理了一份大模型面试题库涵盖当前面试中可能遇到的各种技术问题让你在面试中游刃有余。以上资料如何领取为什么大家都在学大模型最近科技巨头英特尔宣布裁员2万人传统岗位不断缩减但AI相关技术岗疯狂扩招有3-5年经验大厂薪资就能给到50K*20薪不出1年“有AI项目经验”将成为投递简历的门槛。风口之下与其像“温水煮青蛙”一样坐等被行业淘汰不如先人一步掌握AI大模型原理应用技术项目实操经验“顺风”翻盘这些资料真的有用吗这份资料由我和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理现任上海殷泊信息科技CEO其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证服务航天科工、国家电网等1000企业以第一作者在IEEE Transactions发表论文50篇获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。资料内容涵盖了从入门到进阶的各类视频教程和实战项目无论你是小白还是有些技术基础的技术人员这份资料都绝对能帮助你提升薪资待遇转行大模型岗位。以上全套大模型资料如何领取
LangGraph入门实战:用“把大象装进冰箱”理解Multi-Agent,保姆级代码解析,建议收藏
文章介绍了基于DAG的Multi-Agent框架LangGraph及其核心概念State、Node、Graph。通过“把大象装进冰箱”的经典案例详细演示了如何定义状态类、编写节点函数、构建工作流图并运行帮助开发者快速上手LangGraph开发。1、LangGraph 简介随着大模型技术的不断演进AI Agent 成为了大模型领域的焦点。开发者们纷纷投身其中期望构建出能够自主决策、灵活交互的智能体。在这片竞争激烈的技术蓝海中LangGraph 作为从 LangChain 孵化而来的独立平台迅速崛起为 Multi-Agent 开发框架中的佼佼者。LangGraph 基于有向无环图DAG这一核心数据结构通过节点Node和边Edge的组合使得开发者能够快速地搭建起一个Multi-Agent 系统。对于追求高效、可靠开发的工程师们来说LangGraph 的核心优势在于敏捷高效凭借简洁统一的开发架构将复杂 AI Agent 开发流程标准化降低开发门槛开发者可快速复用节点与工作流模板减少重复性开发工作大幅缩短项目周期实现从构思到落地的高效转化 。可靠性和可控性通过审核检查与人工介入机制确保智能体行动精准合规同时能在长期工作流中保留上下文让智能体行动始终保持正确方向。高可扩展性开发者可摆脱固有框架束缚使用完全描述性的底层原语自由定制智能体轻松设计满足各类需求的可扩展多智能体系统。原生流式支持支持逐个 token 流式传输和中间步骤流式输出实时呈现智能体推理过程增强交互透明度。从企业级复杂业务流程自动化到创新型智能交互应用开发LangGraph 都能成为开发者手中的得力工具。接下来就让我们开启 LangGraph 的快速入门之旅探索其强大功能与魅力。2、LangGraph 的核心概念LangGrapg 有三个最核心的概念分别是State、Node 和 Graph 对这几个概念的具体理解如下State状态其中记录了智能体运行过程中的所有信息涵盖输入数据、中间计算结果和最终输出为智能体的持续运行提供上下文。状态内的参数可以在多个节点间保存和流转是节点间通信的核心机制。Node节点它是构成 LangGraph 的基本单元。每个 Node 可实现特定功能例如数据处理、逻辑判断或调用外部 API。GraphGraph 就是最终的图结构由众多 Node 通过特定逻辑连接而成定义了智能体的整体工作流程各 Node 在其中协同运作推动 AI Agent 完成复杂任务。3、把大象装进冰箱接下来我们通过一个例子展示下如何使用LangGraph快速构建一个简单的多步骤工作流。相信大家一定看过赵本山和宋丹丹的经典小品《钟点工》里面有这样一段台词要把大象装冰箱总共分三步第一步把冰箱门打开第二步把大象装进去第三步把冰箱门带上。首先让我们看看完整的实现代码from IPython.display import Image, displayfrom langgraph.constants import START, ENDfrom langgraph.graph import StateGraphfrom langgraph.graph.state import CompiledStateGraphfrom typing_extensions import TypedDict # 1. 定义状态class ElephantInFridgeState(TypedDict): 定义状态——大象在冰箱中 状态内的参数可以在多个节点间保存和流转 fridge_open: bool # 冰箱门是否打开 elephant_inside: bool # 大象是否在冰箱内 # 2. 定义每个步骤的处理节点def open_fridge(state: ElephantInFridgeState) - ElephantInFridgeState: 第一步: 把冰箱门打开 print(正在打开冰箱门...) # 执行当前节点业务逻辑 print(冰箱门已打开) # 更新状态 state[fridge_open] True # 当前节点处理完成,更新状态 return state def put_elephant(state: ElephantInFridgeState) - ElephantInFridgeState: 第二步: 把大象放进去 # 获取当前状态 if not state[fridge_open]: raise ValueError(冰箱门未打开无法放入大象) # 执行当前节点业务逻辑 print(正在把大象放入冰箱...) print(大象已放入冰箱) # 更新状态 state[elephant_inside] True # 当前节点处理完成,更新状态 return state def close_fridge(state: ElephantInFridgeState) - ElephantInFridgeState: 第三步: 把冰箱门带上 # 获取当前状态 if not state[elephant_inside]: print(警告冰箱内没有大象是否确认关闭) # 执行当前节点业务逻辑 print(正在关闭冰箱门...) print(冰箱门已关闭) # 更新状态 state[fridge_open] False # 当前节点处理完成,更新状态 return state # 3. 构建Graph工作流图def build_graph() - CompiledStateGraph: 构建把大象装冰箱的工作流程图 # 创建图对象StateGraph graph StateGraph(ElephantInFridgeState) # 添加节点Node graph.add_node(open_fridge, open_fridge) graph.add_node(put_elephant, put_elephant) graph.add_node(close_fridge, close_fridge) # 添加起始边 graph.add_edge(START, open_fridge) # 添加边Edge,将节点连接起来,形成工作流 graph.add_edge(open_fridge, put_elephant) graph.add_edge(put_elephant, close_fridge) # 添加结束边 graph.add_edge(close_fridge, END) # 返回编译好的图Graph return graph.compile() # 4. 运行Graph工作流def run_workflow(): 运行把大象装冰箱的工作流 # 构建图 graph build_graph() # 定义初始状态 initial_state ElephantInFridgeState(fridge_openFalse, elephant_insideFalse) # 运行图 result graph.invoke(initial_state) # 输出最终状态 print(/n工作流执行完毕最终状态:) print(f冰箱门状态: {打开 if result[fridge_open] else 关闭}) print(f大象是否在冰箱内: {是 if result[elephant_inside] else 否}) # 可视化工作流图 display(Image(graph.get_graph().draw_mermaid_png())) return result # 执行入口if __name__ __main__: final_state run_workflow()接下来我们详细分析下这段代码的功能。定义状态类我们首先创建了ElephantInFridgeState类它继承自 LangGraph的TypedDict基类是一种 key-value 的结构用于管理整个工作流的状态。这个类包含两个 bool 类型属性fridge_open表示冰箱门是否打开elephant_inside表示大象是否在冰箱内这些状态变量将在各个节点之间传递通过节点间的通信与协作确保工作流的连贯性。定义工作流节点我们为三个步骤分别创建了函数作为节点open_fridge负责将冰箱门状态设置为打开。put_elephant检查冰箱门是否打开并将大象放入冰箱。close_fridge关闭冰箱门并在冰箱内没有大象时发出警告。我们可以看到每个节点都遵循这样的处理范式从状态中获取所需数据。执行当前节点的业务逻辑。更新状态。返回处理后的状态。这种设计确保了状态在整个工作流中的一致性和可追踪性。构建工作流图build_graph函数负责将各个节点连接成完整的工作流创建StateGraph实例添加三个工作步骤作为节点通过 add_edge 方法添加边定义节点之间的执行顺序添加起始边和结束边。这里 START 和 END 是 LangGraph 内置的常量分表代表图的起始和结束节点。这种图结构的设计让我们可以轻松定义复杂的工作流包括条件分支、循环、回退、异步等高级特性。运行工作流run_workflow函数演示了如何编译和执行工作流构建图初始化状态编译图并执行输出最终状态通过这种方式我们可以清晰地看到每个步骤的执行结果以及整个工作流的最终状态。这里我还通过可视化的方式打印了整个图的结构运行结果最后我们执行入口函数就可以看到如下的效果这个简单的例子展示了LangGraph的核心功能通过状态管理、节点定义和图构建我们可以创建复杂的工作流每个步骤都可以独立开发和测试同时保持整体的一致性和可控性。4、小结通过对 LangGraph 的优势解析、核心概念拆解及 “把大象装冰箱” 的实战演练我们清晰看到LangGraph 以简洁高效的架构将复杂 AI Agent 开发流程化繁为简。它通过 State、Node 和 Graph 的有机结合赋予开发者精准掌控智能体行为的能力无论是基础任务的有序推进还是复杂场景的多智能体协作都能从容应对。在 AI Agent 蓬勃发展的当下LangGraph 不仅是开发者提升开发效率的利器更为创新应用的落地提供了坚实支撑有望推动人工智能迈向更智能、更灵活的新阶段。如何学习大模型 AI 由于新岗位的生产效率要优于被取代岗位的生产效率所以实际上整个社会的生产效率是提升的。但是具体到个人只能说是“最先掌握AI的人将会比较晚掌握AI的人有竞争优势”。这句话放在计算机、互联网、移动互联网的开局时期都是一样的道理。我在一线科技企业深耕十二载见证过太多因技术卡位而跃迁的案例。那些率先拥抱 AI 的同事早已在效率与薪资上形成代际优势我意识到有很多经验和知识值得分享给大家也可以通过我们的能力和经验解答大家在大模型的学习中的很多困惑。我们整理出这套AI 大模型突围资料包✅ 从零到一的 AI 学习路径图✅ 大模型调优实战手册附医疗/金融等大厂真实案例✅ 百度/阿里专家闭门录播课✅ 大模型当下最新行业报告✅ 真实大厂面试真题✅ 2026 最新岗位需求图谱所有资料 ⚡️ 朋友们如果有需要《AI大模型入门进阶学习资源包》下方扫码获取~① 全套AI大模型应用开发视频教程包含提示工程、RAG、LangChain、Agent、模型微调与部署、DeepSeek等技术点② 大模型系统化学习路线作为学习AI大模型技术的新手方向至关重要。 正确的学习路线可以为你节省时间少走弯路方向不对努力白费。这里我给大家准备了一份最科学最系统的学习成长路线图和学习规划带你从零基础入门到精通③ 大模型学习书籍文档学习AI大模型离不开书籍文档我精选了一系列大模型技术的书籍和学习文档电子版它们由领域内的顶尖专家撰写内容全面、深入、详尽为你学习大模型提供坚实的理论基础。④ AI大模型最新行业报告2025最新行业报告针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估以了解哪些行业更适合引入大模型的技术和应用以及在哪些方面可以发挥大模型的优势。⑤ 大模型项目实战配套源码学以致用在项目实战中检验和巩固你所学到的知识同时为你找工作就业和职业发展打下坚实的基础。⑥ 大模型大厂面试真题面试不仅是技术的较量更需要充分的准备。在你已经掌握了大模型技术之后就需要开始准备面试我精心整理了一份大模型面试题库涵盖当前面试中可能遇到的各种技术问题让你在面试中游刃有余。以上资料如何领取为什么大家都在学大模型最近科技巨头英特尔宣布裁员2万人传统岗位不断缩减但AI相关技术岗疯狂扩招有3-5年经验大厂薪资就能给到50K*20薪不出1年“有AI项目经验”将成为投递简历的门槛。风口之下与其像“温水煮青蛙”一样坐等被行业淘汰不如先人一步掌握AI大模型原理应用技术项目实操经验“顺风”翻盘这些资料真的有用吗这份资料由我和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理现任上海殷泊信息科技CEO其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证服务航天科工、国家电网等1000企业以第一作者在IEEE Transactions发表论文50篇获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。资料内容涵盖了从入门到进阶的各类视频教程和实战项目无论你是小白还是有些技术基础的技术人员这份资料都绝对能帮助你提升薪资待遇转行大模型岗位。以上全套大模型资料如何领取