Google выпускает ADK Go: новый фреймворк с открытым исходным кодом для разработчиков на Go

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 в качестве управляемой среды выполнения.

Источник