LangGraph实战:用三要素构建AI Agent工作流,一篇就够了,建议收藏
LangGraph是构建AI工作流和Agent的框架,核心三要素为State(共享数据结构)、Node(处理函数)和Edge(流程控制)。State作为节点间传递的数据包,Node负责具体处理,Edge控制执行流程。通过将复杂任务分解为步骤,每个步骤可结合LLM或工具,LangGraph能将流程抽象出来,使AI系统更清晰易维护。文章通过代码示例展示了如何使用LangGraph构建工作流,强调其作为"graph processing engine"的本质,适合需要流程化处理的AI应用。
“「 嘿兄弟,我好想交女朋友但都交不到,怎么办? 」”
身为 AI 工程师,为了帮他,当然是画个流程图啊!

交女朋友要分步骤,每个步骤都有单一目的。 如果失败也没关系,流程上我们退回去反省一下,再接再厉
「… 这 TM? 一点都不实际 ”
有道理,一定是因为没有用 LangGraph 的关系!
用了 LangGraph 一切都实际了起来!

用 LangGraph 把每个步骤都接上 LLM 或者是 Tool(搜索), 要流程有流程,要行动有行动 ,这就是交友 agent 。
为什么要 LangGraph?
当你的产品需要一些流程、步骤,用 LangGraph 搭配 LangChain
- • 能够实现 workflow / Agent 搭建
- • 轻易把 LLM 引入每个步骤当中
- • 把流程抽象出来,好维护。 把每一个复杂的步骤封装起来。
可是,LangGraph 怎么做到呢? 有三个要素!
LangGraph 是什么?
LangGraph 三要素:
- • State: 状态机,如同变量表
- • Node: 干活 / 函数
- • Edge:流程控制
太抽象? 给个简单例子
# **State**class MyState(TypedDict): # from typing import TypedDict i: int j: int# Functions on **nodes**def fn1(state: MyState): print(f"Enter fn1: {state['i']}") return {"i": 1}def fn2(state: MyState): i = state["i"] return {"i": i+1}# Conditional **edge** functiondef is_big_enough(state: MyState): if state["i"] > 10: return END else: return "n2"# The Graph! The "Program" !!workflow = StateGraph(MyState)workflow.add_node("n1", fn1)workflow.add_node("n2", fn2)workflow.set_entry_point("n1")workflow.add_edge("n1", "n2")workflow.add_conditional_edges( source="n2", path=is_big_enough)# Compile, and then rungraph = workflow.compile()r = graph.invoke({"i": 1000, "j": 123})print(r)
```这个 graph 的可视化执行过程:

最后输出:
```plaintext
{'i': 11, 'j': 123}
跟单纯写 python 程序的不同,LangGraph 能够让每一个「步骤」都很复杂, 引入 LLM 跟工具的处理,把「流程」抽象出来 ,变得干净好维护。
Graph 像是一个子程序
在这个例子 MyState 其实是一个字典,先知道这样,后面有更多解释。
1. Node 节点
fn1 跟 fn2 两个 function,因为他们由 add_node() 绑在节点上 – 前面说了 Node 就是在干活,可以理解为具体的打工人。
何谓干活? 通常是「改变 state」,当然也可以是具体的某个事情,比如读取文件、写文件等。
def fn1(state: MyState): print(f"Enter fn1: {state['i']}") return {"i": 1}def fn2(state: MyState): i = state["i"] return {"i": i+1}
- • 想象 state (状态) 是属于这个 graph 的「变量表」。
- •
fn1先打印传入的 state; 回传{“i”: 1}代表「不管 state 的 i 以前是多少,现在覆盖掉,变成 1 - • 同理,
fn2把 state 的 i 加上 1 以后回传,代表「state 里面的 i 多加 1
- • 注意
state[“i”]是这个 graph 里面的变数,在其他节点的 function 也能存取。
光是定义 function 不够,还要绑到 graph 上,给每个 node 一个名字:
workflow.add_node("n1", fn1)workflow.add_node("n2", fn2)
2. Edge 边
执行顺序呢? 这就是 “edge” 控制了:从一个点有方向地连到另一个点
workflow.set_entry_point("n1")workflow.add_edge("n1", "n2")workflow.add_conditional_edges( source="n2", path=is_big_enough)
- •
set_entry_point()指定从哪个 node 开始执行 - •
add_edge(“n1”, “n2”)表示当 n1 执行完以后,下一步就交给 n2 执行 - • 条件判断用
.add_conditional_edges()实现,等价于程序里的“if”。它需要至少两个参数
- • source 表示起点
- • path 是一个 function 决定下一步给谁:看他回传的字串代表哪个 node。
- • 示例代码中
is_big_enough这个函数,去看 state 变量表里的 i 有没有大于 10,没有的话就回传 “n2”,也就是下一棒再交给自己。 大于 10 的话就结束( END)
def is_big_enough(state: MyState): if state["i"] > 10: return END else: return "n2"
所以整个 Graph 看起来像个子程序! 把 workflow 当作代码、state 当作变量表,compile 编译成执行文件:
graph = workflow.compile()r = graph.invoke({"i": 1000, "j": 123})print(r)
- • 整个 graph 需要
.compile()才是一个能执行的 graph。 而 Compile 之后,后加的 node/edge 不会反映在上面 - •
.invoke()是输入初始的 state 去执行; 输出是最后的 state - • 虽然所有节点都没碰触 j – 也就是回传的都是 partial state ,但 state 的 schema 是 TypeDict, 里面有定义 j,所以如果初始有给 j 值,也会一直保留,最后的输出会有 j
Enter fn1: 1000{'i': 11, 'j': 123}
对了,有没有发现: 示例代码完全没 AI 模型 。LangGraph 本质上就是个 “graph processing” engine 而已!
3. State 状态
State 是一个共享的数据结构,在 graph 的节点之间传递和更新,在上面的代码中我们已经看到了,节点函数 fn1、fn2 可以读取 state 并进行修改
class MyState(TypedDict): i: int j: int...def fn2(state: MyState): i = state["i"] return {"i": i+1}
核心特性

