Skip to main content
Deep Agents 基于 LangGraph 的流式处理基础设施构建,并提供对子代理流的一流支持。当深度代理将工作委托给子代理时,您可以独立地从每个子代理流式传输更新——实时跟踪进度、LLM 令牌和工具调用。 深度代理流式处理能实现什么:

启用子图流式处理

Deep Agents 使用 LangGraph 的子图流式处理来呈现来自子代理执行的事件。要接收子代理事件,请在流式处理时启用 stream_subgraphs

命名空间

当启用 subgraphs 时,每个流式处理事件都包含一个命名空间,用于标识产生该事件的代理。命名空间是节点名称和任务 ID 的路径,表示代理层次结构。 使用命名空间将事件路由到正确的 UI 组件:

子代理进度

使用 stream_mode="updates" 在每个步骤完成时跟踪子代理进度。这对于显示哪些子代理处于活动状态以及它们完成了哪些工作非常有用。
Output

LLM 令牌

使用 stream_mode="messages" 从主代理和子代理流式传输单个令牌。每个消息事件都包含标识来源代理的元数据。

工具调用

当子代理使用工具时,您可以流式传输工具调用事件以显示每个子代理正在做什么。工具调用块出现在 messages 流模式中。

自定义更新

在子代理工具内使用 get_stream_writer 发出自定义进度事件:
Output

流式传输多种模式

组合多种流模式以获取代理执行的完整视图:

常见模式

跟踪子代理生命周期

监控子代理何时启动、运行和完成:

v2 流式处理格式

需要 LangGraph >= 1.1。
本页上的所有示例都使用 v2 流式处理格式(version="v2"),这是推荐的方法。每个块都是一个 StreamPart 字典,包含 typensdata 键——无论流模式、模式数量或子图设置如何,其结构都相同。 v2 格式消除了嵌套元组解包,使得在 Deep Agents 中处理子图流式处理变得简单直接。比较两种格式:
有关 v2 格式的更多详细信息,包括类型收窄和 Pydantic/dataclass 强制转换,请参阅 LangGraph 流式处理文档

相关内容