LangGraph 实战笔记:用 AI 发起流程应用

📒 LangGraph 实战笔记:用 AI 发起流程应用

一句话总结:LangGraph 让 AI 从"直线思维"变成"闭环思维",是实现复杂、可循环、人机协同工作流的首选工具。


目录


一、核心概念(无代码版)

概念 大白话解释 生活类比
节点 (Node) 干活的步骤 地铁的站点
边 (Edge) 步骤之间的连接 地铁的轨道
状态 (State) 全程传递的数据包 乘客手里的行李
图 (Graph) 整个工作流程 完整的地铁线路图
条件边 根据结果决定走哪条路 地铁的换乘站
循环 不满足条件就回去重做 坐错站了返回重坐
检查点 保存进度,可随时恢复 游戏的存档点

二、LangGraph vs LangChain vs K2 三方对比

三者核心区别

LangChain LangGraph K2 工作流
线性调用链 A→B→C 直线执行 图结构工作流 支持循环和分支 企业级 BPM 引擎 固定流程,人工审批为主
适合简单任务 适合复杂多步任务 适合企业固定流程
无状态或简单状态 内置状态管理 完整流程实例管理
像「单线地铁」 像「换乘地铁网」 像「火车轨道」
AI 调用工具 AI 智能体编排 人工+系统混合流程

LangChain 和 LangGraph 的关系

复制代码
┌─────────────────────────────────────────────────────────────┐
│                                                             │
│   LangChain              LangGraph                          │
│   ┌─────────┐           ┌─────────────────────────┐         │
│   │  LLM    │           │  ┌─────┐  ┌─────┐       │         │
│   │  调用   │    →      │  │节点 │→ │节点 │  ...  │         │
│   │  工具   │           │  └─────┘  └─────┘       │         │
│   │  记忆   │           │       ↖       ↙         │         │
│   └─────────┘           │        循环/条件         │         │
│                         └─────────────────────────┘         │
│                                                             │
│   基础组件库              基于 LangChain 的编排层             │
│   (砖头、水泥)            (用砖头盖成的房子)                  │
│                                                             │
└─────────────────────────────────────────────────────────────┘

关键理解

  • LangGraph 不是替代 LangChain,而是构建在 LangChain 之上
  • LangChain 提供「能力」------调用 LLM、工具、记忆
  • LangGraph 提供「编排」------如何组织这些能力的执行顺序

三、需求拆解:AI 发起考勤流程

需求描述

用户说"我想发起考勤"

AI 返回表单结构

用户填写数据

AI 校验数据 ──┬── 通过 → 发起流程

└── 不通过 → 返回让用户重填(可循环)

完整流程架构图

复制代码
┌─────────────────────────────────────────────────────────────────┐
│                      LangGraph 工作流全景图                      │
│                                                                 │
│   ┌─────────┐    ┌─────────┐    ┌─────────┐                    │
│   │ 意图识别 │───→│ 生成表单 │───→│ 用户填写 │                    │
│   │  Node   │    │  Node   │    │ (人工)  │                    │
│   └─────────┘    └─────────┘    └────┬────┘                    │
│                                      │                          │
│                                      ▼                          │
│   ┌─────────┐    ┌─────────┐    ┌─────────┐                    │
│   │ 发起流程 │←───│ 校验通过?│←───│ AI 校验  │                    │
│   │  Node   │    │  条件   │    │  Node   │                    │
│   └─────────┘    └────┬────┘    └─────────┘                    │
│                       │                                         │
│         ┌─────────────┴─────────────┐                          │
│         │                           │                          │
│         ▼                           ▼                          │
│    【成功】结束                【失败】循环回去                   │
│                              (最多重试 3 次)                     │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

各节点职责说明

节点名称 职责 输入 输出
意图识别 理解用户想发起什么流程 用户自然语言 流程类型(考勤/请假/报销)
生成表单 根据流程类型返回数据结构 流程类型 表单字段定义
用户填写 等待用户输入数据 表单结构 用户填写的内容
AI 校验 检查数据完整性和合理性 用户填写的数据 校验结果 + 反馈信息
条件判断 决定下一步走向 校验结果 提交/重试/转人工
发起流程 调用 OA 系统 API 校验通过的数据 流程发起成功

四、为什么这个场景必须用 LangGraph?

❌ 用 LangChain 的困境

LangChain 线性执行:

复制代码
用户输入 → 识别意图 → 生成表单 → 用户填写 → 校验 → 结束
                                              │
                                              ▼
                                         校验失败?
                                         没法回去!
                                         只能重新发起整个流程

问题

  • 校验失败后无法自动循环回填写节点
  • 需要自己管理状态和重试逻辑
  • 代码会越来越复杂,难以维护

✅ 用 LangGraph 的优势

LangGraph 循环执行:

复制代码
用户输入 → 识别意图 → 生成表单 → 用户填写 → 校验 ──┬── 通过 → 发起
                                                    │
                                                    └── 失败 → 回到填写

