当前位置: 首页 > article >正文

LangGraph 终极解析:从 “玩具 Agent“ 到 “生产级智能体“ 的核心武器

目录LangGraph 终极解析从 玩具 Agent 到 生产级智能体 的核心武器一句话定位为什么必须学 LangGraphLangChain 的致命缺陷LangGraph 四大核心概念一张图搞懂1. State状态Agent 的 大脑记忆2. Node节点Agent 的 执行单元3. Edge边Agent 的 神经传导4. Checkpoint检查点Agent 的 存档系统代码实战一个会自我反思的 作家 - 主编AgentLangGraph 五大核心优势大厂为什么选它1. 原生支持循环与分支Agent 的灵魂2. 全局显式状态管理可控可调试3. 内置持久化与断点续跑生产级必备4. 原生支持人机协同高合规场景刚需5. 完美支持多 Agent 协作2026 年核心赛道什么时候用 LangGraph什么时候用 LangChain下一步学习建议一句话定位LangGraph 是 LangChain 团队 2024 年推出的生产级 AI Agent 编排框架 **专门解决传统 LangChain Chains 无法处理的循环、分支、状态持久化、人机协同等复杂问题是 2026 年顶尖大厂构建企业级 Agent 系统的事实标准。简单说LangChain 是乐高积木LangGraph 是乐高的设计图纸 施工队它告诉你怎么把积木拼成一个能自主思考、反复迭代、永不崩溃的智能体。为什么必须学 LangGraphLangChain 的致命缺陷在 LangGraph 出现之前所有用 LangChain 写的 Agent 都有一个共同的问题它们是 一次性 的线性程序不是真正的智能体。问题LangChain Chains 的表现LangGraph 的解决方案循环逻辑无法优雅实现 思考→执行→纠错→再执行 的 Agent 核心循环只能用递归 hack极易崩溃原生支持任意有向循环Agent 可以无限次迭代直到任务完成状态管理状态分散在各个 Chain 和 Memory 中无法全局追踪和修改调试像黑盒全局显式定义 State所有节点共享同一份状态每一步变更都可追溯持久化没有原生持久化程序一重启所有状态丢失长任务无法中断内置 Checkpoint 机制支持断点续跑、历史回溯、时间旅行 调试人机协同需要自己写复杂的中断逻辑无法在任意节点插入人工审核一行代码实现任意节点的中断与恢复完美支持 AI 初筛 人工复核 模式多 Agent 协作只能用嵌套 Chain 模拟通信混乱无法实现真正的角色分工每个 Agent 是一个独立节点通过图结构实现清晰的通信与协作这就是为什么 2025 年下半年开始字节、阿里、腾讯、Uber 等大厂纷纷把自己的 Agent 系统从 LangChain 迁移到 LangGraph。LangGraph 四大核心概念一张图搞懂LangGraph 的所有能力都建立在这四个概念之上搞懂了它们你就能写任何复杂的 Agent。1. State状态Agent 的 大脑记忆定义一个显式定义的 Python 数据结构通常用 TypedDict存储 Agent 运行过程中的所有信息类比就像一个共享的白板所有节点都可以在上面读写信息示例from typing import TypedDict, Annotated, List from langgraph.graph.message import add_messages class AgentState(TypedDict): task: str # 用户原始任务 draft: str # 生成的草稿 feedback: str # 审核意见 revision_count: int # 修改次数 messages: Annotated[List, add_messages] # 对话历史自动追加2. Node节点Agent 的 执行单元定义一个 Python 函数接收 State 作为输入处理后返回 State 的更新类比就像工厂里的工人每个人只做一件事写稿、审核、调用工具等示例def writer_node(state: AgentState) - AgentState: 作家节点根据任务和反馈写稿 prompt f 写一篇关于{state[task]}的文章。 之前的草稿{state[draft]} 修改意见{state[feedback]} 修改次数{state[revision_count]} draft llm.invoke(prompt).content return {draft: draft, revision_count: state[revision_count] 1}3. Edge边Agent 的 神经传导定义连接节点的线定义了 Agent 的执行流程分类普通边从 A 节点直接到 B 节点条件边根据 State 的内容动态决定下一个节点核心示例def should_continue(state: AgentState) - str: 条件边判断是否需要继续修改 if state[revision_count] 3 or 通过 in state[feedback]: return end else: return writer4. Checkpoint检查点Agent 的 存档系统定义自动保存 Agent 每一步的状态支持断点续跑和历史回溯类比就像游戏的存档点任务跑一半断了下次直接从断点接着跑能力支持内存、Redis、PostgreSQL 等多种存储可以回溯到任意历史状态重新执行支持并发任务隔离代码实战一个会自我反思的 作家 - 主编Agent这是 LangGraph 最经典的示例完美展示了循环、条件分支和状态管理的能力。用 LangChain 根本写不出这么优雅的代码。from typing import TypedDict, Annotated from langgraph.graph import StateGraph, END from langchain_openai import ChatOpenAI from dotenv import load_dotenv load_dotenv() llm ChatOpenAI(modelgpt-3.5-turbo, temperature0.7) # 1. 定义状态 class ArticleState(TypedDict): topic: str draft: str feedback: str revision_count: int # 2. 定义节点 def writer(state: ArticleState) - ArticleState: 作家写文章 prompt f 写一篇关于{state[topic]}的500字文章。 要求结构清晰语言流畅。 之前的反馈{state.get(feedback, 无)} draft llm.invoke(prompt).content return {draft: draft, revision_count: state[revision_count] 1} def editor(state: ArticleState) - ArticleState: 主编审核文章 prompt f 审核这篇关于{state[topic]}的文章 {state[draft]} 请给出修改意见如果文章合格直接回复通过。 feedback llm.invoke(prompt).content return {feedback: feedback} # 3. 定义条件边 def decide_next_step(state: ArticleState) - str: 决定下一步继续修改还是结束 if 通过 in state[feedback] or state[revision_count] 3: return END else: return writer # 4. 构建图 workflow StateGraph(ArticleState) # 添加节点 workflow.add_node(writer, writer) workflow.add_node(editor, editor) # 添加边 workflow.set_entry_point(writer) # 入口点 workflow.add_edge(writer, editor) # 写完交给主编审核 workflow.add_conditional_edges(editor, decide_next_step) # 主编审核后决定下一步 # 5. 编译运行 app workflow.compile() # 运行Agent result app.invoke({ topic: AI Agent的未来发展趋势, revision_count: 0 }) print(最终文章\n, result[draft]) print(\n审核意见\n, result[feedback]) print(\n修改次数, result[revision_count])运行结果你会看到作家先写第一版草稿主编给出修改意见作家根据意见修改重复 2-3 步直到文章通过或修改 3 次这就是真正的智能体行为它会根据反馈不断迭代自己的输出直到满足要求。LangGraph 五大核心优势大厂为什么选它1. 原生支持循环与分支Agent 的灵魂Agent 的本质就是 思考→行动→观察→再思考 的反馈循环。LangGraph 是第一个把循环作为一等公民的 Agent 框架你可以定义任意复杂的循环逻辑比如代码生成→运行→报错→修改→再运行问题分析→检索→回答→反思→再回答任务规划→执行→检查→再规划2. 全局显式状态管理可控可调试LangGraph 的状态是显式定义、全局共享、可追踪的。你可以在任意节点查看和修改状态精确控制什么信息在节点之间传递避免 LangChain 中常见的 状态污染 问题配合 LangSmith 实现完整的执行链路可视化3. 内置持久化与断点续跑生产级必备这是 LangGraph 区别于所有其他 Agent 框架的杀手级功能。想象一下一个需要运行 1 小时的文档处理任务跑了 59 分钟程序崩溃了用 LangChain从头开始跑浪费 59 分钟用 LangGraph从最后一个检查点接着跑只需要 1 分钟4. 原生支持人机协同高合规场景刚需在金融、医疗、法律等行业所有关键操作都需要人工审核。LangGraph 一行代码就能实现# 在editor节点执行前中断等待人工审核 workflow.add_node(editor, editor) workflow.add_edge(writer, editor) workflow.interrupt_before(editor) # 在这里中断程序运行到这里会自动暂停你可以在后台查看草稿修改反馈意见然后点击 继续Agent 就会接着往下跑。5. 完美支持多 Agent 协作2026 年核心赛道LangGraph 的图结构天然适合多 Agent 协作。你可以每个 Agent 是一个独立节点有自己的角色和能力通过边定义 Agent 之间的通信和协作流程用一个 Supervisor Agent 统一调度其他 Agent实现类似人类团队的分工协作模式Uber 已经用 LangGraph 构建了大规模的代码迁移自动化系统协调几十个专门的编码 Agent完成了数百万行代码的自动迁移。什么时候用 LangGraph什么时候用 LangChain场景首选框架简单的线性任务翻译、摘要、单轮问答LangChain需要工具调用的简单 AgentLangChain AgentExecutor需要循环、迭代、自我反思的复杂任务LangGraph长对话、长任务处理LangGraph需要人工审核的高合规场景LangGraph多 Agent 协作系统LangGraph生产级部署、需要高可靠性LangGraph一句话总结Demo 用 LangChain生产用 LangGraph。在 2026 年如果你想进大厂做 AI Agent 工程师LangGraph 是必考技能没有之一。下一步学习建议先跑通上面的 作家 - 主编 代码理解状态、节点、边的基本用法学习 LangGraph 的官方教程特别是 ReAct Agent 和多 Agent 协作的示例用 LangGraph 重构你之前用 LangChain 写的 Agent对比两者的区别学习 Checkpoint 和人机协同的用法这是生产级部署的关键研究大厂的 LangGraph 最佳实践比如 Uber 的代码迁移系统、字节的智能办公 Agent基于 LangGraph 的 ReAct 工具调用 Agent 完整代码比 LangChain 原生的 AgentExecutor 更可控、更易调试

