Google выпустила Agent Development Kit для Go (ADK Go) — новый фреймворк с открытым исходным кодом, который позволяет разработчикам на Go создавать мощных агентов искусственного интеллекта (ИИ).
Как создавать надёжных агентов ИИ, которые подключаются к существующим сервисам на Go без необходимости использования отдельного языкового стека?
Раньше разработчикам приходилось использовать отдельный стек на Python для агентов. Теперь же, с появлением ADK Go, можно выражать логику агента, оркестрацию и использование инструментов непосредственно в коде Go.
Что такое Agent Development Kit?
Agent Development Kit (ADK) — это фреймворк с открытым исходным кодом для разработки и развёртывания агентов ИИ. Он оптимизирован для Gemini и Google Cloud, но его дизайн не зависит от модели и развёртывания.
На практике ADK предоставляет:
* модель программирования на основе кода, где поведение агента, инструменты и оркестрация находятся в обычных исходных файлах;
* рабочие процессы для последовательного, параллельного и циклического управления потоками внутри агентской системы;
* богатую экосистему инструментов со встроенными инструментами, инструментами для пользовательских функций, инструментами OpenAPI, инструментами Google Cloud и инструментами для экосистемы;
* пути развёртывания, которые охватывают локальные запуски, контейнеры, Cloud Run и Vertex AI Agent Engine;
* встроенные шаблоны оценки и безопасности, интегрированные с Vertex AI Agent Builder.
Для разработчика ADK превращает агента в обычный сервис. Вы запускаете его локально, проверяете трассировки и развёртываете в управляемой среде выполнения, а не рассматриваете его как одноразовый скрипт, который вызывает LLM.
Что добавляет ADK для Go?
Выпуск Go сохраняет тот же набор основных функций, что и SDK для Python и Java, но предоставляет его через идиоматический API Go. Команда Google описывает ADK для Go как идиоматический и производительный способ создания агентов, которые используют параллелизм Go и строгую типизацию.
Основные моменты:
* ADK для Go устанавливается с помощью `go get google.golang.org/adk`.
* Проект имеет открытый исходный код и размещён на `github.com/google/adk-go`.
* Поддерживает создание, оценку и развёртывание сложных агентов ИИ с гибкостью и контролем.
* Использует те же абстракции для агентов, инструментов и рабочих процессов, что и другие языки ADK.
Это означает, что служба Go может внедрять поведение агента без переключения языков. Можно создать мультиагентную архитектуру, где каждый агент является компонентом Go, который взаимодействует с другими с помощью того же фреймворка.
Поддержка протокола A2A в Go
ADK для Go поставляется с встроенной поддержкой протокола Agent2Agent (A2A). Протокол A2A определяет способ вызова агентами других агентов через стандартный интерфейс. В выпуске Go Google подчёркивает, что основной агент может координировать и делегировать задачи специализированным подчинённым агентам. Эти подчинённые агенты могут работать локально или в виде удалённых развёртываний. A2A обеспечивает безопасность и непрозрачность этих взаимодействий, поэтому агенту не нужно раскрывать внутреннюю память или проприетарную логику для участия.
Google также предоставил SDK A2A Go в основной проект A2A. Это даёт разработчикам Go точку входа на уровне протокола, если они хотят, чтобы агенты взаимодействовали с другими средами выполнения и фреймворками, которые также поддерживают A2A.
MCP Toolbox для баз данных и инструментов
Ключевой деталью в официальном анонсе Google является встроенная интеграция с MCP Toolbox для баз данных. В нём говорится, что ADK Go имеет встроенную поддержку более чем 30 баз данных через этот инструментарий.
MCP Toolbox для баз данных — это сервер MCP с открытым исходным кодом для баз данных. Он обрабатывает пулы соединений, аутентификацию и другие задачи, а также предоставляет операции с базами данных в виде инструментов, использующих протокол Model Context.
В ADK это означает:
* вы регистрируете MCP Toolbox для баз данных как поставщика инструментов MCP;
* агент вызывает операции с базами данных через инструменты MCP, а не создаёт необработанный SQL;
* инструментарий обеспечивает набор безопасных предопределённых действий, которые может выполнять агент.
Это соответствует модели инструментов ADK в целом, где агенты используют сочетание встроенных инструментов, инструментов Google Cloud, инструментов экосистемы и инструментов MCP, все они описаны в документации Vertex AI Agent Builder.
Интеграция с Vertex AI Agent Builder и Agent Engine
ADK — это основной фреймворк, поддерживаемый в Vertex AI Agent Builder для создания мультиагентных систем.
Последние обновления Agent Builder описывают путь сборки, где вы:
* разрабатываете агента локально с помощью ADK, включая ADK для Go;
* используете быстрый старт ADK и пользовательский интерфейс разработчика для тестирования агента с несколькими инструментами;
* развёртываете агента в Vertex AI Agent Engine в качестве управляемой среды выполнения.
Для команд Go это означает, что язык, используемый в сервисах и инфраструктуре, теперь доступен на протяжении всего жизненного цикла агента — от локальной разработки до управляемого производственного развёртывания.
Комментарии редакции
Этот запуск позиционирует Agent Development Kit для Go как практичный мост между агентами ИИ и существующими сервисами на Go, используя тот же открытый исходный код, основанный на коде, который лежит в основе агентов Python и Java. Он включает поддержку протокола A2A и MCP Toolbox для баз данных в нативную среду Go, согласованную с Vertex AI Agent Builder и Vertex AI Agent Engine для развёртывания, оценки и наблюдаемости.
В целом, этот выпуск делает Go первоклассным языком для создания готовых к производству, совместимых агентов ИИ в экосистеме Google.
1. Какие преимущества предоставляет ADK Go разработчикам на Go по сравнению с использованием отдельного языкового стека для агентов ИИ?
Ответ: ADK Go позволяет разработчикам на Go создавать мощных агентов ИИ без необходимости использования отдельного языкового стека. Это упрощает процесс разработки и развёртывания агентов, так как поведение агента, оркестрация и использование инструментов могут быть выражены непосредственно в коде Go.
2. Какие основные функции и возможности предоставляет ADK Go для разработчиков?
Ответ: ADK Go предоставляет модель программирования на основе кода, рабочие процессы для управления потоками внутри агентской системы, богатую экосистему инструментов, пути развёртывания и встроенные шаблоны оценки и безопасности. Это позволяет разработчикам создавать, оценивать и развёртывать сложных агентов ИИ с гибкостью и контролем.
3. Как ADK Go поддерживает протокол Agent2Agent (A2A) и какие преимущества это предоставляет разработчикам?
Ответ: ADK Go поставляется с встроенной поддержкой протокола Agent2Agent (A2A), который определяет способ вызова агентами других агентов через стандартный интерфейс. Это позволяет основному агенту координировать и делегировать задачи специализированным подчинённым агентам, обеспечивая безопасность и непрозрачность взаимодействий.
4. Какие инструменты и возможности предоставляет MCP Toolbox для баз данных в контексте ADK Go?
Ответ: MCP Toolbox для баз данных предоставляет более чем 30 базам данных через инструментарий, который обрабатывает пулы соединений, аутентификацию и другие задачи. Это позволяет агентам вызывать операции с базами данных через инструменты MCP, а не создавать необработанный SQL.
5. Как интеграция с Vertex AI Agent Builder и Agent Engine влияет на процесс разработки и развёртывания агентов ИИ с использованием ADK Go?
Ответ: Интеграция с Vertex AI Agent Builder и Agent Engine позволяет разработчикам создавать мультиагентные системы, разрабатывать агентов локально с помощью ADK, включая ADK для Go, использовать быстрый старт ADK и пользовательский интерфейс разработчика для тестирования агента с несколькими инструментами, а затем развёртывать агента в Vertex AI Agent Engine в качестве управляемой среды выполнения.