Google ADK — способный и в целом завершённый фреймворк для разработки агентов, с поддержкой нескольких типов агентов, мультиагентных архитектур и нескольких языков программирования.
Google Agent Development Kit (ADK) — это гибкий и модульный open-source-фреймворк для разработки и развертывания AI agents. Он оптимизирован для Gemini и экосистемы Google, но ADK не привязан к модели, не привязан к способу развертывания и изначально рассчитан на совместимость с другими фреймворками. ADK задумывался как инструмент, который делает разработку агентов больше похожей на обычную разработку ПО, помогая разработчикам создавать, разворачивать и оркестрировать agentic-архитектуры.
Google рекомендует разворачивать ADK-agent в собственном Vertex AI Agent Engine Runtime — полностью управляемом сервисе Google Cloud для развертывания, управления и масштабирования AI agents, созданных на таких фреймворках, как ADK. Альтернативно агент можно контейнеризовать и развернуть практически где угодно, включая Google Cloud Run.
К прямым конкурентам ADK относятся Amazon Bedrock AgentCore, Azure AI Foundry Agents и Databricks Agent Bricks. Среди дополнительных конкурентов — OpenAI Agents SDK, LangChain/LangGraph, CrewAI и SmythOS. Я обзирал Amazon Bedrock AgentCore в марте.
ADK для Python, Go, Java и TypeScript
Сейчас у Google ADK есть четыре языка: Python, Go, Java и TypeScript. Кроме того, есть ADK for Web — developer UI, о котором мы поговорим позже.
Похоже, Python ADK — самый старый из четырёх, судя по истории коммитов, и у него больше всего примеров. В нём есть богатая экосистема tools, code-first-разработка, agent config (она позволяет собрать ADK workflow без написания кода), tool confirmation flow (HITL), модульные multi-agent systems и почти универсальное развертывание. Среди новых функций — custom service registration, возможность откатить session к состоянию до предыдущего вызова и класс, который позволяет выполнять код, сгенерированный агентом, через Vertex AI Code Execution Sandbox API. ADK поддерживает A2A protocol для удалённой agent-to-agent communication.
Последнюю стабильную версию Python ADK можно установить с помощью pip (или pip3, в зависимости от вашей установки Python):
pip install google-adk
Зависимостей довольно много. Как показано в некоторых примерах, ADK можно установить и с помощью uv. Рекомендуется использовать virtual environment.
Go ADK предлагает в сущности те же возможности, что и Python ADK, плюс idiomatic Go. Добавить ADK Go в проект можно командой:
go get google.golang.org/adk
Java ADK предлагает те же возможности, тот же development UI и тот же интерфейс, что и Python ADK. Для установки нужно добавить google-adk в зависимости Maven.
TypeScript ADK имеет те же возможности, тот же development UI и тот же интерфейс, что и Python ADK. Для установки можно выполнить:
npm install @google/adk
Быстрые старты ADK
Для ADK есть как минимум пять quick starts. Один — для Python и Vertex AI SDK. Остальные четыре, как и ожидается, предназначены для Python, Go, Java и TypeScript. Эти четыре идут по одной схеме: вы устанавливаете ADK, создаёте с его помощью agent project, добавляете немного кода, задаёте Gemini API key и запускаете agent и как CLI, и через web interface.


ADK Web: локальная среда разработки
ADK Web — это встроенный dev UI, который идёт вместе с ADK и упрощает разработку и отладку. Требования: npm, Node.js, Angular CLI, google-adk (Python) и google-adk (Java). Для установки нужно клонировать репозиторий ADK Web, поставить его node dependencies, а затем запустить ADK Web и ADK API servers в отдельных терминалах.
Если всё в порядке, UI будет доступен по адресу localhost:4200. Он показывает events, traces, artifacts и evaluations, а также предлагает agent builder и assistant.

