Що змінює ADK for Kotlin 1.0 для розробників, що створюють AI-агентів?
Google випустив версію 1.0 Agent Development Kit для Kotlin. Фреймворк дозволяє писати AI-агентів, які працюють на Android, серверах або обох платформах одночасно — без переписування основної логіки.
Мультиплатформне ядро, яке не навязує модель
Agent Development Kit для Kotlin 1.0 поставляється як бібліотека Kotlin Multiplatform. Тому однаковий код оркестрації компілюється для JVM і Android. Підтримка розширюється на будь-які інші цілі KMP. Ядро залишається нейтральним до вибору великої мовної моделі, сховища сесій чи способу збереження пам'яті. Ви підключаєте Vertex AI або Firebase AI Logic. Також доступний локальний бекенд LiteRT-LM — просто замінюєте реалізацію моделі. У оголошенні зазначено повну функціональну парність з ADK 1.0 Core для Python і Java. Ієрархічна багатоагентна делегування працює ідентично. Стиснення контексту та відновлення сесій теж не змінюються між мовами.
KSP генерує схеми виклику функцій під час компіляції. Коли ви анотуєте suspend-функцію @Tool, а її параметри — @Param, процесор створює функцію-розширення generatedTools(), що повертає типобезпечні визначення. Рефлексія не виконується під час виконання. Той самий механізм формує схеми для Java-викликів, тому існуючі Java-сервіси можуть викликати Kotlin-агентів безпосередньо.
Android-розширення, інтегровані в платформне сховище
Реліз додає три сервіси, орієнтовані на Android, які реалізують стандартні інтерфейси ADK. RoomSessionService записує історію діалогів у локальну базу SQLite, тому чати виживають після завершення процесу та перезавантажень. AppSearchMemoryService індексує пам'ять агента через AndroidX AppSearch для повнотекстового пошуку на пристрої. FileArtifactService зберігає згенеровані файли у зовнішній директорії додатка. Усі три створюються з Context за один рядок кожен.
Локальний інференс доступний через два опціональні модулі. google-adk-kotlin-litertlm обгортає LiteRT-LM для запуску моделей на пристрої. google-adk-kotlin-mlkit-android (бета) інтегрує ML Kit для задач типу розпізнавання тексту чи сканування штрих-кодів, які агенти викликають як інструменти. Firebase-модуль з'єднує той самий код агента з хмарними моделями через FirebaseAI.getInstance().
Людське підтвердження, вбудоване в контракт інструмента
Чутливі дії призупиняють виконання, доки користувач не схвалить. Анотуйте інструмент requireConfirmation = true — фреймворк згенерує синтетичний виклик функції з ім'ям REQUEST_CONFIRMATION_FUNCTION_CALL_NAME. Ваш UI перехоплює цю подію та показує діалог. Потім відправляє назад FunctionResponse з ToolConfirmation.CONFIRMED_KEY, встановленим у true. Ранер потім відновлює роботу і виконує оригінальний інструмент. Приклад фінансового помічника демонструє повний цикл: користувач просить переказ, агент паузує, UI підтверджує, переказ виконується.
Навички (skills) зберігаються у Markdown-файлах під src/main/resources/skills/. Кожна навичка оголошує свою назву та опис. Також перелічує імена інструментів, які може використовувати. SkillToolset завантажує їх за запитом — прогресивне розкриття тримає споживання токенів низьким, бо модель отримує тіло навички та її допоміжні активи лише тоді, коли плейбук цього вимагає. Агент для інцидентів з базою даних завантажує SOP триажу та запускає діагностику. Далі корелює нещодавній деплой і надсилає рекомендацію про відкат у чат-канал — жоден з цих кроків не жорстко закодований у Kotlin.
Підключення артефактів у Gradle-проект
Додайте ядро та KSP-процесор у build.gradle.kts:
dependencies {
implementation("com.google.adk:google-adk-kotlin-core:1.0.0")
ksp("com.google.adk:google-adk-kotlin-processor:1.0.0")
}
Опціональні Android-розширення підключають власні артефакти:
implementation("com.google.adk:google-adk-kotlin-mlkit-android:1.0.0-beta")
implementation("com.google.adk:google-adk-kotlin-litertlm:1.0.0")
implementation("com.google.adk:google-adk-kotlin-firebase-android:1.0.0")
Репозиторій за адресою github.com/google/adk-kotlin містить приклади для серверних агентів і Android-агентів. Окремо винесено приклад Java-інтеропу. Документація доступна за adk.dev.
Що мітка 1.0 не гарантує
Оголошення позначає загальну доступність API-поверхні. Воно не обіцяє зворотну сумісність далі стандартного семантичного версіонування. Також не сертифікує on-device-модулі для регульованих середовищ. Приклад фінансового помічника містить явний дисклеймер: він не розроблений для відповідності вимогам комплаєнсу. Продуктивні показники on-device-інференсу, вплив на батарею чи холодний старт у реліз-нотах не опубліковані.
Джерела, за якими написано статтю
- "Google Developers Blog
https://developers.googleblog.com/announcing-adk-for-kotlin-10-building-production-ready-ai-agents-in-kotlin-android-and-beyond/"