Технологии

GitHub выпускает SDK для Copilot на Java для разработки независимых от фреймворков ИИ-агентов

GitHub представила библиотеку Copilot SDK for Java, которая позволяет серверным Java-приложениям создавать сессии агентов Copilot, регистрировать инструменты, отправлять запросы и получать структурированные ответы. В настоящее время библиотека доступна в виде предварительной версии и поддерживает среды Jakarta EE и Spring, а также вариант BYOK.

2026-08-10
3 мин. чтения
17 просмотров
فريق تحرير certi.news
GitHub выпускает SDK для Copilot на Java для разработки независимых от фреймворков ИИ-агентов

GitHub объявила о выпуске Copilot SDK for Java — клиентской библиотеки, которая позволяет серверным Java-приложениям программно управлять агентами Copilot: создавать сессии агентов, регистрировать инструменты, отправлять запросы и получать структурированные ответы. GitHub заявляет, что библиотека разработана независимой от Java-фреймворков и также поддерживает вариант BYOK, благодаря чему не привязана к одному поставщику ИИ.

Библиотека предназначена для Java-разработчиков корпоративных приложений и работает в серверных средах, включая Jakarta EE и Spring. Она использует знакомые Java-разработчикам механизмы, такие как CompletableFuture, аннотации, лямбда-выражения и виртуальные потоки, вместо навязывания подхода, связанного с определённым фреймворком.

Доступность и требования

В настоящее время библиотека доступна как зависимость Maven версии 1.0.7-preview.1. Для её использования требуется следующее:

  • JDK 17 или JDK 25; для использования виртуальных потоков и других современных возможностей рекомендуется JDK 25.
  • Maven 3.9 или более поздней версии.
  • Учётная запись GitHub с активной подпиской Copilot.
  • Локально установленный Copilot CLI версии 1.0.71 или более поздней.

В публикации GitHub представлен полноценный пример приложения на базе Jakarta EE 11, а также исходный код для экспериментов. Компания также подчёркивает, что разработчики могут создавать собственных агентов, используя выбранные ими Java-фреймворки и библиотеки.

Пример приложения для управления запросами на недвижимость

В примере используется приложение для управления потенциальными клиентами в сфере недвижимости. Когда клиент отправляет запрос, например ищет дом с тремя спальнями в Лондоне стоимостью менее 800 тысяч фунтов стерлингов, система создаёт изолированного агента Copilot в виртуальном потоке для обработки запроса в рамках определённого рабочего процесса.

Приложение использует Jakarta WebSocket для отправки обновлений состояния в реальном времени с сервера в браузер, позволяя отслеживать ход работы агентов во время вызова ими инструментов. Можно также отправлять несколько запросов одновременно, при этом каждый запрос обрабатывается независимо в собственной сессии Copilot.

Определение и управление инструментами

Библиотека предоставляет интерфейс @CopilotTool для определения инструментов, которые может вызывать модель. Разработчик определяет обычный метод Java, а библиотека создаёт JSON-схему, анализирует аргументы и распределяет вызов. Для описания каждого аргумента можно использовать @CopilotToolParam, чтобы модель знала требуемое значение.

Этот интерфейс аннотаций в настоящее время является экспериментальным, поэтому экспериментальные интерфейсы SDK необходимо включить с помощью опции компилятора -Acopilot.experimental.allowed=true, а также зарегистрировать библиотеку в пути обработчиков аннотаций в конфигурации Maven. Обработчик создаёт метаданные инструментов во время сборки.

Помимо аннотаций, инструменты можно определять непосредственно в месте использования с помощью лямбда-выражения и ToolDefinition.from(...). Это позволяет создать инструмент без отдельного метода, а параметр overridesBuiltInTool(true) предоставляет возможность заменить встроенный инструмент пользовательским поведением. Инструменты также можно размещать в классах, отделённых от логики агента, а затем регистрировать с помощью ToolDefinition.fromObject.

Сообщения и рабочий процесс агента

SDK позволяет настраивать системное сообщение с помощью SystemMessageMode.CUSTOMIZE, заменяя определённые разделы и сохраняя остальную часть сообщения, включая защитные механизмы. Также предусмотрен режим APPEND для добавления содержимого к системному сообщению по умолчанию без его замены.

Полный рабочий процесс агента запускается через sendAndWait(...). После отправки запроса модель может рассуждать и несколько раз вызывать зарегистрированные инструменты, а затем вернуть итоговый результат; библиотека при этом передаёт результаты работы инструментов модели до завершения задачи. Виртуальные потоки позволяют ожидать результат с помощью get() без расходования обычного потока во время ожидания. Кроме того, session.on(...) позволяет обрабатывать события, поступающие от сессии.

Источник новости
ف
Автор

فريق تحرير certi.news

В той же категории

Вам также может понравиться

Все новости