一、核心能力:图形API(Graph API)
图形API是LangGraph的基础骨架,本质是通过"节点(Nodes)"和"边(Edges)"定义工作流的结构,实现任务的拆分、流转与协作,核心是"可视化、可编排"。
-
核心定义:节点对应具体的任务/操作(如函数调用、LLM生成、条件判断),边对应节点间的流转规则(如执行顺序、条件分支),通过图形结构串联整个业务逻辑。
-
关键细节:
-
节点类型:分为"工具节点"(调用外部工具)、"LLM节点"(生成文本/决策)、"条件节点"(判断流转方向)、"结束节点"(终止工作流)。
-
边的规则:支持"顺序边"(固定流转)、"条件边"(根据节点输出判断下一步)、"循环边"(重复执行某节点,直到满足条件)。
-
可视化工具:可通过LangGraph自带的可视化接口,将图形结构渲染为流程图,直观查看节点关系与流转逻辑,便于调试与优化。
-
-
学习重点:掌握节点与边的定义方式,学会用图形API编排简单工作流(如"LLM生成→条件判断→工具调用"),理解不同流转规则的适用场景。
二、核心能力:持久性(Persistence)
持久性是LangGraph区别于普通工作流框架的关键特性,核心是"保存工作流的状态、历史记录与执行进度",支持断点续跑、状态回溯,避免重复执行,提升可靠性。
-
核心定义:将工作流的每一步执行结果(节点输出、状态数据、流转路径)存储到指定介质,后续可随时读取、恢复,确保工作流在中断后(如服务重启、异常退出)能继续执行。
-
关键细节:
-
存储介质:支持本地文件、数据库(如SQLite、PostgreSQL)、缓存(如Redis)等,可根据应用场景选择。
-
持久化内容:包括"状态快照"(当前工作流的状态数据)、"历史轨迹"(所有节点的执行顺序与输出)、"未完成任务"(中断时待执行的节点)。
-
核心优势:减少重复计算(如避免重新调用工具、重新生成LLM响应),支持故障恢复,便于问题排查(可回溯执行过程)。
-
-
学习重点:掌握持久化的配置方法(指定存储介质、配置存储规则),理解状态快照的生成与恢复逻辑,学会在实际应用中启用持久化提升可靠性。
三、核心能力:记忆(Memory)
LangGraph的记忆能力,是实现"上下文感知"的核心,本质是"存储工作流执行过程中的上下文信息,供节点调用时参考",支持多轮对话、多节点协作的连贯性。
-
核心定义:将工作流中的关键信息(如用户输入、LLM响应、工具返回结果、节点决策)存储在记忆中,后续节点可直接读取记忆内容,无需重复传递参数,实现上下文复用。
-
关键细节:
-
记忆类型:分为"短期记忆"(仅当前工作流生命周期内有效,如单次对话的上下文)和"长期记忆"(跨工作流复用,如用户历史偏好、常用工具参数)。
-
记忆与状态的区别:状态是工作流的"当前执行快照"(如当前节点、未完成任务),记忆是"上下文数据"(如历史对话、工具结果),二者协同支撑上下文感知。
-
使用场景:多轮对话中保留用户意图、工具调用中复用历史参数、多节点协作中传递关键信息(如A节点的输出作为B节点的输入参考)。
-
-
学习重点:掌握记忆的存储与读取方法,学会配置记忆的有效期、存储范围,理解记忆在多轮对话、多节点协作中的作用。
四、核心能力:人机交互(Human-in-the-Loop)
人机交互能力是LangGraph实现"人工干预"的关键,核心是"在工作流执行过程中,插入人工审核、人工输入等环节",确保工作流的准确性、安全性,适配需要人工决策的场景。
-
核心定义:通过定义"人工节点",在工作流的关键环节(如风险决策、结果确认)暂停执行,等待人工输入(如审核通过/驳回、补充信息)后,再继续执行后续节点。
-
关键细节:
-
人工节点类型:分为"审核节点"(人工确认结果是否合格)、"输入节点"(人工补充必要信息)、"决策节点"(人工判断下一步流转方向)。
-
交互方式:支持通过API、Web界面、命令行等方式接收人工输入,输入结果会作为节点输出,驱动工作流继续执行。
-
核心优势:避免自动化决策的风险(如错误调用工具、生成不当内容),适配复杂场景(如需要人工确认的敏感操作)。
-
-
学习重点:掌握人工节点的定义与配置,学会在工作流中插入人工干预环节,理解人工输入与工作流流转的关联逻辑。
五、核心能力:状态管理(State Management)
状态管理是LangGraph工作流运行的核心支撑,本质是"统一管理工作流的当前状态、执行进度、节点输出",确保节点间的数据传递、流转逻辑的一致性。
-
核心定义:状态是工作流的"全局数据容器",存储当前执行节点、已完成节点的输出、待执行任务、记忆数据等,所有节点的输入、输出都围绕状态展开,实现数据的统一管控。
-
关键细节:
-
状态结构:通常包含"current_node"(当前执行节点)、"history"(执行历史)、"memory"(记忆数据)、"outputs"(各节点输出)、"next_nodes"(待执行节点)等字段。
-
状态更新:每个节点执行完成后,会自动更新状态(如更新当前节点、添加输出结果、确定下一步节点),状态的变化驱动工作流的流转。
-
状态控制:支持手动修改状态(如强制跳转节点、重置状态),也可通过节点逻辑自动控制状态变化,灵活适配不同业务场景。
-
-
学习重点:理解状态的结构与作用,掌握状态的读取、更新方法,学会通过状态控制工作流的流转(如条件跳转、手动干预)。
六、核心能力:调用工具(Tool Calling)
调用工具是LangGraph实现"外部交互"的核心能力,本质是"让工作流中的节点调用外部工具(API、数据库、函数等)",扩展智能应用的功能边界,实现"思考+行动"的闭环。
-
核心定义:通过定义"工具节点",配置工具的调用参数、返回结果处理逻辑,让工作流能够自动调用外部工具,获取外部数据或执行具体操作,再将工具返回结果融入工作流。
-
关键细节:
-
支持的工具类型:API接口(如天气API、搜索API)、数据库操作(查询、插入、更新)、本地函数(自定义业务逻辑)、第三方工具(如LangChain的工具生态)。
-
调用流程:工具节点接收状态中的输入参数→调用外部工具→获取工具返回结果→将结果更新到状态中→驱动后续节点执行(如LLM节点基于工具结果生成响应)。
-
异常处理:支持配置工具调用失败的重试逻辑、降级策略(如调用失败后返回默认值、跳转至人工节点),提升工具调用的可靠性。
-
-
学习重点:掌握工具节点的配置方法,学会对接不同类型的外部工具,理解工具调用与状态更新的关联,能处理简单的工具调用异常。
七、核心能力学习总结
LangGraph的七大核心能力并非孤立存在,而是相互协同,构成完整的工作流生态:
-
图形API是"骨架",定义工作流的结构(节点+边);
-
状态管理是"核心",统一管控工作流的执行状态与数据;
-
记忆是"上下文支撑",实现节点间的上下文复用;
-
调用工具是"外部延伸",扩展工作流的功能边界;
-
持久性是"可靠性保障",支持断点续跑与状态回溯;
-
人机交互是"人工补充",提升工作流的准确性与安全性。
学习核心:先掌握图形API与状态管理的基础用法,再逐步学习记忆、工具调用、持久性、人机交互,最终实现复杂工作流的编排与落地。