Chapter 3: Agent Design and Multi-Agent Composition
April 13, 2026 ยท View on GitHub
Welcome to Chapter 3: Agent Design and Multi-Agent Composition. In this part of ADK Python Tutorial: Production-Grade Agent Engineering with Google's ADK, you will build an intuitive mental model first, then move into concrete implementation details and practical production tradeoffs.
This chapter covers how to structure ADK agents for maintainability and collaboration.
Learning Goals
- define clean single-agent boundaries
- compose sub-agents with clear responsibilities
- choose
Agentvs app pattern intentionally - design instructions and tool scope for reliability
Composition Strategies
- use specialist sub-agents for narrow tasks
- keep a coordinator agent focused on routing decisions
- limit tool sets per agent to reduce accidental behavior
- enforce stable directory conventions for discoverability
Recommended Structure
my_agent/__init__.pyexports the agent entrymy_agent/agent.pydefinesroot_agentorapp- instructions and tool contracts stay modular and testable
Source References
Summary
You can now build multi-agent ADK systems with clearer separation of concerns.
Next: Chapter 4: Tools, MCP, and Confirmation Flows
Source Code Walkthrough
google/adk/agents/llm_agent.py
The google/adk/agents/llm_agent.py file defines the core LlmAgent class that all LLM-backed agents extend. It shows how agents declare tools, sub-agents, and system instructions โ the building blocks of multi-agent composition. The sub_agents field and delegation logic are directly relevant to the composition patterns described in this chapter.