Los flujos de trabajo de agentes de ML Kit (com.google.mlkit:genai-agent, versión alfa) te permiten crear experiencias de conversación autónomas y de varios turnos integradas en el dispositivo con la tecnología de Gemini Nano y el servicio del sistema Android AICore.
Creada sobre la clase GenerativeModel (acceso directo al modelo),
la clase AgentRunner automatiza bucles de agentes completos y orientados a objetivos
directamente en tu app: observa el contexto, razona sobre las entradas del usuario, actúa
a través de herramientas de Kotlin con tipo y evalúa los comentarios hasta que se cumpla una
condición de finalización.
Patrones de agentes comunes
Los flujos de trabajo de agentes integrados en el dispositivo están optimizados para bucles de razonamiento determinísticos y enfocados, en los que la intención del usuario se traduce en acciones estructuradas de la app. Entre los patrones comunes, se incluyen los siguientes:
Patrón |
Ejemplo |
Ejecución de acciones en la aplicación y accesos directos |
Traducir solicitudes en lenguaje natural en comandos específicos de la app, como aplicar ajustes de fotos en un lienzo de edición, modificar la configuración de reproducción o activar o desactivar las preferencias de la app |
Búsqueda estructurada y cálculo local |
Recuperar un registro específico por ID (como un estado de pedido o un saldo de cuenta) y realizar cálculos matemáticos de varios pasos (como amortizaciones de préstamos o métricas de estado físico). |
Filtro y selección conversacionales |
Consultar y definir mejor de forma interactiva los elementos de la app local, como buscar en una lista de tareas local, filtrar una playlist o ordenar los elementos del catálogo según los criterios del usuario |
Entrada guiada de varios pasos |
Guía a los usuarios paso a paso por la entrada de datos estructurados y valida las entradas intermedias con herramientas locales antes del envío final. |
Rendimiento y privacidad integrados en el dispositivo
Los flujos de trabajo de agentes se ejecutan en Android AICore para ofrecer una ejecución privada y responsiva directamente en el dispositivo del usuario:
- Razonamiento local y privacidad de las instrucciones: El bucle de razonamiento y planificación del modelo se ejecuta por completo integrado en el dispositivo con cero latencia de red. Los datos de las instrucciones del usuario permanecen privados en el dispositivo. Sin embargo, las herramientas individuales implementadas en tu app pueden realizar llamadas de red o consultar APIs de Cloud si tu caso de uso requiere datos externos.
- Sesiones de varios turnos administradas: La interfaz de
AgentSessionmantiene el historial de conversaciones en la memoria en todos los turnos para que no tengas que administrar las transcripciones de forma manual. Puedes recuperar memoria en cualquier momento con los métodossession.close(),deleteSession(sessionId)oclearAllSessions(). - Barreras de seguridad de ejecución: Los parámetros de configuración del agente aplican un límite máximo de turnos
(el límite de
maxTurns, que se establece de forma predeterminada en 10) como una condición de finalización de recursos para evitar bucles de ejecución descontrolados, conservar la batería y proteger la capacidad de respuesta del dispositivo.
Elige entre la generación personalizada, los agentes y las APIs específicas para tareas
El ML Kit organiza las funciones de IA generativa integradas en el dispositivo según el nivel de personalización y organización que necesita tu función:
- Generación y agentes personalizados: Trabaja directamente con el modelo de base de Gemini Nano cuando tu función requiera instrucciones personalizadas o lógica específica del dominio. Elige flujos de trabajo de agentes (con la clase
AgentRunner, compilada sobre la claseGenerativeModel) cuando quieras sesiones de varios turnos administradas y bucles de llamadas a herramientas automatizados, o elige acceso directo al modelo (con la claseGenerativeModel) para instrucciones personalizadas, resultados estructurados con tipo o historial de varios turnos administrado por el cliente. - Voz y audio: Usa modelos de IA generativa y de voz dedicados (como el reconocimiento de voz) para transcribir audio hablado a texto.
- Tareas de texto y de imagen: Usa tipos de atributos preconfigurados y específicos de la tarea, y adaptadores de LoRA ajustados sobre el modelo base compartido (como Descripción de la imagen, Resumen, Revisión de texto y Reescritura) para casos de uso de visión y escritura listos para usar sin ingeniería de instrucciones.
En la siguiente tabla, se describe cómo se comparan estos enfoques:
Consideración |
Flujos de trabajo de agentes ( |
Acceso directo al modelo ( |
APIs de tareas de texto y de imagen |
Arquitectura |
Es una capa de organización de alto nivel compilada sobre
|
Es una interfaz directa al modelo de base de Gemini Nano para instrucciones personalizadas. |
Tipos de atributos específicos de la tarea respaldados por adaptadores de LoRA ajustados sobre el modelo base compartido. |
Contexto de varios turnos |
Sesiones de varios turnos administradas ( |
Contexto de varios turnos administrado por el cliente.
|
Llamadas de tareas sin estado y de entrada única. |
Llamadas a herramientas y acciones |
Bucle de llamada a herramientas automatizado. Descubre las AppFunctions de Android registradas, ejecuta las llamadas seleccionadas por el modelo y devuelve los resultados al modelo automáticamente. |
Declaraciones de herramientas administradas por el cliente.
|
No aplicable (canalización de tareas fija). |
Cuándo debe utilizarse |
Úsala cuando quieras una organización automatizada para la ejecución de herramientas de varios pasos y sesiones de varios turnos administradas en la memoria. |
Úsala para instrucciones personalizadas, comprensión de imágenes multimodales, resultados estructurados escritos ( |
Úsala cuando tu función coincida con una tarea de escritura o visión estándar y quieras obtener una calidad lista para usar de LoRA ajustadas con una configuración mínima. |
Próximos pasos
- Para configurar tu proyecto y crear tu primer agente, consulta Comienza a usar los flujos de trabajo de agentes.
- Para aprender a exponer funciones de la app al agente, consulta Define herramientas.
- Para administrar sesiones de varios turnos y la memoria en los ciclos de vida de Android, consulta Administra sesiones y el ciclo de vida.
- Para recopilar respuestas de transmisión y actualizar tu IU, consulta Eventos de transmisión y la integración de la IU.