Agent实战教程:LangGraph图结构深度解析,构建大模型智能体的核心组件与实战,看到就是赚到!!

发布时间:2026/8/27 17:18:15

Agent实战教程:LangGraph图结构深度解析,构建大模型智能体的核心组件与实战,看到就是赚到!!
图结构GraphsLangGraph 的核心是将智能体工作流建模为图结构。你可以通过三个关键组件来定义智能体的行为状态State这是一个共享的数据结构代表你应用程序的当前快照。它可以是任何数据类型但通常使用共享状态模式来定义。简单理解就像是一个记事本记录着当前程序运行到什么状态了。节点Nodes这些是包含智能体逻辑的函数。它们接收当前状态作为输入执行一些计算或操作然后返回更新后的状态。简单理解就像是工作站负责干活处理数据完成具体任务。边Edges这些函数决定接下来要执行哪个节点基于当前状态来判断。它们可以是条件分支或固定的转换路径。简单理解就像是交通指挥员告诉程序下一步该去哪里。核心思想通过组合节点和边你可以创建复杂的、循环的工作流让状态随时间不断演化。LangGraph 的真正优势来自于它如何管理这些状态。需要强调的是节点和边本质上就是函数 - 它们可以包含大语言模型也可以只是普通的代码。简而言之节点负责干活边负责指路。运行机制LangGraph 的底层图算法使用消息传递来定义通用程序。当一个节点完成操作后它会沿着一条或多条边向其他节点发送消息。接收消息的节点然后执行自己的函数将结果消息传递给下一组节点这个过程持续进行。这个设计灵感来自Google的Pregel系统程序以离散的超步骤进行。超步骤(super-step )的概念一个超步骤可以看作是对图节点的一次完整迭代并行运行的节点属于同一个超步骤顺序运行的节点属于不同的超步骤执行流程图执行开始时所有节点都处于非活跃状态当节点在任何传入边或通道上收到新消息状态时它变为活跃状态活跃节点运行其函数并返回更新结果在每个超步骤结束时没有收到传入消息的节点会投票停止将自己标记为非活跃当所有节点都是非活跃状态且没有消息在传输时图执行终止这就像是一个智能的流水线系统每个工作站节点完成任务后会自动将结果传递给下一个需要工作的站点直到整个任务完成。构建一个最简单的图结构让我们构建一个包含3个节点和一个条件边的简单图。状态State首先定义图的状态。状态模式作为图中所有节点和边的输入模式。我们使用Python typing模块中的TypedDict类作为模式它为键提供类型提示。importrandomfromtypingimportLiteralfromtypingimportTypedDictfromlanggraph.graphimportStateGraph,END,START# 定义状态 StateclassState(TypedDict):graph_state:str节点Nodes节点就是Python函数。第一个位置参数是状态如上所定义。因为状态是一个具有上述模式的TypedDict每个节点都可以通过state[graph_state]访问键graph_state。每个节点返回状态键graph_state的新值。默认情况下每个节点返回的新值将覆盖之前的状态值。# 定义节点 Nonedefnode_1(state:State):print(我在运行节点1的功能)return{graph_state:state[graph_state],我的心情是:}defnode_2(state:State):print(我在运行节点2的功能)return{graph_state:state[graph_state]开心的}defnode_3(state:State):print(我在运行节点3的功能)return{graph_state:state[graph_state]伤心的}defnode_1(state):print(---节点 1---)return{graph_state:state[graph_state] 我是}defnode_2(state):print(---节点 2---)return{graph_state:state[graph_state] 开心的}defnode_3(state):print(---节点 3---)return{graph_state:state[graph_state] 伤心的}边Edges边连接节点。普通边如果你想要总是从node_1跳转到node_2可以使用普通边。条件边如果你想要在节点之间进行可选路由可以使用条件边。条件边被实现为函数根据某些逻辑返回下一个要访问的节点。defdecide_mood(state:State)-Literal[node_2,node_3]:# 用户的输入决定了下一个访问节点user_inputstate[graph_state]ifrandom.random()0.5:returnnode_2returnnode_3图构建Graph Construction现在我们从上面定义的组件构建图。StateGraph类是我们可以使用的图类。首先我们用上面定义的State类初始化一个StateGraph。然后添加节点和边。我们使用START节点一个将用户输入发送到图的特殊节点来指示图的起始位置。END节点是表示终端节点的特殊节点。最后我们编译图以对图结构执行一些基本检查。我们可以将图可视化为Mermaid图表。# 构建图基于节点边builderStateGraph(State)# 添加节点builder.add_node(node_1,node_1)builder.add_node(node_2,node_2)builder.add_node(node_3,node_3)# 添加边builder.add_edge(START,node_1)builder.add_conditional_edges(node_1,decide_mood)builder.add_edge(node_2,END)builder.add_edge(node_3,END)# 编译图graphbuilder.compile()# 显示工作流png_datagraph.get_graph().draw_mermaid_png()withopen(graph.png,wb)asf:f.write(png_data)图的调用Graph Invocation编译后的图实现了可运行协议。这提供了执行LangChain组件的标准方式。invoke是此接口中的标准方法之一。输入是一个字典{graph_state: 你好我是Lance。}它为我们的图状态字典设置初始值。当调用invoke时图从START节点开始执行。它按顺序通过定义的节点node_1、node_2、node_3进行。条件边将使用50/50决策规则从节点1跳转到节点2或3。每个节点函数接收当前状态并返回一个新值该值覆盖图状态。执行持续到到达END节点。responsegraph.invoke({graph_state:你好我是小明})print(response)输出我在运行节点1的功能 我在运行节点2的功能{graph_state:你好我是小明,我的心情是:开心的}执行说明invoke同步运行整个图。它等待每个步骤完成后再移动到下一个步骤。它在所有节点执行完毕后返回图的最终状态。在这个例子中它返回node_2完成后的状态{graph_state: 你好我是小明,我的心情是:开心的}最后为什么要学AI大模型当下⼈⼯智能市场迎来了爆发期并逐渐进⼊以⼈⼯通⽤智能AGI为主导的新时代。企业纷纷官宣“ AI ”战略为新兴技术⼈才创造丰富的就业机会⼈才缺⼝将达 400 万DeepSeek问世以来生成式AI和大模型技术爆发式增长让很多岗位重新成了炙手可热的新星岗位薪资远超很多后端岗位在程序员中稳居前列。与此同时AI与各行各业深度融合飞速发展成为炙手可热的新风口企业非常需要了解AI、懂AI、会用AI的员工纷纷开出高薪招聘AI大模型相关岗位。最近很多程序员朋友都已经学习或者准备学习 AI 大模型后台也经常会有小伙伴咨询学习路线和学习资料我特别拜托北京清华大学学士和美国加州理工学院博士学位的鲁为民老师给大家这里给大家准备了一份涵盖了AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频全系列的学习资料这些学习资料不仅深入浅出而且非常实用让大家系统而高效地掌握AI大模型的各个知识点。这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】AI大模型系统学习路线在面对AI大模型开发领域的复杂与深入精准学习显得尤为重要。一份系统的技术路线图不仅能够帮助开发者清晰地了解从入门到精通所需掌握的知识点还能提供一条高效、有序的学习路径。但知道是一回事做又是另一回事初学者最常遇到的问题主要是理论知识缺乏、资源和工具的限制、模型理解和调试的复杂性在这基础上找到高质量的学习资源不浪费时间、不走弯路又是重中之重。AI大模型入门到实战的视频教程项目包看视频学习是一种高效、直观、灵活且富有吸引力的学习方式可以更直观地展示过程能有效提升学习兴趣和理解力是现在获取知识的重要途径光学理论是没用的要学会跟着一起敲要动手实操才能将自己的所学运用到实际当中去这时候可以搞点实战案例来学习。海量AI大模型必读的经典书籍PDF阅读AI大模型经典书籍可以帮助读者提高技术水平开拓视野掌握核心技术提高解决问题的能力同时也可以借鉴他人的经验。对于想要深入学习AI大模型开发的读者来说阅读经典书籍是非常有必要的。600AI大模型报告实时更新这套包含640份报告的合集涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师还是对AI大模型感兴趣的爱好者这套报告合集都将为您提供宝贵的信息和启示。AI大模型面试真题答案解析我们学习AI大模型必然是想找到高薪的工作下面这些面试题都是总结当前最新、最热、最高频的面试题并且每道题都有详细的答案面试前刷完这套面试题资料小小offer不在话下这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