相关文章:

LangGraph 终极解析:从 “玩具 Agent“ 到 “生产级智能体“ 的核心武器

目录 LangGraph 终极解析:从 "玩具 Agent" 到 "生产级智能体" 的核心武器 一句话定位 为什么必须学 LangGraph?(LangChain 的致命缺陷) LangGraph 四大核心概念(一张图搞懂) 1. S…...

python系列【仅供参考】:js2py模块--python中执行js

js2py模块--python中执行js js2py 1. 在python中执行js代码 2. js代码翻译 3. 在js中调用Python函数 4. 在js中调用Python模块 js2py Python中执行JS代码,通常用两个库:js2py,pyexecjs。当网页使用 js 加密时我们可以使用这些库来分析 js 的实现逻辑,获取加密信息。 js2p…...

下载安装 Temurin® JDK JDK 21 - LTS 速度很慢,有办法加速吗?

下载 Temurin JDK JDK 21 - LTS 速度很慢,有办法加速吗? 加速下载 Temurin JDK 21 的方法 方法一:清华大学 TUNA 镜像(推荐 ⭐⭐⭐⭐⭐) 这是目前最快、最稳定的国内镜像,速度可以跑满带宽。 直接访问目…...

Godot XR Tools:加速VR/AR开发的模块化工具集与实战指南

