Course Wiki
Multi-Agent Systems — LLM Zoomcamp Module 3
--- video_url: 'https://www.youtube.com/watch?v=7tvpR8EE0gs&list=PL3MmuxUbc_hLZFNgSad56pDBKK8KO0XIv' --- # Multi-Agent Systems
Related Pages
LLM Zoomcamp › Module 3: Orchestration › Multi-Agent Systems
Notes
video_url: “https://www.youtube.com/watch?v=7tvpR8EE0gs&list=PL3MmuxUbc_hLZFNgSad56pDBKK8KO0XIv”
Multi-Agent Systems
For complex tasks, you can design systems where multiple specialized agents collaborate. Each agent has a clear responsibility, and one agent can call another as a tool.
The main benefits are separation of concerns (each agent focuses on one thing) and easier debugging (you can isolate issues to a specific agent).
Example: Company Research
Flow: 6_multi_agent_research.yaml
This flow demonstrates a two-agent system for competitor research:
| Agent | Specialization | Tools | Responsibility |
|---|---|---|---|
| Research Agent | Web research and data gathering | Tavily web search | Find factual, current information |
| Main Analyst Agent | Analysis and synthesis | Research agent (used as a tool) | Create structured reports |
How it works:
- Input: company name (e.g., “kestra.io”)
- Main agent receives prompt: “Research this company”
- Main agent calls the research agent tool: “Find information about kestra.io”
- Research agent uses Tavily to gather data from the web
- Research agent returns findings to the main agent
- Main agent structures the findings into a final JSON output
The key pattern here is using AIAgent as a tool. The main agent treats the research agent exactly like a web search or database call — it invokes it when needed and works with whatever comes back.
Best Practices
- Define clear responsibilities: each agent should have a specific role and stay within it
- Monitor token usage: multiple agents means multiple LLM calls — costs add up
- Document agent purposes: make the system maintainable by describing what each agent does in your flow and task descriptions
Key concepts
Related notes
- llmz-m01-agents
- llmz-m01-building-the-prompt
- llmz-m01-data-ingestion
- llmz-m01-function-calling
- llmz-m01-introduction
- llmz-m01-other-frameworks
- llmz-m01-quick-rag-revision-optional
- llmz-m01-rag
- llmz-m01-rag-helper
- llmz-m01-the-agentic-loop
- llmz-m01-the-llm
- llmz-m01-toyaikit
- llmz-m01-wrap-up-of-part-1
- llmz-m02-rag-with-vector-search
- llmz-m03-ai-agents
- llmz-m03-ai-copilot
- llmz-m03-ai-orchestration
- llmz-m03-best-practices
- llmz-m03-context-engineering
- llmz-m03-next-steps
- llmz-m03-retrieval-augmented-generation
- llmz-m03-setting-up-kestra
- llmz-m04-agent-evaluation
- llmz-m04-evaluation
- llmz-m04-generating-rag-answers
- llmz-m04-llm-as-a-judge
- llmz-m04-next-steps
- llmz-m04-rag-and-agent-evaluation
- llmz-m04-search-parameter-tuning
- llmz-m05-assistant
- llmz-m05-built-in-judge
- llmz-m05-capturing-metrics
- llmz-m05-monitoring
- llmz-m05-querying-data
- llmz-m05-storing-data-in-postgresql
- llmz-m05-streamlit-dashboard
- llmz-m05-synthetic-data-generation
- llmz-m05-user-feedback
- llmz-m07-end-to-end-project-example
- llmz-m07-evaluating-rag
- llmz-m07-evaluating-retrieval
- llmz-m07-interface-and-ingestion-pipeline
- llmz-m07-monitoring-and-containerization