LangGraph 工作流:一篇讲清核心用法

LangChain与LangGraph深度对比:从智能体构建到复杂工作流编排 在构建大语言模型应用时,智能体框架的选择直接影响系统的可维护性与扩展性。LangChain作为模块化框架,通过链式组件简化了LLM与外部工具的集成,适用于快速构建标准问答场景。然而,当应用需要处理复杂状态管理、条件分支和循环控制时,其黑盒化的执行流程便显露出局限性。相比之下,LangGraph基于图计算模型,将工作流明确定义为节点和边的有向图,实现了状态流转的完全透明与精确控制。这种显式编排方式尤其适合需要重试机制、多参与者协作和确定性流程的业务场景,例如游戏NPC对话、审批工作流等。通过对比两者在状态管理 阅读详情

聊《LangGraph 工作流:一篇讲清核心用法》之前,先说一句实在的:别急着背概念,先看它在真实项目里到底解决什么问题。

摘要

很多开发者刚接触 Agent 时,习惯用链式调用(Chain)拼凑功能,遇到复杂逻辑就陷入状态混乱和死循环。本文从初学者转型路线切入,梳理 LangGraph 的学习顺序与常见误区,结合真实场景讲解 State 定义、动态路由、人工干预等关键机制,并给出工程化部署与简历项目包装的实操建议。

目录

  • 为什么需要图工作流
  • State 与 Node
  • Edge 与条件分支
  • 人工审批节点
  • 工程化落地
  • 总结

为什么需要图工作流

文章插图 1

我刚带团队做智能客服升级时,发现用传统的链式管道写了一堆 `.pipe()`,结果某个环节失败后整个流程直接崩掉,连个兜底都找不到。后来把架构改成图结构,才真正稳下来。很多人学大模型应用,第一反应是“怎么调 API”、“怎么写 prompt”,其实真正的分水岭在于**数据流向的控制**。

初学者最容易犯的一个错,是先啃完一套复杂的框架文档再动手,结果写出的是“能跑但改不动”的代码。我建议的学习顺序是:先理解有向图的基本概念(节点、边、状态),再用 LangGraph 把业务逻辑画出来,最后才去抠配置细节。图工作流不是炫技,它是把散落的脚本串成可追踪、可中断、可重试的系统骨架。如果你现在的 Agent 只是“输入一句话,吐出一段话”,那叫脚本;一旦需要记忆上下文、处理异常分支、或者根据中间结果决定下一步动作,就必须引入图。

State 与 Node

文章插图 2

State 是图的血液。别把它当成简单的字典传递,它应该是强类型的共享内存。每个 Node 进来读状态,出去写状态,不依赖外部变量。这样你才能随时 checkpoint 断点续传。

from typing import TypedDict, List, Annotated, Literal
import operator
from langchain_core.messages import AIMessage, HumanMessage
from langgraph.graph.message import add_messages

class AgentState(TypedDict):
    messages: Annotated[List, add_messages]
    user_intent: str
    confidence_score: float
    action_taken: str
    error_log: List[str]

我见过太多人把中间结果塞进局部变量,或者靠全局单例存上下文,一旦并发请求上来,状态就交叉污染了。Node 的设计要遵循单一职责,一个节点只干一件事:比如叫 `llm_router_node` 的只管发请求和拉取原始回答,别在里面硬编码业务规则。状态更新一定要明确,用 `operator.add` 追加消息,用直接赋值覆盖配置项。这样后续加调试日志或者做版本回滚,才有据可查。

记住一条原则:**Node 是无状态的处理器,State 才是唯一的真相来源。** 任何跨节点的通信都必须经过 State。

优快云资料领取方式

Edge 与条件分支

边决定了图的走向。静态边适合固定流程,但 Agent 的灵魂在于动态路由。这里有个明显的认知误区:很多人喜欢让大模型直接输出 JSON 路径(比如 `"next_node": "finance_handler"`),然后代码里硬写 `if next == "finance": ...`。这种做法耦合度太高,模型稍微换个表述就挂。

更好的做法是让路由节点返回标准化的控制信号,或者直接用 LangGraph 内置的条件边函数。我在做合同审核 Agent 时,写过这样的路由逻辑:

def route_after_review(state: AgentState) -> Literal["legal_review", "clarification_request", "finalize_contract"]:
    last_msg = state["messages"][-1].content.lower()
    if "高风险" in last_msg or "需法务介入" in last_msg:
        return "legal_review"
    elif "条款模糊" in last_msg or "金额不一致" in last_msg:
        return "clarification_request"
    else:
        return "finalize_contract"