1. 项目概述:Godot XR Tools 是什么? 如果你正在用 Godot 引擎捣鼓 VR 或 AR 项目,大概率会遇到一些“通用但繁琐”的问题:怎么让虚拟手自然地抓取物体?怎么实现一个稳定可靠的传送移动机制?UI 界面在 3D …...

python系列【仅供参考】:JS的解析与Js2Py使用

JS的解析与Js2Py使用 JS的解析与Js2Py使用 简介: JS的解析 事件监听器 搜索关键字 请求关联JS文件 Js2Py Js2Py的简单使用 安装Js2Py 执行JavaScript代码 调用JavaScript函数 Js2Py的应用示例 创建JavaScript文件 使用JavaScript JS的解析与Js2Py使用 简介: Js2Py是一个Pyt…...

基于工作流的低代码AI应用开发:Flock平台核心架构与实战指南

1. 项目概述:Flock,一个为AI应用构建者准备的“乐高积木”如果你正在寻找一个工具,能够让你像搭积木一样,快速构建出功能强大的聊天机器人、智能客服,甚至是能自主协作的多智能体系统,那么Flock很可能就是你…...

深入Android Framework:构建稳定、高效的无人售卖机系统

摘要: 本文聚焦于Android Framework框架层,探讨其在无人售卖机系统开发中的核心价值与应用实践。区别于常规应用层开发,无人售卖机因其特殊的运行环境(如弱网、断电风险、多外设交互)及业务需求(如交易安全、设备状态监控、离线能力),对Android系统的底层能力提出了更高…...

