About this project

Agent Development Kit (ADK) is an open-source, code-first Python framework for building, evaluating and deploying AI agents. It applies software development principles to agent creation, aiming to simplify building, deploying and orchestrating agent workflows from simple tasks to complex systems. It is optimized for Gemini but described as model-agnostic, deployment-agnostic and compatible with other frameworks. Key capabilities described in the README: - Workflow Runtime: a graph-based execution engine for composing deterministic execution flows, with routing, fan-out/fan-in, loops, retry, state management, dynamic nodes, human-in-the-loop and nested workflows. - Task API: structured agent-to-agent delegation with multi-turn task mode, single-turn controlled output, mixed delegation patterns and task agents as workflow nodes. - Modular multi-agent systems: compose specialized agents into hierarchies. - Tool ecosystem: pre-built tools, custom functions, OpenAPI specs, MCP tools and integration with existing tools. - Code-first development: define agent logic, tools and orchestration in Python. - Agent Config: build agents without code. - Tool confirmation (HITL): guard tool execution with explicit confirmation and custom input. - Deployment: containerize and deploy on Cloud Run or Vertex AI Agent Engine. Installation is via pip (google-adk), requiring Python 3.10+. Optional integrations are available through the extensions extra. A development version can be installed from the main branch. The README notes a roughly bi-weekly release cadence. Quick start examples show an Agent class with name, model and instruction, and a Workflow class that connects agents through edges. Local running is supported through an interactive CLI (adk run) and a web UI (adk web). A bundled development UI is provided for testing, evaluating, debugging and showcasing agents. Evaluation can be run with the adk eval command against an evalset and config file. Deployment commands include adk deploy docker and adk deploy cloud_run, with environment variables configurable via command line or a .env file. Documentation, guides and runnable samples are linked, along with contribution guidelines and a community repository for community-contributed tools, integrations and deployment scripts. The project also provides llms.txt and llms-full.txt files intended as context for LLM-assisted development. Ports of ADK exist for Java, Kotlin, Go and TypeScript. The project is licensed under Apache 2.0.