什么是浪链代理? (2026 年的答案比你想象的更加微妙)
如果您在Google上搜索“LangChain 代理”并找到使用 AgentExecutor 的教程,那么您正在阅读过时的内容。 LangChain 已弃用该 API。 2026年, LangChain代理是指基于LangGraph的代理 - 如果您正在构建玩具演示之外的任何东西,那么差异就很重要。
LangChain代理是一个系统,其中 LLM充当推理引擎 - 它决定调用哪些工具、以什么顺序以及何时停止。核心循环看似简单:观察输入→推理要做什么→行动(调用工具或返回输出)→观察结果→重复。
2026 年的关键转变
旧的 AgentExecutor 是一个黑匣子。 LangGraph 将其替换为您控制的显式、有状态图——节点、边、条件路由和检查点都是一等公民。
其强大且棘手的原因在于法学硕士不仅仅是生成文本。它做出的决策会产生真正的副作用:查询数据库、调用 API、写入文件、浏览网页。代理模式是将聊天机器人与自治系统区分开来的。
因此,2026年“什么是浪链代理”的答案是: LangGraph 编译的状态机,其中一个或多个 LLM 节点驱动控制流,工具调度是明确的,并且状态通过检查指针跨步骤保持。这就是您在编写一行代码之前需要的心理模型。
AgentExecutor 与 LangGraph:发生了什么变化及其重要性
了解迁移路径需要了解 AgentExecutor 被停用的原因。它不是任意的——当开发人员尝试构建生产系统时,它遇到了基本的架构限制。
| 能力 | AgentExecutor(已弃用) | LangGraph(当前) |
|---|---|---|
| 状态管理 | 隐含的、不透明的 | 显式类型化模式 |
| 控制流程 | 固定循环,无分支 | 条件边、循环 |
| 持久化/检查点 | 没有任何 | 内置检查点(SQLite、Postgres、Redis) |
| 人在回路 | 黑客解决方法 | 一流的中断/恢复 |
| 多代理支持 | 手动编排 | 原生子图组成 |
| 流媒体 | 仅限代币级别 | 节点级+代币级 |
| 调试 | Printf级 | LangSmith 迹线 + 图形可视化工具 |
最痛苦的 AgentExecutor 限制是无法在运行中暂停并稍后恢复。任何真正的工作流程——想想“起草报告,等待人工批准,然后发布”——都需要跨时间界限的持久状态。 LangGraph 的检查点本身就解决了这个问题。
迁移注意事项
如果您有现有的 AgentExecutor 代码,LangChain 会提供兼容性垫片,但它只是一块垫脚石,而不是目的地。计划使用 StateGraph 重写编排层。
ReAct 模式:循环推理 + 行动
ReAct(Reason + Act)是大多数浪链代理背后的基本激励模式。它指示法学硕士在两种模式之间交替: 想法 (关于下一步该做什么的内部推理)和 行动 (使用特定参数调用特定工具)。
在实践中,循环看起来像这样:
- 想法: 法学硕士对用户的请求和可用工具进行推理。
- 行动: LLM 输出结构化工具调用(名称+参数)。
- 观察: 该工具执行并返回结果,附加到上下文中。
- 又想: 法学硕士对观察结果进行了推理。
- 最终答案: 当法学硕士确定它有足够的信息时,它会输出最终响应。
在 LangGraph 中,每个步骤都是一个 节点 在图表中。 LLM节点检查后的条件边:“模型是否调用了工具,或者是否输出了最终答案?” - 以及相应的路线。这使得 ReAct 循环变得明确且可检查,而不是隐含在黑盒执行器中。
为什么 ReAct 在 2026 年仍然占据主导地位
尽管有较新的模式(计划和执行、反射、LATS),ReAct 仍然是默认模式,因为它对于单代理任务来说是最有效的令牌并且最容易调试。从反应开始;只有当你达到极限时,才会转向更复杂的模式。
现代法学硕士(GPT-4o、Claude 3.7、Gemini 2.5)通过其函数调用/工具使用 API 本地处理 ReAct。您不再需要手动设置“想法/行动/观察”字符串的格式 - 模型的工具使用功能可以在 API 级别处理此问题。 LangGraph 干净地包装了这一点,因此您的节点可以专注于业务逻辑。
逐步构建 LangGraph 代理
这是 Python 中的最小 LangGraph 代理模式。每个生产代理都是这个骨架的变体。
1. 定义状态
状态是流经每个节点的单一事实来源。使用 TypedDict 或 Pydantic 模型:
from typing import Annotated, Sequence
from langchain_core.messages import BaseMessage
from langgraph.graph.message import add_messages
from typing_extensions import TypedDict
class AgentState(TypedDict):
messages: Annotated[Sequence[BaseMessage], add_messages]
# add any custom fields your agent needs
context: str
iteration_count: int
2. 定义工具
工具是用 @tool 修饰的普通 Python 函数。文档字符串成为 LLM 看到的工具描述:
from langchain_core.tools import tool
@tool
def search_web(query: str) -> str:
"""Search the web for current information about a topic."""
# your search implementation here
return results
@tool
def write_file(filename: str, content: str) -> str:
"""Write content to a file on disk."""
with open(filename, 'w') as f:
f.write(content)
return f"Written {len(content)} chars to {filename}"
tools = [search_web, write_file]
3. 构建图表
from langgraph.graph import StateGraph, END
from langgraph.prebuilt import ToolNode
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(model="gpt-4o").bind_tools(tools)
def agent_node(state: AgentState):
response = llm.invoke(state["messages"])
return {"messages": [response]}
def should_continue(state: AgentState):
last_message = state["messages"][-1]
if last_message.tool_calls:
return "tools"
return END
graph = StateGraph(AgentState)
graph.add_node("agent", agent_node)
graph.add_node("tools", ToolNode(tools))
graph.set_entry_point("agent")
graph.add_conditional_edges("agent", should_continue)
graph.add_edge("tools", "agent")
app = graph.compile()
4. 添加持久性检查点
from langgraph.checkpoint.sqlite import SqliteSaver
checkpointer = SqliteSaver.from_conn_string("./agent_memory.db")
app = graph.compile(checkpointer=checkpointer)
# Now every run is persisted and resumable
config = {"configurable": {"thread_id": "user-session-123"}}
result = app.invoke({"messages": [("human", "Research LangGraph and write a summary")]}, config)
制作技巧:线程 ID
配置中的 thread_id 是您的会话密钥。使用用户 ID、对话 ID 或作业 ID — 任何可以让您恢复到上次运行的确切状态的内容。这是多轮代理工作流程的基础。
JavaScript / TypeScript 中的 LangGraph:全功能奇偶校验
截至 2026 年,@langchain/langgraph 具有与 Python SDK 相同的完整功能。如果您正在构建 Node.js 后端、Next.js 服务器操作或 Nuxt API 路由,我们将全力支持您。
import { StateGraph, END } from "@langchain/langgraph";
import { ChatOpenAI } from "@langchain/openai";
import { tool } from "@langchain/core/tools";
import { z } from "zod";
// Define a tool with Zod schema
const searchWeb = tool(
async ({ query }) => {
const results = await yourSearchFunction(query);
return results;
},
{
name: "search_web",
description: "Search the web for current information",
schema: z.object({ query: z.string() }),
}
);
// State type
interface AgentState {
messages: BaseMessage[];
}
const llm = new ChatOpenAI({ model: "gpt-4o" }).bindTools([searchWeb]);
// Build graph — identical pattern to Python
const graph = new StateGraph<AgentState>({ channels: messagesStateReducer })
.addNode("agent", async (state) => ({
messages: [await llm.invoke(state.messages)],
}))
.addNode("tools", new ToolNode([searchWeb]))
.addEdge("__start__", "agent")
.addConditionalEdges("agent", shouldContinue)
.addEdge("tools", "agent");
const app = graph.compile();
JS/TS SDK 支持相同的检查点(用于开发的内存中,用于生产的 PostgreSQL)、相同的流 API (streamEvents) 以及相同的 LangSmith 跟踪集成。心理模型在语言之间直接转移。
多代理架构:协调器和子图
单代理系统很快就会达到极限:上下文窗口溢出、专业化受到影响、复杂的任务需要协调。到 2026 年,生产 LangGraph 部署几乎总是使用多代理模式。
三个核心模式
导师
编排器 LLM 决定接下来调用哪个专业代理。适合角色界限明确的任务(研究员、作家、评论家)。
蜂群
代理根据任务上下文直接相互切换。没有中央协调员。适合动态、不可预测的工作流程。
分层的
嵌套子图,其中父图将整个子任务委托给子图。最适合模块化、可重复使用的代理组件。
LangGraph通过以下方式实现多代理系统 子图组成。每个专家代理都是一个编译图,作为节点嵌入到父协调器图中。状态可以在级别之间流动,每个子图可以有自己的检查指针和内存。
何时使用多代理
经验法则:如果您对单个代理的提示超过约 4,000 个系统上下文标记,或者如果您有超过约 6 个不同的工具,请考虑拆分为专门的代理。在这种规模下,协调开销是值得的。
生产模式:玩具演示没有向您展示的内容
让 LangGraph 代理在 Jupyter 笔记本中工作是一回事。大规模可靠地运行它是另一回事。以下是将原型与生产分开的模式。
错误处理和重试逻辑
工具故障是不可避免的——速率限制、网络超时、输出格式错误。 LangGraph 为您提供了两个杠杆:节点级 try/catch,将错误消息返回给 LLM(让它正常恢复),以及边缘上的图形级重试策略。
迭代限制
编译时始终设置 recursion_limit 。没有它,混乱的 LLM 可能会无限循环并消耗您的 API 预算。对于大多数任务来说,合理的默认值是 25 次迭代。
app = graph.compile(checkpointer=checkpointer)
# Invoke with recursion limit
result = app.invoke(
{"messages": [("human", query)]},
config={"recursion_limit": 25, "configurable": {"thread_id": thread_id}}
)
人在环中断
LangGraph 的 interrupt_before 和 interrupt_after 编译选项可让您在特定节点暂停执行、向人类显示当前状态、收集输入并恢复。这对于审批工作流程、内容审查门和高风险工具调用是必不可少的。
实时用户体验流式传输
对于面向用户的应用程序,流式传输是不可协商的。 LangGraph 的 astream_events 为您提供粒度事件:哪个节点正在运行、调用了哪个工具以及逐个令牌的 LLM 输出。将其连接到服务器发送事件 (SSE) 或 WebSocket,以在 UI 中获取实时进度。
LangSmith 的可观察性
设置 LANGCHAIN_TRACING_V2=true ,每个代理运行都会获得完整的跟踪:哪些节点被触发、LLM 看到了什么、每个工具返回了什么、总延迟和令牌成本。这就是调试“为什么它调用了错误的工具?”的方法。一类生产错误——不是打印语句。
常见的生产错误
- 无递归限制(无限循环)
- 生产中没有检查点(重启时丢失状态)
- 抛出而不是返回错误字符串的工具
- 工具描述过于模糊(法学硕士选择了错误的工具)
- 工具调用没有速率限制
生产清单
- 设置 recursion_limit (25–50)
- 用于持久性的 Postgres 检查点
- 工具在失败时返回字符串
- 具体的、示例丰富的工具文档字符串
- LangSmith 跟踪已启用
2026 年浪链代理实际使用案例
上述模式解锁了广泛的生产应用。以下是 LangGraph 代理如今提供真正价值的类别。
🔍 研究自动化
代理可以搜索网络、阅读论文、综合研究结果并生成结构化报告,从而取代分析师和内容团队花费数小时的手动研究。
💻 代码生成管道
编写代码、运行测试、观察故障、修复错误和迭代的多步骤代理 - 在合并之前通过人工审查门。 GitHub Copilot Workspace 就是基于此模式构建的。
📊 数据分析代理
具有 SQL 工具访问权限的代理可以将自然语言问题转换为查询、运行查询、解释结果并得出见解,而无需接触 BI 团队。
📝 内容制作
研究→大纲→草稿→SEO优化→发布管道。多代理系统,其中每个阶段都是一个专家节点,在关键检查点得到人工批准。
🎧 客户支持自动化
代理可以查找订单、处理退款、更新票证以及升级给人工,同时通过检查点维持跨会话的完整对话上下文。
⚙️ DevOps 和 Ops 代理
监控代理检测异常,通过查询日志和指标诊断根本原因,并使用完整的诊断报告自动修复或寻呼待命人员。
为什么 EasyClaw 是运行 LangGraph 代理的最佳方式
从架构上理解 LangGraph 是一回事。使用本地法学硕士、自定义工具、流输出和持久状态可靠地运行多代理内容生产管道是大多数团队陷入困境的地方。 EasyClaw 解决了整个堆栈问题。
- ✦ 桌面原生,无云锁定。 EasyClaw 在本地运行您的 LangGraph 代理。您的数据、您的模型、您的基础设施——API密钥不会泄露给第三方平台。
- ✦ 内置检查点和会话内存。 每个代理运行都会被持久化。恢复任何作业、检查任何状态快照、重播任何分支——无需构建自定义持久层。
- ✦ 实时流媒体用户界面。 实时观察您的代理思考、行动和迭代。节点级进度、工具输出和 LLM 推理 — 所有这些都出现在 EasyClaw 的实时活动源中。
- ✦ 开箱即用的多代理编排。 EasyClaw 的代理图支持具有可视路由的主管、群体和分层模式 - 无需手动子图连接。
- ✦ SEO-原生内容代理。 用于关键字研究、内容起草、模式注入和发布的预构建代理 — 由本指南涵盖的相同 LangGraph 模式提供支持。
如何为您的用例选择正确的代理架构
并非每个问题都需要复杂的多智能体图。这是一个基于您实际想要构建的决策框架。
| 你的情况 | 推荐图案 | 关键原因 |
|---|---|---|
| 1–5 个工具,单一任务类型 | 单一反应剂 | 最简单、最低延迟 |
| 需要审批门或人工审核 | 反应+中断之前 | 无需重新设计的人机交互 |
| 6 个以上的工具或 2 个以上的不同角色 | 主管多智能体 | 专业化提高工具精度 |
| 不可预测的任务路由 | 集群/切换 | 无中心瓶颈的动态路由 |
| 跨项目可重复使用的代理模块 | 分层子图 | 可组合性和隔离性 |
| 长时间运行的后台作业 | 任何模式 + Postgres 检查点 | 状态在重启和崩溃后仍然存在 |
实用的启发式: 从可能有效的最简单模式开始,使用 LangSmith 进行检测,然后识别瓶颈。预先设计复杂性的工程师几乎总是过度设计他们的第一个代理系统。随着需求变得清晰,LangGraph 中的模式可以轻松过渡到更复杂的架构。
常见问题解答
问:浪链在 2026 年是否仍然重要,或者有什么东西取代了它?
答:LangChain 非常活跃,但它的发展也非常显着。 2026 年的核心价值是用于代理编排的 LangGraph 和用于可观察性的 LangSmith,而不是 2023 年时代的链抽象。集成库 (langchain-community) 对于连接到数十个 LLM 提供商和向量存储仍然很有用。 CrewAI 和 AutoGen 等项目提供了替代方案,但 LangGraph 拥有最多的生产部署和最好的可观测性工具链。
问:我需要了解图/状态机才能使用 LangGraph 吗?
A:你需要心智模型,但不需要深入的CS理论。如果您可以将代理工作流程视为“由箭头连接的框,其中每个框执行某项操作,每个箭头决定下一步去哪里”,那么您已经足够了。 LangGraph API 直接映射到该心理模型。大多数开发人员通过官方教程在几个小时内就能掌握它。
问:LangGraph 代理如何处理持续数小时或数天的长时间运行任务?
答:这就是 LangGraph 的检查点的闪光点。每个步骤都会将状态保存到持久存储(SQLite、Postgres、Redis)。如果您的进程崩溃、重新启动,或者您故意暂停以供人工审核,代理将使用 thread_id 从其停止的位置准确恢复。这是任何比单个 HTTP 请求寿命更长的代理工作流背后的架构。
问:2026 年与 LangGraph 代理一起使用的最佳法学硕士是什么?
答:对于使用复杂工具的生产代理,GPT-4o、Claude 3.7 Sonnet 和 Gemini 2.5 Pro 是表现最好的。对于延迟敏感或成本敏感的工作负载,GPT-4o-mini 和 Claude 3.5 Haiku 达到了很好的平衡。对于完全本地/私有部署,Llama 3.3 70B 和 Qwen 2.5 72B 在足够的硬件上运行时可以可靠地处理工具使用。最好的模型是最便宜的模型,可以可靠地选择正确的工具 - 在投入模型层之前先向 LangSmith 介绍您的代理。
问:在工作流程编排方面,LangGraph 与 Temporal 或 Prefect 有何不同?
答:Temporal 和 Prefect 是通用工作流引擎,其中 你 明确地编写控制流。 LangGraph 是不同的: 法学硕士 在运行时动态驱动控制流决策。 LangGraph 适用于无法提前完全了解下一步的工作流程 - 这取决于法学硕士在当前状态下的最佳理由。对于确定性的、完全预先指定的工作流程,Temporal/Prefect 更合适。在实践中,许多生产系统同时使用:LangGraph 用于代理决策层,Temporal 用于调度和触发作业。
问:我可以在没有 LangChain 的其他抽象的情况下使用 LangGraph 吗?
答:是的。 LangGraph 被设计为可以与普通的 LangChain Core(最小的消息/工具原语)一起使用,而无需导入完整的 langchain 包。如果您愿意,您还可以将 LangGraph 与原始 OpenAI/Anthropic SDK 调用一起使用 - 图形和状态机机制独立于您调用 LLM 的方式。
问:LangGraph 云/平台产品与自托管有何不同?
答:LangGraph Platform(以前称为 LangServe)允许您将编译后的图部署为可扩展的 API,具有托管运行时、内置队列和水平缩放功能。 LangSmith 是可观察层。两者都是 LangChain Inc. 的 SaaS 产品。自托管 LangGraph 非常简单 - 它只是在您的基础设施中运行的 Python/Node,并带有用于检查点的数据库。大多数团队开始自托管,并在操作复杂性成为瓶颈时转向平台。
最后的想法:LangGraph 是 2026 年的代理标准
您应该在 2026 年构建的“LangChain 代理”是 LangGraph 状态机。已弃用的 AgentExecutor 时代已经结束。 LangGraph 的显式状态、条件路由、持久检查点和本机多代理组合并不是可有可无的——它们是您在生产中信任的任何东西的先决条件。
ReAct 模式仍然是大多数任务的正确起点。仅当单个代理明显达到其极限时,才增加多代理的复杂性。从第一天起就用 LangSmith 来检测一切——没有痕迹的调试是在需要 10 分钟才能通过可见性进行诊断的问题上浪费一周时间的最快方法。
最重要的转变是Notion上的:LangGraph 代理不是带有附加工具的聊天机器人。它们是有状态、持久的系统,由法学硕士驱动控制流。像分布式系统一样设计它们——具有故障模式、重试逻辑、状态边界和可观察性——它们将给您带来连经验丰富的工程师都感到惊讶的可靠性。
下一步去哪里
- LangGraph 官方教程 — 通过“ReAct from scrap”笔记本进行操作
- LangSmith — 在编写任何其他代码之前在第一个代理上设置跟踪
- LangGraph Platform 文档 — 尽早了解部署模型
- EasyClaw — 查看在生产桌面应用程序中运行的 LangGraph 代理模式
如果您正在构建内容自动化、SEO 管道或多步骤研究工作流程, 易爪 是查看这些模式实际应用的最快方法 - 无需花费数周时间自行连接基础设施。