相关新闻

大模型RAG核心技术:信息检索如何打造AI“超级大脑“?看完这一篇你就知道了!!

大模型RAG核心技术:信息检索如何打造AI“超级大脑“?看完这一篇你就知道了!!

2026/8/27 17:18:15

前言 你是否有过这样的经历?问AI一个问题,它能自信满满地回答,但你稍微验证一下就发现——“这个回答完全是编造的”。没错,这就是当今大模型的典型特点:看似无所不知,实则可能自信地胡说八道。 这个问题该…

QQ空间历史备份指南:一次扫码导出全部历史说说

QQ空间历史备份指南:一次扫码导出全部历史说说

2026/8/27 17:08:14

QQ空间历史备份指南:一次扫码导出全部历史说说 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 五年前的说说配图失效、评论找不回,靠网页记事终究不牢靠。GetQzo…

Platypus:把 Shell 和 Python 脚本打包成能双击启动的 macOS 应用

Platypus:把 Shell 和 Python 脚本打包成能双击启动的 macOS 应用

2026/8/27 17:08:14

Platypus:把 Shell 和 Python 脚本打包成能双击启动的 macOS 应用 【免费下载链接】Platypus Create native macOS applications from command line scripts. 项目地址: https://gitcode.com/gh_mirrors/pl/Platypus 每次写完脚本,最后一步往往最…

ABAP:Visual Studio Code->ABAP FS開發ABAP教程

ABAP:Visual Studio Code->ABAP FS開發ABAP教程

2026/8/27 18:28:17

