You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
swarms/examples/multi_agent/enhanced_collaboration_exam...

257 lines
9.2 KiB

"""
Enhanced Collaborative InteractiveGroupChat Example
This example demonstrates the improved collaborative behavior where agents:
1. Read and understand all previous responses
2. Acknowledge what other agents have said
3. Build upon their insights rather than repeating information
4. Synthesize multiple perspectives
5. Delegate appropriately using @mentions
The enhanced prompts ensure agents work as a true collaborative team.
"""
from swarms import Agent
from swarms.structs.interactive_groupchat import (
InteractiveGroupChat,
round_robin_speaker,
)
def create_collaborative_agents():
"""Create agents designed for enhanced collaboration."""
# Data Analyst - focuses on data insights and trends
analyst = Agent(
agent_name="analyst",
system_prompt="""You are a senior data analyst with expertise in business intelligence, statistical analysis, and data visualization. You excel at:
- Analyzing complex datasets and identifying trends
- Creating actionable insights from data
- Providing quantitative evidence for business decisions
- Identifying patterns and correlations in data
When collaborating, always reference specific data points and build upon others' insights with quantitative support.""",
llm="gpt-3.5-turbo",
)
# Market Researcher - focuses on market trends and customer insights
researcher = Agent(
agent_name="researcher",
system_prompt="""You are a market research specialist with deep expertise in consumer behavior, competitive analysis, and market trends. You excel at:
- Understanding customer needs and preferences
- Analyzing competitive landscapes
- Identifying market opportunities and threats
- Providing qualitative insights that complement data analysis
When collaborating, always connect market insights to business implications and build upon data analysis with market context.""",
llm="gpt-3.5-turbo",
)
# Strategy Consultant - focuses on strategic recommendations
strategist = Agent(
agent_name="strategist",
system_prompt="""You are a strategic consultant with expertise in business strategy, competitive positioning, and strategic planning. You excel at:
- Developing comprehensive business strategies
- Identifying competitive advantages
- Creating actionable strategic recommendations
- Synthesizing multiple perspectives into coherent strategies
When collaborating, always synthesize insights from all team members and provide strategic recommendations that leverage the collective expertise.""",
llm="gpt-3.5-turbo",
)
return [analyst, researcher, strategist]
def example_comprehensive_analysis():
"""Example of comprehensive collaborative analysis."""
print("=== Enhanced Collaborative Analysis Example ===\n")
agents = create_collaborative_agents()
# Create group chat with round robin speaker function
group_chat = InteractiveGroupChat(
name="Strategic Analysis Team",
description="A collaborative team for comprehensive business analysis",
agents=agents,
speaker_function=round_robin_speaker,
interactive=False,
)
# Complex task that requires collaboration
task = """Analyze our company's performance in the e-commerce market.
We have the following data:
- Q3 revenue: $2.5M (up 15% from Q2)
- Customer acquisition cost: $45 (down 8% from Q2)
- Customer lifetime value: $180 (up 12% from Q2)
- Market share: 3.2% (up 0.5% from Q2)
- Competitor analysis shows 3 major players with 60% market share combined
@analyst @researcher @strategist please provide a comprehensive analysis and strategic recommendations."""
print(f"Task: {task}\n")
print("Expected collaborative behavior:")
print(
"1. Analyst: Analyzes the data trends and provides quantitative insights"
)
print(
"2. Researcher: Builds on data with market context and competitive analysis"
)
print(
"3. Strategist: Synthesizes both perspectives into strategic recommendations"
)
print("\n" + "=" * 80 + "\n")
response = group_chat.run(task)
print(f"Collaborative Response:\n{response}")
def example_problem_solving():
"""Example of collaborative problem solving."""
print("\n" + "=" * 80)
print("=== Collaborative Problem Solving Example ===\n")
agents = create_collaborative_agents()
group_chat = InteractiveGroupChat(
name="Problem Solving Team",
description="A team that collaborates to solve complex business problems",
agents=agents,
speaker_function=round_robin_speaker,
interactive=False,
)
# Problem-solving task
task = """We're experiencing declining customer retention rates (down 20% in the last 6 months).
Our customer satisfaction scores are also dropping (from 8.5 to 7.2).
@analyst please analyze the retention data, @researcher investigate customer feedback and market trends,
and @strategist develop a comprehensive solution strategy."""
print(f"Task: {task}\n")
print("Expected collaborative behavior:")
print("1. Analyst: Identifies patterns in retention data")
print(
"2. Researcher: Explores customer feedback and market factors"
)
print(
"3. Strategist: Combines insights to create actionable solutions"
)
print("\n" + "=" * 80 + "\n")
response = group_chat.run(task)
print(f"Collaborative Response:\n{response}")
def example_agent_delegation():
"""Example showing how agents delegate to each other."""
print("\n" + "=" * 80)
print("=== Agent Delegation Example ===\n")
agents = create_collaborative_agents()
group_chat = InteractiveGroupChat(
name="Delegation Team",
description="A team that demonstrates effective delegation and collaboration",
agents=agents,
speaker_function=round_robin_speaker,
interactive=False,
)
# Task that encourages delegation
task = """We need to evaluate a potential new market entry opportunity in Southeast Asia.
The initial data shows promising growth potential, but we need a comprehensive assessment.
@analyst start with the market data analysis, then delegate to @researcher for market research,
and finally @strategist should provide strategic recommendations."""
print(f"Task: {task}\n")
print("Expected behavior:")
print(
"1. Analyst: Analyzes data and delegates to researcher for deeper market insights"
)
print(
"2. Researcher: Builds on data analysis and delegates to strategist for recommendations"
)
print(
"3. Strategist: Synthesizes all insights into strategic recommendations"
)
print("\n" + "=" * 80 + "\n")
response = group_chat.run(task)
print(f"Collaborative Response:\n{response}")
def example_synthesis_and_integration():
"""Example showing synthesis of multiple perspectives."""
print("\n" + "=" * 80)
print("=== Synthesis and Integration Example ===\n")
agents = create_collaborative_agents()
group_chat = InteractiveGroupChat(
name="Synthesis Team",
description="A team that excels at integrating multiple perspectives",
agents=agents,
speaker_function=round_robin_speaker,
interactive=False,
)
# Task requiring synthesis
task = """We have conflicting information about our product's market position:
- Sales data shows strong growth (25% increase)
- Customer surveys indicate declining satisfaction
- Competitor analysis shows we're losing market share
- Internal metrics show improved operational efficiency
@analyst @researcher @strategist please analyze these conflicting signals and provide
an integrated assessment of our true market position."""
print(f"Task: {task}\n")
print("Expected behavior:")
print(
"1. Analyst: Clarifies the data discrepancies and identifies patterns"
)
print(
"2. Researcher: Provides market context to explain the contradictions"
)
print(
"3. Strategist: Synthesizes all perspectives into a coherent market assessment"
)
print("\n" + "=" * 80 + "\n")
response = group_chat.run(task)
print(f"Collaborative Response:\n{response}")
def main():
"""Run all enhanced collaboration examples."""
print("Enhanced Collaborative InteractiveGroupChat Examples")
print("=" * 80)
print("This demonstrates improved agent collaboration with:")
print("- Acknowledgment of other agents' contributions")
print("- Building upon previous insights")
print("- Synthesis of multiple perspectives")
print("- Appropriate delegation using @mentions")
print("- Comprehensive understanding of conversation history")
print("=" * 80 + "\n")
# Run examples
example_comprehensive_analysis()
example_problem_solving()
example_agent_delegation()
example_synthesis_and_integration()
print("\n" + "=" * 80)
print("All enhanced collaboration examples completed!")
print("Notice how agents now:")
print("✓ Acknowledge each other's contributions")
print("✓ Build upon previous insights")
print("✓ Synthesize multiple perspectives")
print("✓ Delegate appropriately")
print("✓ Provide more cohesive and comprehensive responses")
if __name__ == "__main__":
main()