parent
3cd03c13eb
commit
3748dffd8c
@ -0,0 +1,549 @@
|
|||||||
|
# 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
|
||||||
|
|
||||||
|
The orchestration methods provide structured frameworks for:
|
||||||
|
- Turn-based debates between two agents
|
||||||
|
- Expert panel discussions with a moderator
|
||||||
|
- Round table discussions with multiple participants
|
||||||
|
- Structured interviews with follow-up questions
|
||||||
|
- Academic peer review processes
|
||||||
|
- Mediation sessions for conflict resolution
|
||||||
|
- Brainstorming sessions for idea generation
|
||||||
|
- Trial simulations with legal roles
|
||||||
|
- Council meetings with voting procedures
|
||||||
|
- Mentorship sessions with feedback loops
|
||||||
|
- Complex negotiations between parties
|
||||||
|
|
||||||
|
## Methods Overview
|
||||||
|
|
||||||
|
| Method | Description | Use Case |
|
||||||
|
|--------|-------------|----------|
|
||||||
|
| OneOnOneDebate | Turn-based debate between two agents | Philosophical discussions, arguments |
|
||||||
|
| ExpertPanelDiscussion | Moderated panel with multiple experts | Professional discussions, expert opinions |
|
||||||
|
| RoundTableDiscussion | Facilitated round table with participants | Group discussions, brainstorming |
|
||||||
|
| InterviewSeries | Structured interview with follow-ups | Q&A sessions, information gathering |
|
||||||
|
| PeerReviewProcess | Academic peer review simulation | Research review, feedback processes |
|
||||||
|
| MediationSession | Conflict resolution mediation | Dispute resolution, negotiations |
|
||||||
|
| BrainstormingSession | Creative idea generation session | Innovation, problem solving |
|
||||||
|
| TrialSimulation | Legal trial simulation | Legal proceedings, case analysis |
|
||||||
|
| CouncilMeeting | Decision-making council meeting | Governance, voting processes |
|
||||||
|
| MentorshipSession | Structured mentorship interaction | Learning, guidance |
|
||||||
|
| NegotiationSession | Multi-party negotiation | 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](https://github.com/kyegomez/swarms/blob/master/examples/multi_agent/orchestration_examples/philosophy_discussion_example.py)
|
||||||
|
|
||||||
|
```python
|
||||||
|
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](https://github.com/kyegomez/swarms/blob/master/examples/multi_agent/orchestration_examples/healthcare_panel_discussion.py)
|
||||||
|
|
||||||
|
```python
|
||||||
|
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](https://github.com/kyegomez/swarms/blob/master/examples/multi_agent/orchestration_examples/ai_ethics_debate.py)
|
||||||
|
|
||||||
|
```python
|
||||||
|
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
|
||||||
|
|
||||||
|
```python
|
||||||
|
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
|
||||||
|
|
||||||
|
```python
|
||||||
|
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")
|
||||||
|
```
|
||||||
|
|
||||||
|
## MediationSession
|
||||||
|
|
||||||
|
### 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](https://github.com/kyegomez/swarms/blob/master/examples/multi_agent/orchestration_examples/merger_mediation_session.py)
|
||||||
|
|
||||||
|
```python
|
||||||
|
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](https://github.com/kyegomez/swarms/blob/master/examples/multi_agent/orchestration_examples/pharma_research_brainstorm.py)
|
||||||
|
|
||||||
|
```python
|
||||||
|
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](https://github.com/kyegomez/swarms/blob/master/examples/multi_agent/orchestration_examples/medical_malpractice_trial.py)
|
||||||
|
|
||||||
|
```python
|
||||||
|
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](https://github.com/kyegomez/swarms/blob/master/examples/multi_agent/orchestration_examples/investment_council_meeting.py)
|
||||||
|
|
||||||
|
```python
|
||||||
|
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](https://github.com/kyegomez/swarms/blob/master/examples/multi_agent/orchestration_examples/startup_mentorship_program.py)
|
||||||
|
|
||||||
|
```python
|
||||||
|
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](https://github.com/kyegomez/swarms/blob/master/examples/multi_agent/orchestration_examples/nvidia_amd_executive_negotiation.py)
|
||||||
|
|
||||||
|
```python
|
||||||
|
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:
|
||||||
|
|
||||||
|
1. Structured Communication: Each method provides a clear framework for organizing multi-agent interactions
|
||||||
|
2. Role-Based Interactions: Agents can take on specific roles with defined responsibilities
|
||||||
|
3. Flexible Configuration: Customizable parameters for controlling interaction flow
|
||||||
|
4. Scalable Architecture: Support for various numbers of participants and interaction rounds
|
||||||
|
5. Comprehensive Coverage: Methods for different use cases from debates to negotiations
|
||||||
|
6. Professional Output: Consistent formatting and organization of conversation history
|
||||||
|
7. Easy Integration: Simple API for incorporating into larger applications
|
Loading…
Reference in new issue