LangChain → AgentExecutor → LangGraph 的演进脉络

发布时间:2026/7/28 18:31:11
LangChain → AgentExecutor → LangGraph 的演进脉络 LangGraph 构建于 LangChain 之上能极大简化智能体Agent与智能体运行时Agent Runtime的开发工作。 那么智能体和智能体运行时究竟指什么 在 LangChain 中我们对智能体的定义是由大语言模型驱动、能够自主决策执行何种动作的系统。 而智能体运行时本质上负责循环驱动智能体调用智能体由它决定要执行的动作执行该动作采集返回的观测结果再把观测结果回传给智能体开启下一轮循环。整个过程持续迭代直到智能体判定任务完成。 过去几个月里我们已经借助 LangChain 表达式语言LCEL大幅降低了 LangChain 中智能体的自定义门槛如果还不了解推荐你去学习相关内容。 而 LangGraph 所要解决的问题是让开发者能够灵活定制智能体运行时。 在此之前LangChain 里唯一的运行时实现就是 AgentExecutor智能体执行器。它以固定逻辑循环执行、调用工具、统一处理异常。这套方案固然好用但实现运行时的方式仅此一种。我们希望提供更多方案支持以更灵活、更动态的方式搭建智能体运行时。 运行时最核心的能力之一就是支持循环结构。智能体运行时的核心逻辑就是持续驱动大模型智能体循环思考执行因此框架必须支持环路。 但 LangChain 表达式语言以及其他有向无环图DAG类框架不支持循环。这正是我们推出 LangGraph 的根本原因 LangGraph 专门用于构建带有循环能力的智能体运行时。 以上就是 LangGraph 的概要介绍以及它诞生的背景。 本系列后续视频我会重点讲解我们首批内置的两大智能体运行时。 第一种是智能体执行器Agent Executor功能和原版 LangChain 的智能体执行器高度一致 —— 我们基于 LangGraph 重新实现了它。 第二种是对话智能体执行器Chat Agent Executor它接收一组消息作为输入直接用消息列表表达智能体状态最终同样输出一组消息。 之所以单独实现对话智能体执行器是因为当下绝大多数新一代模型都是对话式大模型。这类模型原生把工具调用封装为消息内的参数工具返回结果也对应一种独立消息类型。用消息列表来表征智能体状态和这类模型的工作范式天然契合因此我们专门提供了这套独立的执行器。 之后我还会演示多种改造基础智能体执行器的方式例如接入人在回路Human-in-the-loop、强制优先调用指定工具以及其他实用拓展能力。文本核心概念梳理 通俗解读先把原文关键概念拆解理清LangChain → AgentExecutor → LangGraph的演进脉络同时区分容易混淆术语一、基础名词释义1. Agent智能体定义由大模型驱动可以自主决策要执行什么动作的系统。 简单理解 智能体 LLM 决策逻辑。 它只负责思考、做选择“我现在要不要调用工具调用哪个工具传入什么参数还是任务已经做完可以直接输出答案” ⚠️Agent 本身不会自己循环、不会自动调用工具、不会自动收集结果再重新思考。它只是 “大脑”缺少驱动它持续运转的机制。2. Agent Runtime智能体运行时定义驱动智能体不断循环工作的执行引擎。 标准循环流程把当前上下文交给 Agent大脑Agent 做出决策输出动作 / 工具调用指令Runtime 执行工具拿到观测结果tool 返回值将结果合并进上下文再次喂给 Agent重复 1~4直到 Agent 判断任务结束终止循环一句话区分Agent 大脑负责思考决策Agent Runtime 躯体 循环控制器负责执行、循环、流转状态3. AgentExecutor智能体执行器LangChain 原生提供的唯一一套内置 Agent Runtime 实现。 特点 循环逻辑固定、流程黑盒、异常处理统一。 优点开箱即用 痛点流程固定很难自定义循环分支、暂停、人在回路、复杂多分支路由。二、LCEL 的局限LangChain Expression LanguageLCEL 是 LangChain 用来组装链路的语法底层是DAG有向无环图。 DAG 硬性约束不能存在环路。 链路只能单向往下走无法实现模型思考 → 调用工具 → 获取结果 → 再次交给模型思考的循环闭环。这就是核心矛盾 智能体天然需要循环但是 LCEL/DAG 做不了循环。三、LangGraph 的定位与诞生目的LangGraph 构建在 LangChain 之上专门用来自定义 Agent Runtime。核心价值 支持带环路的状态图不再是 DAG可以自由实现循环、条件分支、中途暂停、分支路由。 开发者不再只能使用 LangChain 提供的固定 AgentExecutor可以从零搭建属于自己的智能体运行时。四、LangGraph 内置两套原生 Runtime1. Agent Executor重构版对标 LangChain 原版 AgentExecutor功能对齐。 只是底层不再是硬编码循环而是用 LangGraph 状态图重新实现方便你在图上修改流程。2. Chat Agent Executor对话智能体执行器适配当前主流对话式大模型GPT、Claude、Qwen 等状态 消息列表[SystemMessage, HumanMessage, AIMessage, ToolMessage...]输入消息数组输出消息数组为什么单独实现 现代对话模型原生把工具调用嵌入对话消息流 AI 消息携带工具调用参数 → 工具执行结果封装为 ToolMessage 放回对话历史。 用消息列表表征状态和模型原生范式完美匹配无需额外格式转换。五、后续拓展方向原文预告基于 LangGraph 改造运行时的常见能力Human-in-the-loop 人在回路循环中途暂停交由人工审核、输入指令之后继续执行强制优先调用指定工具自定义终止条件、异常捕获、分支路由、多智能体协作等极简时间线总结早期 LangChainAgent大脑 唯一固定 RuntimeAgentExecutorLCEL 出现简化链路组装但受限于 DAG无法实现循环智能体痛点暴露想要灵活定制智能体循环流程没有方案推出 LangGraph支持带环状态图允许开发者自由搭建各式各样的 Agent Runtime内置两套开箱即用 Runtime传统 AgentExecutor、面向对话模型的 Chat Agent Executor