Skip to main content
Low-level social algorithms in swarms.structs.swarming_architectures and swarms.structs.ma_blocks compose custom multi-agent flows before you reach full workflows like SequentialWorkflow or GraphWorkflow.
pip install -U swarms
For higher-level orchestration, see Social Algorithms and Agent Rearrange.
One sender broadcasts; all receivers process the shared context (broadcast is async):
import asyncio
from swarms import Agent
from swarms.structs.swarming_architectures import broadcast

sender = Agent(agent_name="Announcer", model_name="claude-sonnet-4-6", max_loops=1)
receivers = [
    Agent(agent_name="Analyst-A", model_name="claude-sonnet-4-6", max_loops=1),
    Agent(agent_name="Analyst-B", model_name="claude-sonnet-4-6", max_loops=1),
]

async def main():
    results = await broadcast(
        sender=sender,
        agents=receivers,
        task="Summarize Q4 priorities for your domain.",
    )
    print(results)

asyncio.run(main())

Choosing a pattern

PatternBest for
BroadcastOne announcement, many parallel responses
CircularSequential refinement with shared history
MeshMany independent tasks, worker pool
GridLocal neighbor collaboration
StarCentral coordinator + specialists
PyramidLayered command structure
One-to-oneSingle handoff between two agents
AggregateFan-in synthesis of parallel outputs