如何在华为HarmonyOS设备上部署microG服务:解决签名验证的完整技术指南

如何在华为HarmonyOS设备上部署microG服务:解决签名验证的完整技术指南 【免费下载链接】GmsCore Free implementation of Play Services 项目地址: https://gitcode.com/GitHub_Trending/gm/GmsCore microG Services是一个开源免费的Google Play服务替代框架…...

#81_闲谈语言的分类

机器语言是二进制指令,CPU可直接执行; 低级语言通常指机器语言和汇编语言,与硬件紧密相关; 高级语言则接近自然语言,独立于具体硬件,需编译/解释才能运行; 中级语言并非严格分类,有时…...

golang如何实现桌面应用热更新_golang桌面应用热更新实现攻略

Go桌面应用无法真正热更新,只能通过go-selfupdate实现无缝重启:下载校验新二进制、替换并重启,需适配各平台签名与自启机制,插件机制不可行,核心难点在于更新时机判断与状态快照恢复。Go 桌面应用热更新无法真正“热”…...

5分钟快速上手!Calibre豆瓣插件终极安装指南,轻松获取中文图书元数据

5分钟快速上手!Calibre豆瓣插件终极安装指南,轻松获取中文图书元数据 【免费下载链接】calibre-douban Calibre new douban metadata source plugin. Douban no longer provides book APIs to the public, so it can only use web crawling to obtain da…...

为什么很多人 DFS 写得飞起,一到「矩阵最长递增路径」就彻底懵了?