学习的时候,先跑通直来直去的线性图,再引入条件分支。判断标准很简单:如果流程超过 3 个可能的跳转方向,或者存在重试/降级逻辑,就必须上动态边。别为了追求“智能”而把路由逻辑全扔给大模型自己猜,控制流必须留在代码层。大模型负责理解意图,代码负责调度流程。

人工审批节点

生产环境里,有些操作不能全自动执行。资金划转、敏感内容发布、客户投诉升级,这些场景必须留一道人工闸口。LangGraph 提供了 `interrupt_before` 和 `interrupt_after`,配合 `Command` 可以优雅地暂停并等待反馈。

我之前踩过一个坑:在 Node 里直接写 `input("确认执行?Y/N")`,这在 CLI 测试没问题,但放到 Web 服务或异步任务里会直接阻塞线程,导致连接超时。正确的姿势是利用图的状态机特性,触发中断后保存 Checkpoint,前端轮询或 WebSocket 推送状态变更,用户确认后通过 API 恢复执行。

做项目展示时,这里特别加分。面试官不关心你能不能跑通 demo,他们看重你有没有处理过“不可逆操作”的灰度策略。把人工审批节点设计成可配置的开关,支持按角色/金额阈值动态开启,这种工程思维比单纯调 API 值钱得多。简历里提到这类设计时,务必写明中断后的状态恢复机制和防并发冲突方案,这能直接拉开你和培训班学员的距离。

工程化落地

代码能在 Jupyter Notebook 里跑通,离正式上线还差得很远。工程化阶段我最常提醒团队抓三件事:持久化存储、结构化日志、独立测试。

首先,Checkpoint 机制必须配。没有数据库支撑的图就是单机玩具。PostgreSQL 搭配 LangGraph 的持久化适配器,能自动记录每次迭代的 State 快照。这样即使服务重启,对话也能无缝接续。其次,日志不要只打 `print`,要用结构化格式记录节点进入/退出时间、Token 消耗和决策依据。方便后期做延迟分析和成本核算。

测试方面,别指望端到端黑盒测试能覆盖所有分支。应该对每个 Node 和路由函数做单元测试,注入伪造的 State 验证边界条件。部署时,把 Prompt 模板、路由配置和模型参数抽离到环境变量或配置中心,避免每次微调都要重新编译容器。

至于学习路径,从 Demo 到产品,中间横亘着大量的“脏活”。先保证核心链路可用,再逐步补上监控、限流、熔断。不要一开始就追求完美的微服务拆分,Agent 工作流本身就应该保持轻量,重业务编排,轻基础设施。后端同学做这一块的优势在于熟悉并发控制和数据一致性,把这套经验迁移过来,避开纯前端视角下的状态同步陷阱,你的项目交付质量会高出一个台阶。

总结

把 Agent 从脚本升级到可控系统,本质上是思维方式从“过程导向”转向“状态与流向导向”。初学者最容易在过度抽象和盲目自信之间摇摆:要么一上来就套重型框架,要么全靠 Prompt 魔法解决所有问题。掌握 LangGraph 的正确姿势,是按图索骥定义 State,用代码锁死控制流,把不可控的模型输出关在规范的边界里。实战中多预留人工干预点和状态快照,你的项目不仅能跑起来,还能经得起生产环境的反复打磨。

资料展示

下面是我整理的AI大模型学习资料和工具包预览,适合收藏后按主题逐步学习。

AI大模型资料展示 1

AI大模型资料展示 2

AI大模型资料展示 3

如果你想看完整资料目录,可以在评论区留言「资料」;也欢迎告诉我你更关注AI大模型里的哪类内容。

优快云官方大礼包

大模型面试高频考点解析:LangChain、LangGraph与Langfuse核心原理与实战应用 在大模型应用开发领域,检索增强生成(RAG)和智能体(Agent)是两大核心技术范式。RAG通过结合外部知识检索与大模型生成能力,有效缓解模型幻觉问题,其核心原理涉及文档切分、向量化检索与上下文增强生成。智能体则赋予大模型使用工具的能力,通过感知、规划与行动的循环实现复杂任务自动化。这些技术的工程落地离不开高效的工具栈支持,例如LangChain作为开发框架提供了标准化的组件抽象,而LangGraph则专注于复杂、有状态工作流的编排。在生产环境中,对应用性能与输出质量的监控评估至关重要,这正是可观测性平台的 阅读详情

