- Framework de código abierto para el diseño de agentes de IA sofisticados y escalables.
- Soporte nativo para ejecución local en dispositivos Android mediante Gemini Nano.
- Capacidad de orquestar sistemas multiagente combinando modelos en la nube y locales.
- Ecosistema flexible que permite integrar herramientas personalizadas y estándares MCP.
Si te mola el mundo de la inteligencia artificial y programas en Kotlin, prepárate porque el Agent Development Kit (ADK) ha llegado para poner las cosas interesantes. Básicamente, es un kit de herramientas de código abierto que te permite diseñar agentes de IA con un control total, ya sea para que corran en tu propio ordenador, en la nube de Google Cloud o directamente en el móvil de un usuario.
Lo más potente de este framework es que apuesta por un enfoque «code-first». Olvídate de configuraciones tediosas en interfaces externas; aquí defines el comportamiento, la lógica de orquestación y el uso de herramientas directamente en el código, lo que hace que depurar y versionar tus agentes sea un paseo comparado con otros métodos.
Implementación en el Ecosistema Android
Llevar la IA al dispositivo móvil es donde el ADK realmente saca los músculos. Gracias a que ofrece dependencias optimizadas para el entorno Android, puedes crear experiencias que priorizan la privacidad y tienen una latencia bajísima, ya que no dependen de una conexión constante a internet.
Para ponerte manos a la obra, necesitas tener Android Studio y un SDK de Android actualizado (mínimo compileSdk 34 y minSdk 24). En el archivo de configuración de Gradle, deberás añadir la librería google-adk-kotlin-core-android y el procesador de anotaciones KSP. Un detalle importante es que no debes mezclar la dependencia de Android con la de JVM, pues la versión móvil ya incluye todo lo necesario y la compatibilidad específica con los modelos del dispositivo.

A la hora de definir el agente, la sintaxis es muy intuitiva. Se utilizan anotaciones como @Tool y @Param para indicar qué capacidades tiene el agente. Por ejemplo, puedes crear un servicio que dé la hora actual en una ciudad y vincularlo a un LlmAgent configurado con un modelo como Gemini Flash. Eso sí, ten mucho ojo con la seguridad: jamás metas las claves de API directamente en el código de la app cliente; lo ideal es usar un backend propio o Firebase AI Logic para no exponer tus credenciales al mundo.
Para ejecutar el agente dentro de una actividad o ViewModel de Android, se utiliza el InMemoryRunner. Este componente permite recopilar las respuestas del agente mediante corrutinas de Kotlin, facilitando la actualización de la interfaz de usuario en tiempo real mientras el agente procesa la solicitud del usuario.
Gemini Nano y Modelos Locales
Una de las joyas de la corona es la integración con Gemini Nano a través de las APIs de ML Kit. En lugar de llamar a un modelo remoto, puedes usar la clase GenaiPrompt para que la inferencia se haga íntegramente en el dispositivo. Esto es oro puro para apps que manejan datos sensibles o que deben funcionar en modo avión.
Lo más curioso es que puedes jugar a ser un arquitecto de IA y montar sistemas multiagente. Imagina un esquema donde un modelo potente basado en la nube actúa como cerebro orquestador y delega las tareas más privadas o rápidas a subagentes locales que corren en el dispositivo. Esta estructura permite escalar verticalmente desde una utilidad sencilla hasta una aplicación compleja de varios agentes.
Desarrollo en JVM y Herramientas Avanzadas
Si no estás desarrollando para Android, el ADK también brilla en la JVM. Para empezar, solo requieres Java 17 y Gradle 8.0. El flujo es similar: defines tu agente y utilizas el ReplRunner para interactuar con él desde la consola o, si prefieres algo más visual, puedes levantar el AdkWebServer para probar todo en una interfaz de chat web en el puerto 8080.
En cuanto a las capacidades, el ADK no se limita a generar texto. Las herramientas (Tools) permiten que el agente interactúe con el mundo real. Existen las Function Tools, que son funciones locales, y el soporte para servidores MCP (Model Context Protocol), lo que amplía enormemente el abanico de acciones que el agente puede ejecutar.
Para quienes buscan máxima eficiencia, existen implementaciones avanzadas que integran CodeGraph para navegar por el grafo de llamadas del código, reduciendo drásticamente el consumo de tokens durante la exploración. Además, la posibilidad de usar diversos proveedores de LLM (como OpenAI, Anthropic u Ollama) hace que el framework sea extremadamente versátil y no dependa exclusivamente de un solo ecosistema.
El Agent Development Kit para Kotlin se posiciona como una solución robusta que unifica la potencia de los modelos de lenguaje con la flexibilidad de Kotlin, permitiendo desde prototipos rápidos en JVM hasta despliegues complejos y privados en Android mediante Gemini Nano y una gestión inteligente de herramientas y multiagentes.