为什么很多人 DFS 写得飞起,一到「矩阵最长递增路径」就彻底懵了? 有一类算法题,非常容易让人产生错觉。 看起来只是: 矩阵 + DFS结果一写。 不是超时。 就是死循环。 再不然: 明明逻辑没错 结果性能直接爆炸而「矩阵中的最长递增路径(Longest Increasing Path in a…...

欧拉回路(一笔画)

欧拉回路是图论中的一个经典概念,指一条经过图中每条边恰好一次并且起点和终点相同的闭合路径。通俗地讲,就是一笔画问题中能够不重复地走完所有边并回到起点的画法。 基本定义 欧拉回路:经过图中每条边恰好一次且闭合的回路。 欧拉通路&am…...

吃透C++ STL map/set:从入门到实战,新手也能轻松上手

文章目录 前言 一、先搞懂:map和set是什么?核心区别在哪? 二、set使用详解:去重排序,一键搞定 三、map使用详解:键值映射,高效查找 四、map和set的常见避坑点(新手必看&#xff…...

Dify插件开发实战:Python SDK快速构建AI工作流扩展工具

1. 项目概述与核心价值如果你正在为 Dify 构建自定义插件,并且厌倦了从零开始处理复杂的协议、序列化和生命周期管理,那么langgenius/dify-plugin-sdks这个项目就是你一直在找的“脚手架”。简单来说,它是一套官方维护的软件开发工具包&#…...

私有化部署ChatGPT Web应用:从架构解析到实战部署指南

1. 项目概述与核心价值最近在折腾一个挺有意思的开源项目,叫“ChatGPTwebV15”。这名字听起来有点技术范儿,但说白了,就是一个让你能自己部署、完全掌控的类ChatGPT网页应用。它基于OpenAI的API,但把整个交互界面、对话管理、甚至…...

如何在手机上3步完成Android内核刷入:Horizon Kernel Flasher终极指南

如何在手机上3步完成Android内核刷入:Horizon Kernel Flasher终极指南 【免费下载链接】HorizonKernelFlasher A simple app that can flash AnyKernel flashable zips on android 项目地址: https://gitcode.com/gh_mirrors/ho/HorizonKernelFlasher 还在为…...

2026.5.7@霖宇博客制作中遇见的问题

倒数2个知识点没看 记得看下1. one 前端网页的验证码如何修改为后端的验证码 将前端生成的验证码修改为后端生成,核心目的是为了解决安全性问题。如果验证码只在前端生成和校验,恶意攻击者可以轻松绕过登录页面直接发起请求,导致验证码完全失…...

国家医疗保障webpack

开始逆向 定位到signature的位置 发现是webpack模块 要找到入口位置 这一块是加载器的位置 先把这个扣下来 再扣自执行函数 不要里面的函数 会报环境错误 然后报这个错误 把加载器函数调用注释 o函数挂载到全局去调用 代码全拉 然后注释掉 这一块是 类ob 然后报t is not define…...

C语言实现精简Smalltalk运行时:探索面向对象与消息传递的本质

1. 项目概述:当“小结构”遇上“小对话”如果你在开源社区里混迹过一段时间,可能会发现一个有趣的现象:很多项目的名字,乍一看不知所云,但一旦你理解了它的设计哲学,就会觉得无比贴切。tinystruct/smalltal…...

终极健康办公指南:Stretchly科学休息管理工具完全解析

终极健康办公指南:Stretchly科学休息管理工具完全解析 【免费下载链接】stretchly The break time reminder app 项目地址: https://gitcode.com/gh_mirrors/st/stretchly 在数字时代,长时间面对电脑屏幕已成为现代职场人士的日常。Stretchly作为…...

WarcraftHelper:魔兽争霸III终极优化工具3步快速配置指南

WarcraftHelper:魔兽争霸III终极优化工具3步快速配置指南 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 还在为魔兽争霸III在现代电脑上运…...

AI智能体驱动TDD:agent-flow-tdd框架实战与优化指南

1. 项目概述:当AI智能体遇上测试驱动开发 如果你和我一样,在软件开发领域摸爬滚打了十几年,肯定对测试驱动开发(TDD)又爱又恨。爱的是它那套“红-绿-重构”的严谨流程,确实能产出健壮、可维护的代码&#x…...

WarcraftHelper:魔兽争霸3终极兼容性修复与性能增强方案

WarcraftHelper:魔兽争霸3终极兼容性修复与性能增强方案 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 还在为魔兽争霸3在现代电脑上运行…...

蓝桥杯单片机决赛避坑指南:从“高位熄灭”到“双键长按”的实战代码优化

蓝桥杯单片机决赛代码优化实战:从数码管显示到双键检测的进阶技巧 参加蓝桥杯单片机竞赛的同学们都知道,决赛环节往往会在基础功能上设置诸多"陷阱",考验选手对细节的掌控能力。本文将针对数码管高位熄灭、温度传感器小数处理、双键…...

前端响应式设计:最佳实践

前端响应式设计:最佳实践 前言 响应式设计是现代前端开发的核心概念之一,它确保网站和应用在不同设备上都能提供良好的用户体验。随着移动设备的普及,响应式设计变得越来越重要。今天,我就来给大家讲讲响应式设计的最佳实践&#…...

CUDA内核优化:从手工调优到AI驱动的自动化实践

1. CUDA内核优化:从手工调优到AI驱动的范式转变在GPU计算领域,CUDA内核优化一直是提升性能的关键手段。传统优化方法高度依赖工程师对GPU架构的深入理解,需要手动调整内存访问模式、线程块配置等参数。这种人工优化过程通常耗时数周甚至数月&…...

AI代码审查实战:基于LLM的自动化代码质量提升方案

1. 项目概述与核心价值最近在GitHub上看到一个挺有意思的项目,叫abczsl520/codex-review。光看名字,可能有点摸不着头脑,codex这个词在技术圈里通常和OpenAI的Codex模型有关,而review又指向了代码审查。所以,这个项目大…...

ZYNQ裸机双网口实战:手把手教你修改LWIP库以支持KSZ9031 PHY与EMIO配置

ZYNQ裸机双网口实战:LWIP库深度改造与KSZ9031 PHY适配全指南 1. 项目背景与核心挑战 在工业控制、边缘计算等场景中,ZYNQ SoC凭借其PSPL的异构架构优势,常被用于构建高性能网络设备。当标准单网口无法满足需求时,通过PL扩展EMIO实…...

内存级向量检索库memsearch:原理、实战与性能调优

1. 项目概述:向量检索的“内存级”加速方案最近在折腾RAG(检索增强生成)应用时,向量数据库的检索延迟成了性能瓶颈。尤其是在处理高并发、低延迟的在线服务场景,即使是最优的索引,一次检索也常常需要几十到…...