Lesson 06 � Advanced

MULTI-AGENT SYSTEMS:
AGENTS MILKAR KAAM KAREIN.

Ek agent akela kaam karta hai, lekin jab bahut saare agents milkar kaam karein toh magic hota hai. Specialized agents alag-alag kaam karte hain aur milkar complex problems solve karte hain � jaise ek team. Yeh real-world AI ka future hai.

? 22 min✓ Advanced✓ Prerequisite: Planning

WHY: Multiple agents kyun zaroori hain?

Ek agent sab kuch kar sakta hai � lekin kya woh sab kuch acche se kar sakta hai✓ Nahi. Jaise ek company mein HR, finance, engineering alag-alag teams hoti hain, waise agents bhi specialized hone chahiye. Ek researcher accha research karta hai, ek writer accha likhta hai, ek reviewer galtiyan dhundhta hai. Jab yeh team mein kaam karein toh output 10x better hota hai.

ORCHESTRATION

Agent coordination � kaun kya karega, kab karega, kaise pass karega. Orchestrator ek manager hai jo saare agents ko coordinate karta hai aur task distribute karta hai.

SPECIALIZATION

Expert agents � har agent ek kaam mein best ho. Researcher sirf research karega, writer sirf likhega, reviewer sirf check karega. Specialization se quality badhti hai.

COMMUNICATION

Agent messaging � agents ek dusre se baat karte hain. Results share karte hain, feedback dete hain, questions poochte hain. Bina communication ke team kaam nahi kar sakti.

CONSENSUS

Decision making � jab agents alag-alag sochein toh kaise decide karein✓ Voting, priority, ya senior agent ka final call. Consensus banana zaroori hai.

WHAT: Multi-Agent System kya hai?

Multi-Agent System (MAS) ek aisi system hai jismein:

Mental model: Multi-Agent System ek cricket team hai. Batsman run karta hai, bowler wicket leta hai, fielder catch pakadta hai, captain strategy banata hai. Sab milke match jeethte hain � akela koi nahi jeet sakta.

PATTERNS: Multi-Agent ke 3 patterns

Multi-Agent Systems alag-alag patterns mein kaam karte hain. Har pattern apni jagah useful hai:

patterns
1. Sequential Pipeline
 ✓ Agents ek ke baad ek kaam karte hain
 ✓ Output ek agent ka input ban jaata hai
 ✓ Example: Research ✓ Write ✓ Review ✓ Publish
 ✓ Simple hai, lekin slow

2. Parallel Processing
 ✓ Multiple agents ek saath kaam karte hain
 ✓ Har agent apna task independently karta hai
 ✓ Example: Ek hi data ko 3 agents alag angle se analyze karein
 ✓ Fast hai, lekin coordination mushkil

3. Hierarchical (Manager Pattern)
 ✓ Ek manager agent hota hai jo baaki ko coordinate karta hai
 ✓ Manager task distribute karta hai, results collect karta hai
 ✓ Example: CEO ✓ Managers ✓ Workers
 ✓ Scalable hai, lekin manager bottleneck ban sakta hai

CODE: Multi-Agent System banana

Ab dekhte hain kaise multi-agent system code karte hain. Pehle basic agent banao, phir system jo agents ko coordinate kare.

python
# Multi-agent system
class Agent:
 def __init__(self, name, role):
 self.name = name
 self.role = role
 
 def work(self, task):
 return f"{self.name} ({self.role}) processing: {task}"

class MultiAgentSystem:
 def __init__(self):
 self.agents = {}
 
 def add_agent(self, agent):
 self.agents[agent.name] = agent
 
 def assign_task(self, task, agent_name=None):
 if agent_name and agent_name in self.agents:
 return self.agents[agent_name].work(task)
 
 # Assign to best agent based on role
 for agent in self.agents.values():
 if agent.role in task.lower():
 return agent.work(task)
 return "No suitable agent found"
 
 def collaborate(self, task):
 results = []
 for agent in self.agents.values():
 results.append(agent.work(task))
 return results

# Create system
system = MultiAgentSystem()
system.add_agent(Agent("Researcher", "research"))
system.add_agent(Agent("Writer", "writing"))
system.add_agent(Agent("Reviewer", "review"))

print(system.collaborate("Write a blog about AI"))

ORCHESTRATION: Agents ko coordinate kaise karein?

Orchestration sabse mushkil part hai � kaun kya karega, kab karega, aur kaise pass karega. Orchestrator ek brain hai jo saare agents ko manage karta hai.

