问题域/PD-120

消息路由与通信

Message Routing & Communication

多 Agent 间基于标签的消息路由、订阅和异步通信机制

子问题

1.消息寻址与分发

2.订阅过滤

3.异步消息队列

4.自发消息处理(<self> 标签绕过 Environment)

5.触发器驱动的外部事件订阅

6.消息队列序列化与状态恢复

各项目的解法1 solutions

Signals

横向对比

维度MetaGPT
路由模式标签路由:cause_by + send_to 双维度匹配,Environment 中介者分发
订阅机制Role._watch() 声明式订阅 Action 类型,_observe() 按 cause_by 过滤
消息缓冲每 Role 独立 asyncio.Queue,支持 dump/load 序列化
广播语义send_to 默认 <all> 广播,支持 <self> 自发消息
触发器支持SubscriptionRunner 支持 AsyncGenerator 外部触发器 + 回调

最佳实践

1.cause_by 标签实现松耦合消息路由

2.类名字符串化确保路由标签可序列化可比较

3.Environment 中介者模式消除 Agent 间 N×N 直接依赖

4.双重过滤(cause_by ∈ watch OR name ∈ send_to)兼顾订阅和定向