How bhancockio/adk-python works
ADK is a code-first Python framework for building, running, evaluating, and deploying AI agents. The main runtime path is a user request entering the runner, which executes an agent or composed multi-agent workflow; LLM flows call models and tools, and the resulting events and state are managed through session services. The graph also preserves memory, artifacts, authentication, evaluation, and developer UI/deployment capabilities documented in the README. Wiring not established by the sampled excerpts is omitted; some subsystem paths are exact enclosing directories from the tree.
Main entry points: tools Tool framework · runners.py Runner · cli CLI commands · agents Agent hierarchy
Components 22
Runtime orchestration
- Runner
src/google/adk/runners.py - Agent hierarchy
src/google/adk/agents - Events and actions
src/google/adk/events
Agent intelligence
- LLM flows
src/google/adk/flows/llm_flows - Model adapters
src/google/adk/models - Planning
src/google/adk/planners
Tools and integrations
- Tool framework
src/google/adk/tools - API integrations
src/google/adk/tools/openapi_tool - MCP integration
src/google/adk/tools/mcp_tool - Authentication
src/google/adk/auth - Code execution
src/google/adk/code_executors
Runtime state
- Session services
src/google/adk/sessions - Memory services
src/google/adk/memory - Artifact services
src/google/adk/artifacts
Developer operations
- Agent evaluation
src/google/adk/evaluation - CLI commands
src/google/adk/cli - Development UI
src/google/adk/cli/fast_api.py
Other components
- Agent user
- LLM providers
- External tool APIs
- Google Cloud services
- Agent developer
Connections 26
- Agent user → Runner: sends request
- Runner → Agent hierarchy: runs agent
- Agent hierarchy → LLM flows: executes flow
- LLM flows → Model adapters: requests generation
- Model adapters → LLM providers: calls provider
- LLM flows → Tool framework: dispatches tools
- Tool framework → API integrations: uses API tools
- Tool framework → MCP integration: uses MCP tools
- Tool framework → Authentication: prepares credentials
- Tool framework → Code execution: executes code
- API integrations → External tool APIs: calls APIs
- MCP integration → External tool APIs: connects to servers
- Runner → Session services: loads and saves
- Runner → Events and actions: handles events
- Agent hierarchy → Planning: plans actions
- Tool framework → Memory services: retrieves memory
- Tool framework → Artifact services: loads artifacts
- Session services → Google Cloud services: uses cloud storage
- Artifact services → Google Cloud services: stores artifacts
- Memory services → Google Cloud services: retrieves context
- Agent developer → CLI commands: runs commands
- CLI commands → Agent evaluation: starts evaluation
- CLI commands → Development UI: starts UI
- Development UI → Runner: serves agent runs
- Agent evaluation → Runner: evaluates runs
- CLI commands → Google Cloud services: deploys agents