python
# Orchestrator pattern
class Orchestrator:
 def __init__(self):
 self.agents = {}
 self.pipeline = []
 
 def register_agent(self, name, agent):
 self.agents[name] = agent
 
 def set_pipeline(self, pipeline):
 self.pipeline = pipeline
 
 def execute(self, task):
 current_input = task
 results = []
 
 for agent_name in self.pipeline:
 agent = self.agents[agent_name]
 result = agent.work(current_input)
 results.append({
 "agent": agent_name,
 "input": current_input,
 "output": result
 })
 current_input = result
 
 return results

# Research ✓ Write ✓ Review pipeline
orchestrator = Orchestrator()
orchestrator.register_agent("researcher", Agent("Researcher", "research"))
orchestrator.register_agent("writer", Agent("Writer", "writing"))
orchestrator.register_agent("reviewer", Agent("Reviewer", "review"))
orchestrator.set_pipeline(["researcher", "writer", "reviewer"])

results = orchestrator.execute("Write about AI agents")
for r in results:
 print(f"{r['agent']}: {r['output']}")
Key insight: Pipeline pattern simple hai � ek agent ka output dusre ka input ban jaata hai. Lekin real-world mein parallel processing bhi hoti hai � jaise ek hi time pe research aur data collection dono ho sakte hain.

COMMUNICATION: Agents kaise baat karte hain?

Agents ko communicate karna padta hai � results share karna, feedback dena, questions poochna. Message passing ek clean pattern hai.

python
# Agent communication via messages
class Message:
 def __init__(self, sender, receiver, content, msg_type="info"):
 self.sender = sender
 self.receiver = receiver
 self.content = content
 self.msg_type = msg_type

class CommunicatingAgent:
 def __init__(self, name, role):
 self.name = name
 self.role = role
 self.inbox = []
 self.outbox = []
 
 def receive(self, message):
 self.inbox.append(message)
 return f"{self.name} received: {message.content}"
 
 def send(self, receiver_name, content, msg_type="info"):
 msg = Message(self.name, receiver_name, content, msg_type)
 self.outbox.append(msg)
 return msg
 
 def process_inbox(self):
 results = []
 for msg in self.inbox:
 result = self.work(msg.content)
 results.append(result)
 self.inbox.clear()
 return results
 
 def work(self, task):
 return f"{self.name} ({self.role}) done: {task}"

# Example communication
researcher = CommunicatingAgent("Researcher", "research")
writer = CommunicatingAgent("Writer", "writing")

# Researcher sends findings to writer
msg = researcher.send("Writer", "AI agents autonomous hain")
print(writer.receive(msg))

# Writer processes and sends to reviewer
writer_results = writer.process_inbox()
print(writer_results)

CONSENSUS: Jab agents disagree karein?

Kabhi kabhi agents alag-alag answers dete hain. Consensus building zaroori hai � voting, priority, ya weighted decisions.

python
# Consensus mechanism
class ConsensusSystem:
 def __init__(self):
 self.agents = {}
 self.votes = {}
 
 def add_agent(self, name, weight=1):
 self.agents[name] = weight
 
 def vote(self, agent_name, decision):
 if agent_name in self.agents:
 self.votes[decision] = self.votes.get(decision, 0) + self.agents[agent_name]
 
 def get_consensus(self):
 if not self.votes:
 return "No votes yet"
 
 # Weighted voting
 max_votes = max(self.votes.values())
 winners = [d for d, v in self.votes.items() if v == max_votes]
 
 if len(winners) == 1:
 return f"Consensus: {winners[0]} (votes: {max_votes})"
 else:
 return f"Tie between: {', '.join(winners)}"
 
 def reset(self):
 self.votes = {}

# Example: Choose best approach
consensus = ConsensusSystem()
consensus.add_agent("Researcher", weight=2) # Expert has more weight
consensus.add_agent("Writer", weight=1)
consensus.add_agent("Reviewer", weight=1)

consensus.vote("Researcher", "approach_A")
consensus.vote("Writer", "approach_B")
consensus.vote("Reviewer", "approach_A")

print(consensus.get_consensus()) # approach_A wins

Try it: Build a Multi-Agent System

Yahan apna multi-agent system banao � agents add karo, pipeline set karo, aur dekho kaise collaborate karte hain.

Multi-Agent BuilderApna khud ka multi-agent system banayein
Run Python dabayein

Exercise: Test Your Knowledge

Quick check

"Multi-agent system kya hai?"

Socho: ek agent vs bahut saare agents � kya fark hai✓ Specialized agents milkar kya karte hain?

Key Takeaways

Multi-Agent Systems complete?

Ab Deployment par chalo � samjho ki apne agents ko production mein kaise deploy karein.