LangChain:从令牌流到智能体流 — 类型化通道取代多智能体UI的经典流式传输
LangChain于2026年5月21日发布了Christian Bromann和Nick Hollon撰写的文章,描述了从令牌流向结构化智能体流的范式演进。现代AI智能体规划任务、委托子智能体、调用工具、暂停等待人工审核 — 经典文本令牌流式传输不足以展示这些工作。LangChain提出在LangGraph中承载消息、工具调用、状态变化、子智能体活动和自定义事件的类型化通道。应用程序只订阅相关类型,使UI对长时间运行的工作负载保持高效。
本文由人工智能基于一手来源生成。
LangChain于2026年5月21日发布了Christian Bromann和Nick Hollon撰写的工程文章,论证了从2022年起主导生成AI应用用户体验的令牌流式传输范式已达到其极限,需要用类型化智能体流式传输模型来取代。文章与实现新方法的LangGraph库更新同步发布。
令牌流式传输出了什么问题?
经典令牌流很简单:模型逐个生成令牌,前端随到随显,用户看着文本实时构建。这在ChatGPT风格的应用中运行良好,因为主要活动是文本生成。
问题是现代AI智能体做的远不止生成文本。典型的智能体工作流包括:
- 调用工具 — 智能体决定调用哪个工具(网络搜索、文件读取、API调用),等待结果,然后继续
- 子智能体委托 — 主智能体为并行子任务生成子智能体
- 状态 — 智能体更新内部数据结构(计划、跟踪列表、草稿输出)
- 人工审核暂停 — 智能体在进行下一个不可逆步骤之前停下来等待用户批准
- 自定义信号 — 调试日志、进度更新、性能指标
令牌流只显示智能体在这些活动之间生成的文本。在实践中,用户看到的是一个空窗口和旋转加载器,而智能体在后台工作了几分钟或几小时却没有任何可见信号。这是糟糕的用户体验。
什么是类型化智能体流?
LangChain提出的模型是智能体通过同一通道发出不同类型的事件,但每个事件都有类型标注。客户端(UI应用程序)选择订阅哪些类型以及如何显示每种类型。
示例类型:
message— 文本令牌(经典)tool_call— 带参数的工具调用tool_result— 工具调用的结果state_update— 智能体状态的变化subagent_event— 来自子智能体的事件(递归)human_review_request— 智能体暂停并请求批准custom— 开发者定义的任意事件类型
这使UI层能够将智能体工作展示为多面板可视化 — 主窗口中的聊天文本、侧边栏中的工具调用、另一个面板中的状态、子智能体活动的树状可视化。Cursor和Claude Code已在内部实现了这种方法的变体;LangChain现在将其正式化为API。
在LangGraph中如何运作?
LangGraph — LangChain的有状态图编排库 — 获得了对智能体流的原生支持。开发团队定义图节点、边和状态,执行时LangGraph自动为所有图活动发出类型化事件。
客户端使用标准异步迭代器模式订阅:
- 订阅所有事件 → 典型仪表板模式
- 仅订阅
message→ 经典聊天UI模式 - 订阅
message + tool_call→ 调试UI的实用模式
这消除了自定义WebSocket协议或轮询模式的需求,这些方式到目前为止在智能体前端中占主导地位。
这对智能体AI工具生态系统意味着什么?
智能体流是一个架构上的进步,与Anthropic(Claude Code Agent View)、OpenAI(Operator)等已在内部实现的模式趋于一致。标准化API意味着小型开发团队将能够依赖LangGraph而不必从头构建自己的变体。
从长远来看,智能体流可能像REST API和SSE成为Web应用程序的事实标准一样。值得关注其他智能体框架(Microsoft AutoGen、CrewAI、OpenAI Swarm)是否会在即将发布的版本中采用类似的类型化事件模型。
常见问题
- LangChain术语中的智能体流是什么?
- 智能体流是一个结构化的类型化通道,实时发出不同类型的事件 — 消息、工具调用、状态变化、子智能体活动和自定义信号 — 而不仅仅是文本令牌序列。
- 为什么经典令牌流对现代智能体不够用?
- 智能体的工作不止于生成文本 — 它们调用工具、等待人工审核、委托子智能体、改变状态。令牌流只显示文本,让用户对实际工作一无所知。
- 应用程序如何订阅智能体流类型?
- LangGraph提供API供客户端仅订阅所需事件类型,避免智能体执行长时间运行工作负载时造成过载。