Skip to main content
深度智能体构建在 LangGraph 的流式传输基础设施之上,并为一流的子智能体流提供支持。当深度智能体将工作委派给子智能体时,您可以独立地从每个子智能体流式传输更新——实时跟踪进度、LLM 令牌和工具调用。 深度智能体流式传输可以实现:

启用子图流式传输

深度智能体使用 LangGraph 的子图流式传输来呈现子智能体执行中的事件。要接收子智能体事件,请在流式传输时启用 stream_subgraphs

命名空间

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

子智能体进度

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

LLM 令牌

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

工具调用

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

自定义更新

在子智能体工具内部使用 get_stream_writer 来发出自定义进度事件:
输出

多模式流式传输

组合多种流模式以获得智能体执行的完整视图:

常见模式

跟踪子智能体生命周期

监控子智能体的启动、运行和完成:

v2 流式传输格式

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

相关