优势

  • ✅ 天然支持循环,校验失败自动回到填写节点
  • ✅ 状态自动管理,每次循环数据不丢失
  • ✅ 支持断点续传,用户可随时回来继续
  • ✅ 流程可视化,调试和维护更简单

五、关键实现要点(无代码版)

🔑 1. 防止无限循环

复制代码
┌─────────────────────────────────────────┐
│          循环控制策略                    │
├─────────────────────────────────────────┤
│  设置最大重试次数(建议 3-5 次)          │
│  超过次数 → 转人工处理                   │
│  每次循环记录重试计数                    │
└─────────────────────────────────────────┘

🔑 2. 状态持久化(断点续传)

复制代码
┌─────────────────────────────────────────┐
│          状态保存机制                    │
├─────────────────────────────────────────┤
│  每个节点执行后自动存档                  │
│  用户关闭页面后再回来,进度不丢失        │
│  通过线程 ID 关联同一用户的会话          │
└─────────────────────────────────────────┘

🔑 3. 人机交互(等待用户填写)

复制代码
┌─────────────────────────────────────────┐
│          人工介入节点                    │
├─────────────────────────────────────────┤
│  流程在填写节点暂停                      │
│  用户通过前端界面提交数据                │
│  系统接收后继续执行后续节点              │
└─────────────────────────────────────────┘

🔑 4. 流式反馈(实时显示结果)

复制代码
┌─────────────────────────────────────────┐
│          实时反馈机制                    │
├─────────────────────────────────────────┤
│  不用等全部完成才返回                    │
│  每执行一个节点就返回进度                │
│  用户能看到校验反馈,体验更好            │
└─────────────────────────────────────────┘

六、生活化类比总结

场景 LangChain 方式 LangGraph 方式
做菜 按菜谱做完再尝,淡了只能重做 边做边尝,淡了当场加盐
导航 固定路线,堵车也硬走 实时路况,自动绕路
考试 交卷后等批改,错了下次改 做完一题检查一题,错了当场改
写文章 写完统一检查,问题多要重写 写一段检查一段,有问题立刻改
你的考勤流程 填完直接提交,错了打回重填 填完 AI 先校验,错了当场提示重填

七、选型决策指南

场景 推荐方案
简单问答/单次调用 LangChain
多步骤+需要循环校验 LangGraph ✅
企业固定审批流程 K2/传统 BPM
AI 智能体多角色协作 LangGraph ✅
需要人工介入审批 LangGraph ✅
高并发企业级流程 K2/传统 BPM

八、总结与下一步建议

核心收获

  • LangGraph = LangChain 的能力 + 工作流的编排 + AI 的动态决策
  • LangGraph 不是替代 LangChain,而是它的编排层
  • 有循环需求的 AI 任务,LangGraph 是首选
  • 状态管理是核心,不用自己存,框架自动处理
  • 人机交互是亮点,支持中断、恢复、转人工

维度结论

维度 结论
你的需求匹配度 ⭐⭐⭐⭐⭐ 完全匹配
学习成本 中等(需理解图、节点、状态概念)
开发效率 高(循环和状态管理内置)
生产成熟度 高(已有大量生产案例)
社区支持 良好(LangChain 生态)

下一步建议

  1. 先跑通最小 Demo(识别→校验→提交)
  2. 添加状态持久化(支持断点续传)
  3. 对接 OA 系统 API(正式发起流程)
  4. 完善前端交互(流式反馈、重试提示)

笔记整理完成 📝 概念清晰、架构完整、对比明确,可直接用于技术方案评审!

相关推荐
RechoYit2 小时前
项目记录:把 OpenClaw 结合自己的交易项目做成飞书里的 AI Trading Partner-- A 股智能分析机器人
人工智能·python·金融·飞书·投资·openclaw
大强同学2 小时前
复杂任务文件化规划工具:planning-with-files
人工智能·ai编程
机器小乙2 小时前
【开源】2 分钟在 Windows 上搭建 AI Agent 运行环境:MachineY Engine 使用指南
人工智能·windows·ai·开源·openclaw
gzroy2 小时前
企业云平台部署Openclaw的实践
人工智能
Are_You_Okkk_2 小时前
不只是辅助编程:AI研发框架如何重构团队研发体系?
人工智能·重构·开源·ai编程
枫叶梨花2 小时前
Qwen3-ASR 本地部署与使用完整指南
人工智能
YYYing.2 小时前
【Linux/C++多线程篇(一) 】多线程编程入门:从核心概念到常用函数详解
linux·开发语言·c++·笔记·ubuntu
badhope2 小时前
OpenClaw卸载命令全解析
java·linux·人工智能·python·sql·数据挖掘·策略模式
chaors2 小时前
Langchain入门到精通0x0c:middleware
人工智能·langchain·ai编程