作者: 程序员光剑
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
AI天才研究院和光剑读书创始人兼CEO
AI人工智能与大数据付费40871篇
计算付费14040篇
ChatGPT 实战付费2282篇
Agentic AI 实战付费17861篇
ChatGPT付费8014篇
AI大模型企业级应用开发实战付费28899篇
【精选大厂面试题详解】付费626篇
LLM大模型落地实战指南付费4281篇
AI大模型应用入门实战与进阶付费8758篇
每月推书付费436篇
深度学习实战付费3608篇
Golang实战付费160篇
Java实战付费447篇
Python实战付费6694篇
AI实战付费5210篇
一天一门编程语言付费117篇
实用工具箱付费60篇
ClickHouse企业级实战开发付费126篇
架构师必知必会系列付费1088篇
编程实践付费311篇
AI数据分析1篇
数据结构与算法6篇
《精通MCP:AI 智能体开发实战》1篇
AI Agent 价值投资实战24篇程序员光剑:6) Checkpoint 暂停/恢复与“人工介入”的本质6.1 暂停/恢复本质:把“控制流位置”也存起来只存 state 不够,因为恢复时你还得知道“下一步从哪跑”。所以 checkpoint 至少要有:statenext_nodes(或“当前节点 + 程序计数器”)可选:历史、事件、版本号恢复时把 state/next_nodes 原样取回,继续推进。LangGraph 的持久化 checkpoint 就是为这个目的:能中断、能恢复、能在多轮交互中延续同一条执行线程
程序员光剑:循环(回路)图里只要存在 C -> D -> A 的边,执行器就会在某一步把 A 放回 active,于是形成循环。关键不是“允许环”,而是必须有:退出条件(比如 router 返回 "end")递归上限(recursion_limit)防止无限跑(LangGraph 也有类似限制/保护机制)
程序员光剑:运行阶段:状态机主循环(最核心)一个足够贴近 LangGraph 精神的“最小 runner”长这样:初始化 state初始化 active = [first_node](START 的出边决定第一个节点)while active 非空:逐个执行 active 节点(可串行,也可并行;LangGraph 内部会更复杂)收集每个节点的 update按 reducer 合并进全局 state根据边和条件计算 next_active保存 checkpoint终止条件:到 END / 无 next / 达到递归上限(防死循环)
程序员光剑:LangGraph 实际上构建了一个**“虚拟的操作系统”**:State (Memory/RAM): 运行时的上下文数据。Node (CPU): 处理数据的逻辑单元。Edge (Bus/Control Flow): 数据和控制信号的传输路径。Checkpoint (Disk): 数据的持久化存储。通过将 Agent 逻辑显式化为图结构,LangGraph 解决了 LangChain 原生 Chain 在处理复杂循环逻辑(如 ReAct 模式中的反复思考-行动循环)时的不可控性,使得构建复杂的、有状态的 AI 应用成为可能。
程序员光剑:LangGraph 的本质及其表现形式可概括如下:### LangGraph 的本质1. **基于 Pregel 的图计算模型重构** LangGraph 的核心是对 Google Pregel 模型的深度改造,将原本用于分布式数据处理的图计算框架,转化为**构建有状态、可循环的智能体工作流引擎**。其本质是通过图结构定义程序逻辑,而非单纯分析数据图()。2. **图即程序(Graph-as-Program)** 与传统图计算不同,LangGraph 中的图结构直接表示**动态执行逻辑**: - 节点(Node)封装计算单元(如 LLM 调用、工具执行) - 边(Edge)定义状态流转路径 这种设计使图本身成为可执行的智能体程序()。### 表现形式:有向有环图 + 状态机1. **有向有环图(Directed Cyclic Graph)** - 支持循环结构,允许状态在节点间多次传递(如智能体的多轮思考) - 示例:对话智能体中,用户反馈可触发重新执行前序节点()。2. **状态机机制** - **动态状态管理**:每个节点接收状态,修改后传递至下游 ```python # 伪代码:状态传递示例 def node(state): new_state = process(state) # 修改状态 return Send(node="next_node", arg=new_state) # 发送至指定节点 ``` - **灵活状态解耦**:支持子图使用独立状态(如映射-归约场景),再聚合到主状态()。3. **消息驱动执行** 通过 `Send` 类实现异步通信: - `node` 参数指定目标节点 - `arg` 参数传递自定义状态(可完全覆盖或部分更新) 这种机制实现**条件分支、循环、并行**等复杂逻辑()。### 典型应用场景1. **多步推理智能体**:循环调用工具链解决复杂问题 2. **动态 RAG 系统**:根据中间结果调整检索策略 3. **对话工作流**:管理多轮对话状态与分支跳转() > LangGraph 的创新在于将 Pregel 的 **"以顶点为中心的计算"** 转化为 **"以节点为中心的工作流"**,使图结构成为动态智能体的执行蓝图()。
专栏收录文章