State 就像是一个在图中流动的"数据包",每个节点都可以检查它、修改它,然后传递给下一个节点。这种设计让复杂的 AI 工作流变得清晰可维护。
大模型未来如何发展?普通人如何抓住AI大模型的风口?
※领取方式在文末
为什么要学习大模型?——时代浪潮已至
随着AI技术飞速发展,大模型的应用已从理论走向大规模落地,渗透到社会经济的方方面面。
- 技术能力上:其强大的数据处理与模式识别能力,正在重塑自然语言处理、计算机视觉等领域。
- 行业应用上:开源人工智能大模型已走出实验室,广泛落地于医疗、金融、制造等众多行业。尤其在金融、企业服务、制造和法律领域,应用占比已超过30%,正在创造实实在在的价值。

未来大模型行业竞争格局以及市场规模分析预测:
同时,AI大模型技术的爆发,直接催生了产业链上一批高薪新职业,相关岗位需求井喷:
AI浪潮已至,对技术人而言,学习大模型不再是选择,而是避免被淘汰的必然。这关乎你的未来,刻不容缓!
那么,我们如何学习AI大模型呢?
在一线互联网企业工作十余年里,我指导过不少同行后辈,经常会收到一些问题,我是小白,学习大模型该从哪里入手呢?我自学没有方向怎么办?这个地方我不会啊。如果你也有类似的经历,一定要继续看下去!这些问题,也不是三言两语啊就能讲明白的。
所以呢,这份精心整理的AI大模型学习资料,我整理好了,免费分享!只希望它能用在正道上,帮助真正想提升自己的朋友。让我们一起用技术做点酷事!
ps:微信扫描即可获取
加上后我将逐一发送资料
与志同道合者共勉
真诚无偿分享!!!

适学人群
我们的课程体系专为以下三类人群精心设计:
-
AI领域起航的应届毕业生:提供系统化的学习路径与丰富的实战项目,助你从零开始,牢牢掌握大模型核心技术,为职业生涯奠定坚实基础。
-
跨界转型的零基础人群:聚焦于AI应用场景,通过低代码工具让你轻松实现“AI+行业”的融合创新,无需深奥的编程基础也能拥抱AI时代。
-
寻求突破瓶颈的传统开发者(如Java/前端等):将带你深入Transformer架构与LangChain框架,助你成功转型为备受市场青睐的AI全栈工程师,实现职业价值的跃升。

※大模型全套学习资料展示
通过与MoPaaS魔泊云的强强联合,我们的课程实现了质的飞跃。我们持续优化课程架构,并新增了多项贴合产业需求的前沿技术实践,确保你能获得更系统、更实战、更落地的大模型工程化能力,从容应对真实业务挑战。
资料内容涵盖了从入门到进阶的各类视频教程和实战项目,无论你是小白还是有些技术基础的技术人员,这份资料都绝对能帮助你提升薪资待遇,转行大模型岗位。
01 大模型系统化学习路线
作为学习AI大模型技术的新手,方向至关重要。 正确的学习路线可以为你节省时间,少走弯路;方向不对,努力白费。希望这份最科学最系统的学习成长路线图和学习规划,带你从零基础入门到精通!

👇微信扫描下方二维码即可~

本教程比较珍贵,仅限大家自行学习,不要传播!更严禁商用!
02 大模型学习书籍&文档
新手必备的权威大模型学习PDF书单来了!全是一系列由领域内的顶尖专家撰写的大模型技术的书籍和学习文档(电子版),从基础理论到实战应用,硬核到不行!
※(真免费,真有用,错过这次拍大腿!)

03 AI大模型最新行业报告
2025最新行业报告,针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。

04 大模型项目实战&配套源码
学以致用,在项目实战中检验和巩固你所学到的知识,同时为你找工作就业和职业发展打下坚实的基础。

05 大模型大厂面试真题
面试不仅是技术的较量,更需要充分的准备。在你已经掌握了大模型技术之后,就需要开始准备面试,我精心整理了一份大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。


06 全套AI大模型应用开发视频教程
(包含提示工程、RAG、LangChain、Agent、模型微调与部署、DeepSeek等技术点)

由于篇幅有限
只展示部分资料
并且还在持续更新中…
ps:微信扫描即可获取
加上后我将逐一发送资料
与志同道合者共勉
真诚无偿分享!!!
最后,祝大家学习顺利,抓住机遇,共创美好未来!
更多推荐




所有评论(0)