Основные понятия и возможности ADK
ADK agents могут использовать language models, а могут быть детерминированными workflow agents или custom agents, что позволяет задавать произвольную orchestration logic. Agents могут вызывать tools для работы с внешними API, поиска или запуска кода. Они также могут загружать и сохранять artifacts.
Можно задавать callbacks, которые запускаются на определённых этапах agent process. ADK управляет контекстом session, её events и short-term state агента — примерно так же, как web server поддерживает web application. ADK также поддерживает long-term memory между несколькими sessions.
Planning — это способ разбивать цели на этапы до того, как пытаться их выполнить. Runners управляют execution flow и orchestrate agent interactions.
ADK поддерживает приложения, состоящие из нескольких специализированных agents, которые могут взаимодействовать.
ADK включает command-line interface (CLI) и developer UI для запуска agents, просмотра шагов выполнения (events, state changes), отладки взаимодействий и визуализации agent definitions.
Фреймворк включает инструменты для создания multi-turn evaluation datasets и запуска evaluations. Он также стремится быть открытым и расширяемым. Как я уже отмечал, ADK оптимизирован для Gemini и Google ecosystem, но при этом остаётся model-agnostic, deployment-agnostic и совместимым с другими frameworks.
Agent skills
Agent skills — это простой открытый формат, с помощью которого агентам можно давать новые capabilities и expertise. Это папки с инструкциями, скриптами и ресурсами, которые agents могут обнаруживать и использовать. Skills дают контекст, необходимый агентам для реальной работы. Они помогают добавлять domain expertise, новые capabilities, повторяемые workflows и interoperability.
Формат agent skills изначально разработала Anthropic и выпустила как open standard. Его поддерживают многие AI development tools помимо ADK, например Visual Studio Code, GitHub, Frontier LLMs, agentic coding tools и AI-capable databases вроде Snowflake и Databricks.
Среды выполнения agents
ADK предлагает несколько способов запускать agents для разработки и тестирования. Среди них:
adk web, который запускает browser-based interfaceadk run, который позволяет работать с agents в терминале, иadk api_server, который открывает доступ к agents через RESTful API.
Примеры ADK и community repos
ADK Samples Repo содержит sample agents для всех четырёх поддерживаемых языков, хотя Python-примеры там доминируют. ADK Python community repo — это растущая экосистема community-contributed tools, интеграций сторонних сервисов и deployment scripts, которые расширяют базовые возможности ADK.
Разбор примера customer service
ADK Samples Customer Service example — это conversational, multimodal Python agent для вымышленной крупной розничной сети, специализирующейся на товарах для ремонта дома, садоводства и сопутствующих категориях. Я выбрал его как пример, наиболее близкий к customer service agent, который я тестировал для обзора Amazon Bedrock AgentCore. Ниже — diagram flow агента.
В customer service agent его tools замоканы, поэтому не всё работает именно так, как вы ожидаете. Чтобы реализовать этого агента с реальной backend integration, нужно отредактировать customer_service/tools/tools.py, где все agent tools сейчас замоканы и возвращают жёстко заданные ответы, и заменить моки на API calls.
Файл customer_service/tools/agent.py импортирует эти tools и перечисляет их в массиве root_agent/tools, который является частью конструктора Agent. Логика tools/config.py определяет, что этот agent можно разворачивать в Vertex AI в регионе us-central, а deployment/deploy.py задаёт Vertex AI bucket и agent wheel file.
Сравнивая этот пример с примером из Amazon Bedrock AgentCore, я считаю ADK-пример в целом более мощным. Единственная возможность AgentCore, которой, похоже, не хватает ADK, — это политики, вынесенные за пределы agent и реализованные во framework; в примере AgentCore ограничение скидок реализовано в Python code, и мне такой подход кажется более разумным, вероятно, и большинству программистов.

Вывод
Google Agent Development Kit — это способный и в целом завершённый framework для разработки agents. Он умеет собирать workflow agents и custom agents, а также LLM agents, поддерживает multi-agent architectures и позволяет расширять возможности агента с помощью AI models, artifacts, tools, integrations, plug-ins, skills и callbacks. ADK-agent может выступать как клиент Model Context Protocol (MCP), а ADK tools можно публиковать через MCP server. Обратная сторона всех этих возможностей — время и усилия, необходимые для освоения framework.
В целом мне нравится Google ADK, и его архитектура кажется мне более логичной, чем у Amazon Bedrock AgentCore. У ADK также больше вариантов языков программирования, чем у AgentCore, и лучше development tooling.
Для этого обзора я глубоко исследовал только Python ADK и его customer service example. Если в остальных трёх language ADKs есть недостатки, кроме нехватки примеров, я бы о них не знал.
Cost
Google ADK framework бесплатный и open source; Vertex AI Agent Engine pricing в основном usage-based.
Platform
Для разработки нужны среды Python, TypeScript, Go или Java. Развернуть можно в Vertex AI Agent Engine, Google Cloud Run, Google Kubernetes Engine или любой другой container либо Kubernetes environment.
Pros
- Способный и в целом завершённый framework для разработки agents
- Поддерживает Python, TypeScript, Go и Java
- Оптимизирован для моделей Gemini, но model-agnostic
- Много примеров для Python
Cons
- Мало примеров для TypeScript, Go и Java
- Обширный framework требует значительного времени на освоение
Материал — перевод статьи с английского.
