Puedes conectar agentes del Kit de desarrollo de agentes (ADK) a Cloud Storage para darles acceso a las cargas de trabajo de agentes a los datos almacenados y a los conjuntos de herramientas integrados del ADK. Esta integración te permite conservar el estado, la memoria y los puntos de control para tareas de larga duración, y compartir archivos intermedios en flujos de trabajo de varios agentes.
Para obtener instrucciones de configuración y ejemplos de código, consulta la guía de integración del ADK.
Beneficios de la integración de Cloud Storage con ADK
Cuando integras Cloud Storage con tus agentes, estos pueden controlar archivos grandes, mantener el historial de conversaciones y reutilizar tu infraestructura de almacenamiento existente.
- Expansión dinámica del contexto: Brinda a los agentes acceso a grandes conjuntos de datos, manuales o archivos multimedia sin alcanzar los límites de la cantidad de información que un LLM puede leer a la vez.
- Persistencia de artefactos duraderos: Almacena archivos temporales, registros o elementos generados (como informes o imágenes) de forma confiable fuera del historial de conversaciones.
- Compatibilidad con cualquier tipo de artefacto: Procesa y genera diferentes formatos, incluidos texto, imágenes, audio y video, con Cloud Storage como almacenamiento compartido.
- Control de acceso detallado: Controla el acceso de los agentes a Cloud Storage con precisión a través de los roles de IAM. ADK usa la autenticación estándar de Google Cloud para garantizar que los agentes solo tengan los permisos mínimos necesarios para acceder a los datos o realizar una tarea.
Casos de uso
Si equipas a tus agentes con las funciones de Cloud Storage, puedes abordar los siguientes casos de uso:
- Recuperación dinámica de contexto, también conocida como generación aumentada por recuperación (RAG)
- Persistencia y archivado de artefactos
- Procesamiento de cargas útiles grandes
- Administración automatizada de recursos
Recuperación dinámica de contexto a través de RAG
Los agentes pueden actuar como investigadores, ya que descubren y leen documentos en Cloud Storage para responder preguntas en tiempo real. Este enfoque es útil para bases de conocimiento internas o bots de asistencia.
- Búsqueda de políticas: Puedes hacer que un agente enumere y lea los manuales en PDF más recientes en un bucket de
compliance-docspara responder las consultas de los usuarios sobre la política de la empresa. - Síntesis de varios objetos: Puedes crear un agente para recuperar y combinar información de varios objetos de almacenamiento para sintetizar un resumen unificado.
Persistencia y archivado de artefactos
Guarda grandes cantidades de datos generados por agentes de forma confiable para la revisión humana, otros sistemas o la auditoría.
- Informes automatizados: Puedes crear un agente que analice las métricas de la base de datos, genere un informe resumido y lo suba a un bucket de
reports-archive. - Almacenar contenido multimedia generado: Puedes configurar un sistema multiagente para guardar imágenes creadas con tecnología generativa o objetos de audio generados en Cloud Storage y devolver solo el URI de almacenamiento o una URL firmada.
Procesamiento de cargas útiles grandes
Diseña agentes para que usen URIs de almacenamiento (rutas de acceso de archivos) en lugar de pegar el contenido completo de los archivos en el chat. Esto evita el alto costo y la ineficiencia de enviar grandes archivos CSV o bases de código al LLM.
- Controladores de canalización de datos: Puedes hacer que tu agente reciba un URI de almacenamiento en lugar de consumir un archivo CSV grande. Luego, el agente puede realizar un análisis procesando fragmentos o inspeccionando metadatos y devolver un panel de resumen.
- Flujos de trabajo desacoplados: Puedes diseñar un agente para que actúe como supervisor que reciba un URI de almacenamiento para un prefijo, una carpeta o un bucket de Cloud Storage. El agente puede pasar este URI a los trabajadores de backend para que procesen los objetos y escriban los resultados finales en el almacenamiento. Este patrón es compatible con servicios controlados por eventos, como Cloud Run Functions o Cloud Run, para procesar datos de forma asíncrona.
Administración automatizada de recursos
Los agentes pueden ayudar a optimizar el uso del almacenamiento, automatizar las tareas administrativas y aplicar la administración en varios buckets. Esto es particularmente útil para los equipos que administran una infraestructura de almacenamiento extensa.
- Auditoría de infraestructura: Puedes crear un agente para analizar las configuraciones de bucket (como la ubicación o la clase de almacenamiento) y sugerir optimizaciones o identificar parámetros de configuración que no cumplan con los requisitos.
- Limpieza de recursos: Puedes crear un agente para identificar buckets vacíos o inactivos, y automatizar el proceso de limpieza según tus políticas de retención.
Conjuntos de herramientas del ADK para Cloud Storage
El ADK proporciona los siguientes conjuntos de herramientas en Python para Cloud Storage. Comprender ambos te ayuda a definir los roles de los agentes y restringir sus permisos.
GCSToolset para la administración de datos
El conjunto de herramientas GCSToolset permite que tu agente manipule archivos dentro de buckets existentes. Úsala para tareas como leer documentos, subir resultados o borrar objetos temporales.
- Leer objetos: Recupera contenido directamente con
get_object_data. - Descubre contenido: Enumera los objetos disponibles con
list_objects. - Inspecciona las propiedades de los objetos: Verifica el tamaño de los objetos o los metadatos de
Content-Typeconget_object_metadata. - Sube y conserva: Crea objetos nuevos con
create_object. - Quita objetos: Quita objetos temporales con
delete_objects.
GCSAdminToolset para la infraestructura
Usa el conjunto de herramientas de GCSAdminToolset para administrar la infraestructura de almacenamiento, como crear buckets o automatizar tareas administrativas.
- Descubre la infraestructura: Enumera los buckets de un proyecto con
list_buckets. - Aprovisiona almacenamiento: Crea buckets nuevos con
create_bucket. - Vuelve a configurar el almacenamiento: Modifica los parámetros de configuración con
update_bucket. - Desaprovisiona el almacenamiento: Quita los buckets con
delete_bucket. - Inspecciona el contexto del bucket: Obtén metadatos del bucket con
get_bucketpara verificar la ubicación, la clase de almacenamiento o los controles de acceso del bucket.
Prácticas recomendadas
Para optimizar el rendimiento y la seguridad del agente cuando se integra en Cloud Storage, ten en cuenta las siguientes prácticas recomendadas:
- Desvincula las cargas útiles grandes del historial de conversaciones: Evita pasar archivos grandes directamente al agente. En su lugar, almacénalos en Cloud Storage y envía referencias de archivos (URIs). Esto reduce los costos de los tokens y evita que se alcancen los límites de contexto.
- Aplica el principio de privilegio mínimo: Otorga al agente solo los permisos mínimos necesarios para realizar sus tareas. Evita los roles amplios como
roles/storage.admin, a menos que administres la infraestructura. Para las operaciones de archivo estándar, usa roles específicos, comoroles/storage.objectUseroroles/storage.objectViewer, restringidos a buckets específicos. - Administra las configuraciones de forma centralizada: Evita codificar los nombres de bucket o las rutas de acceso de los nombres de los objetos en la lógica de tu agente. Usa variables de entorno o administradores de configuración para alternar entre los entornos de almacenamiento de desarrollo, prueba y producción.
- Implementa estrategias de recuperación eficientes: Cuando uses Cloud Storage como capa para la recuperación de conocimientos, no cargues documentos grandes completos en el contexto del agente. Procesa previamente y divide los documentos, o usa herramientas de búsqueda dedicadas para recuperar solo los segmentos relevantes.
Limitaciones
Cuando integres Cloud Storage con ADK, ten en cuenta las siguientes limitaciones:
- Objetos inmutables: Los objetos de Cloud Storage son inmutables. No puedes agregar datos a un objeto existente. Si tu agente necesita registrar eventos de forma continua en un solo archivo, debe reemplazar el objeto por completo o crear varios objetos pequeños y componerlos más adelante.
- Latencia en la administración de estados de alta frecuencia: Cloud Storage es ideal para el almacenamiento de artefactos duraderos y cargas útiles grandes. Sin embargo, usar Cloud Storage para actualizaciones de estado de alta frecuencia y baja latencia puede generar latencia. Por ejemplo, hacer un seguimiento de cada turno en un intercambio de conversación rápido puede ser más lento que usar cachés o bases de datos en la memoria.
- Falta de atomicidad de varios objetos: Las operaciones de Cloud Storage se aplican a objetos individuales. Si tu agente requiere actualizaciones atómicas en varios archivos de forma simultánea, debes implementar la lógica de coordinación en tu aplicación.
¿Qué sigue?
- Para ver ejemplos de código detallados, instrucciones de configuración y referencias de parámetros para inicializar los conjuntos de herramientas de Cloud Storage en tu aplicación de Python, consulta la guía de integración del ADK.
- Para usar las habilidades de agentes precompiladas con tus agentes de ADK o asistentes de programación de IA, consulta Habilidades de agentes de Cloud Storage.