相关推荐

LangChain与LangGraph核心区别:链式组装与图编排的AI应用开发指南

在大模型应用开发中,理解不同框架的核心抽象与适用场景至关重要。从技术原理上看,链(Chain)和图(Graph)代表了两种不同的流程建模方式。链式结构擅长处理线性、确定性的任务流水线,通过标准化组件组合实现高效开发,其技术价值在于提升简单工作流的开发效率与复用性。而图结构则专注于管理非线性控制流,通过节点、边和显式状态对象来清晰定义带有分支、循环和条件判断的复杂业务流程,尤其适用于需要动态决策和状态持久化的场景。在工程实践中,检索增强生成(RAG)等输入输出明确的流水线任务常采用链式方案,而智能体(Agen

abcyan1235的博客 393

CrewAI vs LangGraph:多智能体编排该选谁?一篇讲清,小白也能懂!

CrewAI 和 LangGraph 都是智能体编排相关的开源框架,前者采用代码优先的编排方式,后者则提供可视化编排能力。

bugyinyin的博客 2018

LangChain与LangGraph实战:从RAG系统到多智能体工作流架构设计

检索增强生成(RAG)是一种将外部知识库与大语言模型结合的技术架构,其核心原理是通过向量检索获取相关信息,再让LLM基于检索内容生成回答。这种技术能有效解决模型幻觉问题,提升回答的准确性和可靠性。在生产环境中,RAG系统需要处理文档解析、向量化存储、语义检索和生成验证等多个环节,确保知识库的实时性和答案的可追溯性。LangChain作为大模型应用的标准化框架,提供了组件化的解决方案,而LangGraph则通过状态机模型实现了复杂工作流的可视化编排。特别是在多步骤决策场景如简历筛选、客户服务等业务中,Lang

weixin_34320724的博客 361

LangChain 和 LangGraph 到底啥关系?一篇讲清怎么选

很多人接触 LLM 应用开发,路径都差不多:先用 OpenAI SDK 调一次聊天接口,觉得不过瘾,加上检索做 RAG,再加工具调用做 Agent。单轮还好,一旦要"多步骤、能循环、多 Agent 协作",代码就开始拧巴——状态散在变量里,循环靠 while True,分支靠 if else,人工审核插不进去,跑挂了没法恢复。

m0_59235245的博客 191

高数 | 【极限与等价无穷小】两个重要极限 & 经典错误 & 什么情况下求极限可以直接带入

一. 第一个重要极限 二. 第二个重要极限 三. 导数定义式 全文见【高等数学】两个重要的极限 - 知乎

"You are worthy! You can do it!" 6万+

CloudCompare点云变换保姆级教程:从平移、旋转到绕任意点旋转,一次搞定

本文提供CloudCompare点云变换的全面教程,涵盖从基础平移、旋转到绕任意点旋转的高级技巧。通过详细的操作步骤和实战案例,帮助用户掌握点云数据处理的核心技能,提升三维模型对齐和变换的效率与精度。

weixin_28717969的博客 291

LangGraph 工作流:简历项目怎么讲清楚

本文概述文章目标、核心观点和实践价值。最近面试了几个做 Agent 应用的后端同学,发现大家有个共同的痛点:简历上写着“基于 LangChain/LangGraph 构建了智能客服”,但被问到“如何保证流程可控”、“怎么处理异常分支”或者“状态怎么管理”时,往往支支吾吾,最后只能聊两句 LLM 的 Prompt 调优。这其实是因为大多数人的项目还停留在“脚本阶段”——也就是把 LLM 当成一个黑盒函数,输入问题,输出答案。

2601_96285276的博客 215

Crossbar RRAM技术解析:从1TnR架构到存储革命

非易失性存储器(NVM)是数据存储的核心技术,其原理基于物理状态的稳定改变以实现数据持久化。阻变存储器(RRAM)作为一种新兴NVM,利用导电细丝在介质层中的形成与断裂实现数据存储,具有高速、低功耗和结构简单的优势。在工程实践中,RRAM面临潜行路径电流等挑战,而Crossbar提出的1TnR架构通过引入共享晶体管有效解决了这一问题,在保证性能的同时提升了集成密度。该技术与CMOS工艺兼容,支持后端集成与多层堆叠,为高密度存储和嵌入式应用提供了新的解决方案。结合当前行业对高能效、高密度存储的需求,RRAM在

weixin_42523104的博客 322

LangChain与LangGraph:从链式编排到图式工作流的技术演进

在大模型应用开发中,工作流编排是连接AI能力与业务逻辑的核心技术。其原理在于通过标准化接口将不同组件(如LLM、向量数据库、工具)组织成可执行的流程,从而提升开发效率和系统可控性。从技术价值看,良好的编排框架能降低复杂AI应用的构建门槛,支持快速迭代与维护。应用场景广泛覆盖从简单的检索增强生成(RAG)到复杂的多智能体协作系统。本文聚焦于LangChain和LangGraph这两个关键框架,深入解析它们如何分别以“链式思维”和“图式思维”应对不同复杂度的Agent与工作流需求,帮助开发者在面试与工程实践中做

快马扬鞭须努力! 438

【电路设计】带阻滤波器实战:从理论到Twin-T陷波电路实现

本文详细介绍了带阻滤波器的原理与Twin-T陷波电路的实战应用,从基础概念到工程实现全面解析。通过具体案例展示如何设计高Q值滤波器,解决电源噪声等实际问题,并分享PCB布局和元件选型的实用技巧,助力工程师提升电路设计能力。

gg901的博客 1022

【Linux】实际项目应该如何完成?--安防监控系统项目的总结

到目前为止我也做个5、6个嵌入式项目,但以往都是从零开始自己做,也就是毫无计划,想到那里做那里,有想法就会去实现,就这样导致我碰到了很多坑,也消耗了我许多时间,当然,不是说这样不好,因为在其中我也得到了一个很好的锻炼与练习,但是这不适用于在工作中去这样做。...

修成真的博客 6730

AI Agent框架精讲:一篇讲清LangGraph、AutoGen与CrewAI如何选?零基础小白收藏这一篇就够了!!

文章介绍了AI Agent的核心概念和优势,详细对比了三大热门框架:LangGraph(提供循环和状态管理,适合复杂流程)、AutoGen(微软出品,支持多智能体协作)和CrewAI(角色扮演型框架,适合商业自动化)。文章通过表格形式分析了各框架的核心范式、控制力、上手难度和最佳场景,帮助开发者根据自身需求选择合适的框架,实现高效AI应用开发。

datian1234的博客 1210

2026年信创系统技术应用专业人才培养基地建设方案(高职、信创新专业、人才培养、专业代码:510221)

响应国家信创产业战略及教育部新增“信创系统技术应用”专业(代码510221)的部署,联合麒麟软件、华为鸿蒙等领军企业,建设高水平信创人才培养基地。方案基于国家政策导向(如2027年央企全面国产化替代目标)和行业人才缺口(2025年缺口超80万人),提出以“产教融合、创新驱动”为核心,构建集教学、实训、认证于一体的综合性培养体系。 建设内容涵盖五大方向: 专业规划:分三阶段(2025-2030年)推进专业申报、课程开发与区域辐射,最终建成区域性信创技术创新平台。 课程体系:围绕运维、云计算、数据库、适配

啊碧根果的博客 1600

一文讲清楚用LangChain还是LangGraph?(建议收藏)

无论是个人还是企业,当我们想要使用 LLM(大模型)的功能开发出有趣或者有价值的应用时,第一个技术问题通常是“使用什么工具?”

AI大模型的博客 1337

matlab计算图像信噪比SNR

【代码】matlab计算图像信噪比SNR。

baidu_34971492的博客 1398

YOLOv10改进策略【模型轻量化】| MoblieNetV3:基于搜索技术和新颖架构设计的轻量型网络模型

本文记录的是基于MobileNet V3的YOLOv10目标检测轻量化改进方法研究。的模型结构是通过得来的,其中的基础模块结合了的深度可分离卷积、的线性瓶颈和倒置残差结构以及MnasNet中基于挤压和激励的轻量级注意力模块,使模型在性能、效率和灵活性方面都具有显著的优势。本文在替换骨干网络中配置了原论文中的small和large2种模型,以满足不同的需求。

Limiiiing的博客 515

一条“速成路线”把 LangGraph 讲清楚

LangGraph是一个基于状态图的智能体编排框架,支持循环、可中断和持久化的工作流,内置检查点和人工参与机制。学习路径:1)理解核心概念;2)通过预置ReAct智能体快速上手;3)掌握StateGraph等底层原语;4)实现持久化和人工干预;5)使用Studio调试和云端部署。提供两个示例:A)预置ReAct智能体调用工具;B)自定义节点+SQLite持久化+人工中断。注意包名变更、检查点依赖等常见问题。进阶支持多智能体模式和平台化部署,与LangChain深度整合。

