🐝 Agent Swarm
智能体群集

无中心协调,全员平等协作 | OpenAI Swarm / AutoGen

Multi-Agent Topology Peer-to-Peer

📖 定义

Swarm(群集)是一种无中心协调者的多Agent拓扑结构。所有Agent地位平等,通过共享黑板(Blackboard)消息总线进行通信和协调。OpenAI的swarm参考实现和AutoGen的Group-Chat都属于这一模式。

Digital Applied 2026 Glossary定义:"A peer-agent topology with no supervisor, coordinated by shared blackboard or message bus."

🐝 通俗比喻

想象一群蜜蜂采蜜。没有"蜂王总指挥"告诉每只蜜蜂去哪朵花——每只蜜蜂自己决定,看到同伴往某方向飞,就跟着去;发现好蜜源,就回来跳舞告诉大家。

Swarm模式就是这样:没有老大,谁都可以发言,谁都可以响应。消息在群里广播,谁觉得自己能干就接任务。

这和Hierarchical(层级)模式不同——层级模式像公司,老板(Supervisor)分配任务给员工;Swarm模式像创业团队,大家围着一个白板讨论,谁有想法谁上去写。

⚙️ 拓扑结构对比

    Hierarchical(层级)             Swarm(群集)
    
         [Supervisor]                  [Agent A]
              │                     ↙    ↓    ↘
      ┌──────┼──────┐            [Agent B][Agent C][Agent D]
      ▼      ▼      ▼               ↓      ↘    ↓
  [Worker1][Worker2][Worker3]    [Blackboard/消息总线]
      │      │      │                   ↑
      └──────┴──────┘                   │
         │                          [Agent E]
      [结果汇总]                        ↓
                                    [最终输出]
                    

Hierarchical 层级模式

  • 有明确的Supervisor协调
  • 任务分配清晰
  • 一致性更好
  • 扩展性受限(Supervisor瓶颈)
  • 适合确定性流程

Swarm 群集模式

  • 无中心,Peer-to-Peer
  • 任务由Agent自选
  • 扩展性强
  • 一致性较弱(需额外机制)
  • 适合探索性/并行任务

🎯 OpenClaw实战应用

# OpenClaw Agent Swarm 示例
name: research_swarm
description: 多Agent协作研究任务

agents:
  - name: searcher
    role: 搜索信息
    skills: [web_search, web_fetch]
    
  - name: analyzer
    role: 分析数据
    skills: [data_analysis, llm]
    
  - name: writer
    role: 撰写报告
    skills: [llm, document_write]
    
  - name: reviewer
    role: 审核质量
    skills: [llm]

communication:
  mode: broadcast  # 广播给所有Agent
  shared_state: true  # 共享状态黑板
  
steps:
  - name: broadcast_task
    message: |
      任务:研究{{topic}}
      当前状态发布到黑板
      
  - name: agent_self_selection
    action: conditional
    logic: |
      每个Agent检查黑板,判断自己是否适合当前任务
      searcher: 需要信息 → 我来搜索
      analyzer: 有数据 → 我来分析
      
  - name: publish_results
    action: write_to_blackboard
    content: "{{agent.output}}"
    
  - name: convergence
    action: wait_all
    agents: [searcher, analyzer, writer]
    timeout: 30s
    
  - name: final_synthesis
    agent: writer
    prompt: |
      综合黑板上的所有信息,生成最终报告

✅ 适用场景

  • 大规模并行任务:多个Agent同时处理不同子任务
  • 探索性研究:不确定谁最擅长,让Agent自选
  • 动态任务分配:任务性质变化时,Agent动态切换角色
  • 创意协作:多Agent头脑风暴、创意生成
  • 分布式系统:跨节点、跨时区的Agent协作

⚠️ 注意:Swarm需要额外的收敛机制防止发散。常见做法:设置超时、投票决策、轮流主导。

🔗 相关术语

📚 延伸阅读

  • OpenAI Swarm GitHub:openai/swarm
  • AutoGen Group-Chat文档
  • Digital Applied Agentic AI Glossary - Multi-Agent Topologies