和GUI相比其實沒有很大的好處,我覺得還是GUI寫代碼更方便一些,但是這裡多了可以編輯那些需要使用ECLIPSE開發的元素:CDS視圖 教程如下: 1.下載Visual Studio Code,官方連接如下: Download Visual Studio …

基于SpringCloud的分布式演唱会抢票系统(毕业设计项目源码+文档)

基于SpringCloud的分布式演唱会抢票系统(毕业设计项目源码+文档)

2026/8/27 18:28:17

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

EV 驱动电机零转速满转矩起步(Align→OpenLoop→FOC)Simulink 建模

EV 驱动电机零转速满转矩起步(Align→OpenLoop→FOC)Simulink 建模

2026/8/27 18:28:17

目录 一、为什么“零转速满转矩起步”要单独做 二、起步控制原理简述 2.1 预定位(Align / Pre‑Excite) 2.2 开环旋转(Open‑Loop Voltage‑Oriented) 2.3 切闭环 FOC 三、关键参数 四、Simulink 建模(手把手) 4.1 Step 1️⃣ —— PMSM + Inverter + 坐标变换(同…

为什么滤波器电容必须做真空注胶滤波器电容是变频器、新能源逆变器、车载充电机(OBC)、UPS、光伏储能、通信电源等高压设备的关键元件

为什么滤波器电容必须做真空注胶滤波器电容是变频器、新能源逆变器、车载充电机(OBC)、UPS、光伏储能、通信电源等高压设备的关键元件

2026/8/27 18:28:17

一、为什么滤波器电容必须做真空注胶滤波器电容是变频器、新能源逆变器、车载充电机(OBC)、UPS、光伏储能、通信电源等高压设备的关键元件。它长期工作在高电压、高频率、高温升环境下,对内部绝缘性、抗振性、散热性能、防潮等级有极高要求。…

Level 4自动驾驶系统设计46——L2/L3 级软硬件架构 2

Level 4自动驾驶系统设计46——L2/L3 级软硬件架构 2

2026/8/27 18:28:17

8.3 片外高刚性独立安全 MCU(如英飞凌 TC 系列)的接口分配与底软窗口看门狗(WWD)硬核防御 8.3.1 跨芯片级故障蔓延与 MCU “最后一道防线”的物理刚性 在 8.2 节关于 Level 3 级单芯片方案性能瓶颈的白盒解耦中,我们证实了在单片大算力 SoC 挂载 32G/64G 内存的商业包络…

分布式共识实现的分层测试

分布式共识实现的分层测试

2026/8/27 18:18:17

分布式共识实现的分层测试共识测试要验证安全性和活性,单节点通过不能说明选主和日志复制正确。 针对协议分层 单元测试覆盖任期与日志规则,集成测试模拟网络分区,场景测试检查成员加入和恢复后的状态。 记录可重放条件 保存消息顺序、随机种…

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

2026/8/27 11:10:02

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

2026/8/27 7:25:23

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

2026/8/26 17:50:58

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

Go语言构建企业级AI服务网关:统一管理英伟达等AI接口调用

Go语言构建企业级AI服务网关:统一管理英伟达等AI接口调用

2026/8/27 0:07:12

1. 项目概述:从零构建一个企业级的AI服务网关 最近在帮一个做内容审核的团队做技术架构升级,他们原来的业务里,每天有几十万张图片和短视频需要过审,最初是接了几个开源的AI模型自己部署,但效果和性能一直不太稳定。后…

LeetCode Hot100(51-60)算法精解与面试技巧

LeetCode Hot100(51-60)算法精解与面试技巧

2026/8/27 0:07:12

1. 题目背景与核心价值"hot100(51-60)"这个标题看起来像是某个编程题库或算法练习集中的一组题目编号。在技术社区中,类似命名通常指向LeetCode、牛客网等平台的热门题目集合。作为刷过300题的算法老手,我理解这类题目的核心价值在于&#xff…

CRC校验实战:从模2除法到HJ212协议排错

CRC校验实战:从模2除法到HJ212协议排错

2026/8/27 0:07:12

1. 为什么一个“校验码”能扛住工业现场90%的数据 corruption? 你有没有遇到过这样的场景:嵌入式设备通过RS-485上传温湿度数据,上位机偶尔收到一帧乱码——温度显示成-273℃,湿度跳到999%,但串口波形看起来完全正常&a…

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

2026/8/22 2:02:26

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…

导师推荐!2026最新AI论文工具测评与实用推荐

导师推荐!2026最新AI论文工具测评与实用推荐

2026/8/26 18:07:30

2026年真正好用的AI论文工具,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

告别游戏崩溃:XCOM 2模组管理器的智能革命

告别游戏崩溃:XCOM 2模组管理器的智能革命

2026/8/26 17:57:52

告别游戏崩溃:XCOM 2模组管理器的智能革命 【免费下载链接】xcom2-launcher The Alternative Mod Launcher (AML) is a replacement for the default game launchers from XCOM 2 and XCOM Chimera Squad. 项目地址: https://gitcode.com/gh_mirrors/xc/xcom2-lau…