keyboard专栏 1201

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

【10】LangGraph 核心

"""调研节点:收集信息"""response = llm.invoke(f"调研这个问题:def research_node(state : WorkflowState) - > dict : """调研节点:收集信息""" response = llm . invoke(f"调研这个问题: {

技术的最终意义就是普及社会 246

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

LangGraph构建高级RAG:从线性链到可状态、可中断、可编排的工作流

RAG(检索增强生成)作为当前AI应用落地的核心范式,正面临多跳推理、上下文保持与条件决策等深层挑战。传统基于LangChain的链式流程因缺乏状态管理、硬编码分支和人工干预能力,难以支撑金融、医疗等强监管场景的复杂需求。LangGraph通过State(状态)、Node(节点)、Edge(边)和Graph(图)四层抽象,将RAG升级为可持久化状态、支持条件路由、原生集成人工审核的有向工作流。它不替代向量库或LLM,而是提供面向业务逻辑的编排层,显著提升RAG系统的可维护性、可观测性与合规性。本文聚焦Lan

weixin_34110749的博客 443

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Spring AI Alibaba/Dify/LangGraph/LangChain 一文讲清四大AI框架怎么选

讲清 Spring AI Alibaba、Dify、LangGraph 和 LangChain 这四大热门框架。我们摒弃枯燥的参数罗列,从实际场景出发,帮你做出最明智的选择。

paopao_wu的专栏 1882

LangGraph实战:从单智能体到多智能体,构建有状态工作流

在构建复杂AI应用时,工作流编排是关键挑战。传统线性链式调用难以处理需要决策、循环和状态管理的场景,这本质上是图论中的有向图问题。LangGraph作为专用框架,通过节点、边和状态三大核心组件,提供了管理复杂、有状态工作流的运行时能力。其技术价值在于将业务逻辑显式化为可视图谱,实现决策与执行的分离,支持条件分支、循环和中断恢复。在应用场景上,它尤其适合客服自动化、多智能体协作、长时任务等需要状态保持和动态路由的领域。本文基于LangGraph,深入探讨了如何构建从单智能体决策助手到多智能体协作系统的实战方案

weixin_33788244的博客 429

LangGraph 到底有什么用?一文讲透 AI Agent 工作流

文章摘要: LangGraph是一个用于组织Agent工作流的框架,核心功能是将复杂任务拆解为节点(Node)、状态(State)和边(Edge),通过检查点(Checkpointer)实现流程中断与恢复。其优势在于: 结构化流程:通过条件边实现动态分支(如循环判断、任务分发),监督者模式协调多Agent分工(如搜索Agent、写作Agent、审阅Agent)。 状态管理:State保存上下文数据(如研究笔记、草稿、反馈),Checkpointer支持会话状态持久化。 协作模式:适用于流程明确的任务,如研究

点滴记忆,分享成长之路 399

LangChain、LangFlow、LangGraph:一文讲清三大 LLM 框架的定位与差异

本文笔者将基于官方文档与开源实践,从定位、能力、使用场景和差异几个角度,帮你一次性理清。

Y525698136的博客 1058

LangChain、LangGraph、普通工作流,到底该怎么选?

从固定流程到 Agent 自主决策,一篇讲清三者的区别、关系和适用场景。

qq_42320804的博客 372

LangGraph工作流实战:构建可控可观测的大模型应用开发闭环

在构建复杂的大模型应用时,工作流编排与状态管理是核心挑战。传统线性链式调用难以处理分支、循环等复杂逻辑,导致代码维护困难。通过有向图抽象,可以将工作流节点化,并引入共享状态机概念,实现流程的灵活控制与可视化。这种工程化方法的价值在于提升应用的可控性、可观测性与可迭代性,尤其适用于客服对话、数据分析流水线、代码生成等需要多步骤协作的场景。本文以LangGraph为核心,结合状态设计、条件分支等热词,演示了从环境搭建到旅行规划助手案例的完整实现,并串联Langfuse追踪、SFTTrainer微调、量化感知训练

weixin_30367873的博客 350
上一篇: 前端转大模型:真实项目中的关键步骤
下一篇: AI大模型就业:从场景选择到效果验证
Java技术那些事儿
博客等级 码龄5年 2306粉丝 2584原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值