Multi-Agent Orchestration Methods
Swarms provides a comprehensive suite of orchestration methods for coordinating multiple AI agents in structured conversations and decision-making processes. These methods enable sophisticated multi-agent interactions like debates, panel discussions, negotiations, and more.
Overview
Method
Orchestration Description
Use Case
OneOnOneDebate
Turn-based debates between two agents. Structured debates where two agents alternate turns presenting arguments.
Philosophical discussions, arguments
ExpertPanelDiscussion
Expert panel discussions with a moderator. Multiple experts discuss topics, guided by a moderator.
Professional discussions, expert opinions
RoundTableDiscussion
Round table discussions with multiple participants. Open discussions among several agents, each contributing equally.
Group discussions, brainstorming
InterviewSeries
Structured interviews with follow-up questions. One agent interviews another, with dynamic follow-up questions.
Q&A sessions, information gathering
PeerReviewProcess
Academic peer review processes. Simulated academic review, where agents critique and provide feedback.
Research review, feedback processes
MediationSession
Mediation sessions for conflict resolution. Agents participate in sessions to resolve disputes, often with a mediator.
Dispute resolution, negotiations
BrainstormingSession
Brainstorming sessions for idea generation. Collaborative sessions focused on generating new ideas.
Innovation, problem solving
TrialSimulation
Trial simulations with legal roles. Agents assume legal roles to simulate a courtroom trial.
Legal proceedings, case analysis
CouncilMeeting
Council meetings with voting procedures. Decision-making meetings where agents vote on proposals.
Governance, voting processes
MentorshipSession
Mentorship sessions with feedback loops. One or more agents mentor others, providing feedback and guidance.
Learning, guidance
NegotiationSession
Complex negotiations between parties. Multi-party negotiations to reach agreements or resolve conflicts.
Business deals, agreements
OneOnOneDebate
Description
Simulates a turn-based debate between two agents for a specified number of loops. Each agent takes turns responding to the other's arguments.
Parameters
Parameter
Type
Description
Required
Default
max_loops
int
Number of conversational turns
No
1
agents
List[Agent]
Two agents for debate
Yes
None
img
str
Optional image input
No
None
output_type
str
Format for conversation history
No
"str-all-except-first"
Run Method
Method
Parameters
Returns
Description
run
task: str
list
Executes debate between agents
Example
Full example: Philosophy Discussion Example
from swarms.agents import Agent
from swarms.structs.multi_agent_debates import OneOnOneDebate
# Create debating agents
agent1 = Agent ( name = "Philosopher1" )
agent2 = Agent ( name = "Philosopher2" )
# Initialize debate
debate = OneOnOneDebate (
max_loops = 3 ,
agents = [ agent1 , agent2 ]
)
# Run debate
result = debate . run ( "Is artificial intelligence consciousness possible?" )
ExpertPanelDiscussion
Description
Simulates an expert panel discussion with a moderator guiding the conversation. Multiple experts provide insights on a topic with structured rounds.
Parameters
Parameter
Type
Description
Required
Default
max_rounds
int
Number of discussion rounds
No
3
agents
List[Agent]
Expert panel participants
Yes
None
moderator
Agent
Discussion moderator
Yes
None
output_type
str
Format for conversation history
No
"str-all-except-first"
Run Method
Method
Parameters
Returns
Description
run
task: str
list
Executes panel discussion
Example
Full example: Healthcare Panel Discussion
from swarms.agents import Agent
from swarms.structs.multi_agent_debates import ExpertPanelDiscussion
# Create expert agents
moderator = Agent ( name = "Moderator" )
expert1 = Agent ( name = "AI_Expert" )
expert2 = Agent ( name = "Ethics_Expert" )
expert3 = Agent ( name = "Neuroscience_Expert" )
# Initialize panel
panel = ExpertPanelDiscussion (
max_rounds = 2 ,
agents = [ expert1 , expert2 , expert3 ],
moderator = moderator
)
# Run panel discussion
result = panel . run ( "What are the ethical implications of AGI development?" )
RoundTableDiscussion
Description
Simulates a round table where each participant speaks in order, then the cycle repeats. Facilitated discussion with equal participation.
Parameters
Parameter
Type
Description
Required
Default
max_cycles
int
Number of speaking cycles
No
2
agents
List[Agent]
Round table participants
Yes
None
facilitator
Agent
Discussion facilitator
Yes
None
output_type
str
Format for conversation history
No
"str-all-except-first"
Run Method
Method
Parameters
Returns
Description
run
task: str
list
Executes round table discussion
Example
Full example: AI Ethics Debate
from swarms.agents import Agent
from swarms.structs.multi_agent_debates import RoundTableDiscussion
# Create participants
facilitator = Agent ( name = "Facilitator" )
participant1 = Agent ( name = "Participant1" )
participant2 = Agent ( name = "Participant2" )
participant3 = Agent ( name = "Participant3" )
# Initialize round table
roundtable = RoundTableDiscussion (
max_cycles = 2 ,
agents = [ participant1 , participant2 , participant3 ],
facilitator = facilitator
)
# Run discussion
result = roundtable . run ( "How can we improve renewable energy adoption?" )
InterviewSeries
Description
Conducts a structured interview with follow-up questions. Systematic Q&A with depth through follow-up questions.
Parameters
Parameter
Type
Description
Required
Default
questions
List[str]
Prepared interview questions
No
Default questions
interviewer
Agent
Interviewer agent
Yes
None
interviewee
Agent
Interviewee agent
Yes
None
follow_up_depth
int
Follow-up questions per main question
No
2
output_type
str
Format for conversation history
No
"str-all-except-first"
Run Method
Method
Parameters
Returns
Description
run
task: str
list
Executes interview series
Example
from swarms.agents import Agent
from swarms.structs.multi_agent_debates import InterviewSeries
# Create agents
interviewer = Agent ( name = "Interviewer" )
interviewee = Agent ( name = "Expert" )
# Prepare questions
questions = [
"What is your background in AI?" ,
"How do you see AI evolving in the next decade?" ,
"What are the biggest challenges in AI development?"
]
# Initialize interview
interview = InterviewSeries (
questions = questions ,
interviewer = interviewer ,
interviewee = interviewee ,
follow_up_depth = 2
)
# Run interview
result = interview . run ( "AI Development and Future Prospects" )
PeerReviewProcess
Description
Simulates academic peer review with multiple reviewers and author responses. Structured feedback and revision process.
Parameters
Parameter
Type
Description
Required
Default
reviewers
List[Agent]
Reviewer agents
Yes
None
author
Agent
Author agent
Yes
None
review_rounds
int
Number of review rounds
No
2
output_type
str
Format for conversation history
No
"str-all-except-first"
Run Method
Method
Parameters
Returns
Description
run
task: str
list
Executes peer review process
Example
from swarms.agents import Agent
from swarms.structs.multi_agent_debates import PeerReviewProcess
# Create agents
author = Agent ( name = "Author" )
reviewer1 = Agent ( name = "Reviewer1" )
reviewer2 = Agent ( name = "Reviewer2" )
# Initialize peer review
review = PeerReviewProcess (
reviewers = [ reviewer1 , reviewer2 ],
author = author ,
review_rounds = 2
)
# Run review process
result = review . run ( "New Machine Learning Algorithm for Natural Language Processing" )
Description
Simulates a mediation session to resolve conflicts between parties. Facilitated conflict resolution with structured sessions.
Parameters
Parameter
Type
Description
Required
Default
parties
List[Agent]
Disputing parties
Yes
None
mediator
Agent
Mediator agent
Yes
None
max_sessions
int
Number of mediation sessions
No
3
output_type
str
Format for conversation history
No
"str-all-except-first"
Run Method
Method
Parameters
Returns
Description
run
task: str
list
Executes mediation session
Example
Full example: Merger Mediation Session
from swarms.agents import Agent
from swarms.structs.multi_agent_debates import MediationSession
# Create agents
mediator = Agent ( name = "Mediator" )
party1 = Agent ( name = "Party1" )
party2 = Agent ( name = "Party2" )
# Initialize mediation
mediation = MediationSession (
parties = [ party1 , party2 ],
mediator = mediator ,
max_sessions = 3
)
# Run mediation
result = mediation . run ( "Resolve intellectual property dispute" )
BrainstormingSession
Description
Simulates a brainstorming session where participants build on each other's ideas. Creative idea generation with collaborative building.
Parameters
Parameter
Type
Description
Required
Default
participants
List[Agent]
Brainstorming participants
Yes
None
facilitator
Agent
Session facilitator
Yes
None
idea_rounds
int
Number of idea generation rounds
No
3
build_on_ideas
bool
Whether to build on previous ideas
No
True
output_type
str
Format for conversation history
No
"str-all-except-first"
Run Method
Method
Parameters
Returns
Description
run
task: str
list
Executes brainstorming session
Example
Full example: Pharma Research Brainstorm
from swarms.agents import Agent
from swarms.structs.multi_agent_debates import BrainstormingSession
# Create agents
facilitator = Agent ( name = "Facilitator" )
participant1 = Agent ( name = "Creative1" )
participant2 = Agent ( name = "Creative2" )
participant3 = Agent ( name = "Creative3" )
# Initialize brainstorming
brainstorm = BrainstormingSession (
participants = [ participant1 , participant2 , participant3 ],
facilitator = facilitator ,
idea_rounds = 3 ,
build_on_ideas = True
)
# Run brainstorming
result = brainstorm . run ( "Innovative solutions for urban transportation" )
TrialSimulation
Description
Simulates a legal trial with structured phases and roles. Complete legal proceeding simulation with all participants.
Parameters
Parameter
Type
Description
Required
Default
prosecution
Agent
Prosecution attorney
Yes
None
defense
Agent
Defense attorney
Yes
None
judge
Agent
Trial judge
Yes
None
witnesses
List[Agent]
Trial witnesses
No
None
phases
List[str]
Trial phases
No
Default phases
output_type
str
Format for conversation history
No
"str-all-except-first"
Run Method
Method
Parameters
Returns
Description
run
task: str
list
Executes trial simulation
Example
Full example: Medical Malpractice Trial
from swarms.agents import Agent
from swarms.structs.multi_agent_debates import TrialSimulation
# Create agents
judge = Agent ( name = "Judge" )
prosecutor = Agent ( name = "Prosecutor" )
defense = Agent ( name = "Defense" )
witness1 = Agent ( name = "Witness1" )
witness2 = Agent ( name = "Witness2" )
# Initialize trial
trial = TrialSimulation (
prosecution = prosecutor ,
defense = defense ,
judge = judge ,
witnesses = [ witness1 , witness2 ],
phases = [ "opening" , "testimony" , "cross" , "closing" ]
)
# Run trial
result = trial . run ( "Patent infringement case" )
CouncilMeeting
Description
Simulates a council meeting with structured discussion and decision-making. Governance process with voting and consensus building.
Parameters
Parameter
Type
Description
Required
Default
council_members
List[Agent]
Council participants
Yes
None
chairperson
Agent
Meeting chairperson
Yes
None
voting_rounds
int
Number of voting rounds
No
1
require_consensus
bool
Whether consensus is required
No
False
output_type
str
Format for conversation history
No
"str-all-except-first"
Run Method
Method
Parameters
Returns
Description
run
task: str
list
Executes council meeting
Example
Full example: Investment Council Meeting
from swarms.agents import Agent
from swarms.structs.multi_agent_debates import CouncilMeeting
# Create agents
chairperson = Agent ( name = "Chair" )
member1 = Agent ( name = "Member1" )
member2 = Agent ( name = "Member2" )
member3 = Agent ( name = "Member3" )
# Initialize council meeting
council = CouncilMeeting (
council_members = [ member1 , member2 , member3 ],
chairperson = chairperson ,
voting_rounds = 2 ,
require_consensus = True
)
# Run meeting
result = council . run ( "Vote on new environmental policy" )
MentorshipSession
Description
Simulates a mentorship session with structured learning and feedback. Guided learning process with progress tracking.
Parameters
Parameter
Type
Description
Required
Default
mentor
Agent
Mentor agent
Yes
None
mentee
Agent
Mentee agent
Yes
None
session_count
int
Number of sessions
No
3
include_feedback
bool
Whether to include feedback
No
True
output_type
str
Format for conversation history
No
"str-all-except-first"
Run Method
Method
Parameters
Returns
Description
run
task: str
list
Executes mentorship session
Example
Full example: Startup Mentorship Program
from swarms.agents import Agent
from swarms.structs.multi_agent_debates import MentorshipSession
# Create agents
mentor = Agent ( name = "Mentor" )
mentee = Agent ( name = "Mentee" )
# Initialize mentorship
mentorship = MentorshipSession (
mentor = mentor ,
mentee = mentee ,
session_count = 3 ,
include_feedback = True
)
# Run session
result = mentorship . run ( "Career development in AI research" )
NegotiationSession
Description
Simulates a negotiation with multiple parties working toward agreement. Complex multi-party negotiation with concessions.
Parameters
Parameter
Type
Description
Required
Default
parties
List[Agent]
Negotiating parties
Yes
None
mediator
Agent
Negotiation mediator
Yes
None
negotiation_rounds
int
Number of rounds
No
5
include_concessions
bool
Whether to allow concessions
No
True
output_type
str
Format for conversation history
No
"str-all-except-first"
Run Method
Method
Parameters
Returns
Description
run
task: str
list
Executes negotiation session
Example
Full example: NVIDIA-AMD Executive Negotiation
from swarms.agents import Agent
from swarms.structs.multi_agent_debates import NegotiationSession
# Create agents
mediator = Agent ( name = "Mediator" )
party1 = Agent ( name = "Company1" )
party2 = Agent ( name = "Company2" )
# Initialize negotiation
negotiation = NegotiationSession (
parties = [ party1 , party2 ],
mediator = mediator ,
negotiation_rounds = 4 ,
include_concessions = True
)
# Run negotiation
result = negotiation . run ( "Merger terms negotiation" )
Conclusion
The multi-agent orchestration methods in Swarms provide powerful frameworks for structuring complex interactions between AI agents. Key benefits include:
Structured Communication: Each method provides a clear framework for organizing multi-agent interactions
Role-Based Interactions: Agents can take on specific roles with defined responsibilities
Flexible Configuration: Customizable parameters for controlling interaction flow
Scalable Architecture: Support for various numbers of participants and interaction rounds
Comprehensive Coverage: Methods for different use cases from debates to negotiations
Professional Output: Consistent formatting and organization of conversation history
Easy Integration: Simple API for incorporating into larger applications
September 1, 2025
September 1, 2025
Kye Gomez