Skip to main content
MsgHub 是 AgentScope 中用于多智能体对话的消息广播中心。它管理一组智能体之间的消息分发,无需手动编写消息传递代码。

概述

在构建多智能体应用时,您经常需要让智能体相互通信。如果不使用 MsgHub,您需要手动在智能体之间传递消息:
使用 MsgHub,这变得简单多了:

核心特性

  • 自动广播:任何参与者的消息都会自动广播给所有其他参与者
  • 动态参与者:可以在对话过程中添加或移除智能体
  • 公告消息:进入 Hub 时发送初始消息
  • 手动广播:需要时可以手动广播消息
  • 生命周期管理:使用 try-with-resources 自动清理

基本用法

创建和使用 MsgHub

重要提示:使用 MsgHub 时,请使用 DashScopeMultiAgentFormatter(或其他提供商的对应格式化器)而不是标准格式化器。这种格式化器可以正确处理来自不同名称的多个智能体的消息。

生命周期方法

MsgHub 遵循 enter/exit 生命周期:
使用 try-with-resources 时,close() 会被自动调用,它内部会调用 exit()

动态参与者管理

您可以在对话过程中添加或移除参与者:

添加参与者

移除参与者

注意:新添加的参与者不会收到之前的消息。他们只会收到加入后的消息。

手动广播

您可以禁用自动广播并手动控制消息分发:

禁用自动广播

切换自动广播

您可以在对话过程中切换自动广播模式:

广播多条消息

响应式编程风格

MsgHub 支持使用 Project Reactor 进行完全响应式编程:

API 参考

Builder 方法

实例方法

相关文档