Elige los componentes de la arquitectura de IA basada en agentes

En este documento, se proporciona orientación para ayudarte a elegir los componentes de arquitectura de tus aplicaciones de IA basadas en agentes en Google Cloud. Describe cómo evaluar las características de tu aplicación y carga de trabajo para elegir un producto o servicio adecuado que se adapte mejor a tus necesidades. El proceso para diseñar una arquitectura de IA basada en agentes es iterativo. Debes reevaluar periódicamente tu arquitectura a medida que cambien las características de tu carga de trabajo, evolucionen tus requisitos o estén disponibles nuevos productos y funciones de Google Cloud .

Los agentes de IA son eficaces para las aplicaciones que resuelven problemas abiertos, lo que podría requerir una toma de decisiones autónoma y una administración compleja de flujos de trabajo de varios pasos. Los agentes son excelentes para resolver problemas en tiempo real con datos externos y para automatizar tareas que requieren mucho conocimiento. Estas capacidades permiten que los agentes proporcionen más valor empresarial que las capacidades asistivas y generativas de un modelo de IA.

Puedes usar agentes de IA para problemas determinísticos con pasos predefinidos. Sin embargo, otros enfoques pueden ser más eficientes y rentables. Por ejemplo, no necesitas un flujo de trabajo basado en agentes para tareas como resumir un documento, traducir texto o clasificar los comentarios de los clientes.

Para obtener información sobre soluciones alternativas de IA no basadas en agentes, consulta los siguientes recursos:

Descripción general de la arquitectura del agente

Un agente es una aplicación que logra un objetivo procesando entradas, razonando con las herramientas disponibles y tomando medidas en función de sus decisiones. Un agente usa un modelo de IA como su motor de razonamiento principal para automatizar tareas complejas. El agente usa un conjunto de herramientas que permiten que el modelo de IA interactúe con sistemas externos y fuentes de datos. Un agente puede usar un sistema de memoria para mantener el contexto y aprender de las interacciones. El objetivo de una arquitectura basada en agentes es crear un sistema autónomo que pueda comprender la intención del usuario, crear un plan de varios pasos y ejecutarlo con las herramientas disponibles.

En el siguiente diagrama, se muestra una descripción general de alto nivel de los componentes de la arquitectura de un sistema basado en agentes:

Componentes de la arquitectura de un sistema basado en agentes.

La arquitectura del sistema agentic incluye los siguientes componentes:

  • Framework de frontend: Es una colección de componentes, bibliotecas y herramientas prediseñados que usas para compilar la interfaz de usuario (IU) de tu aplicación.
  • Framework de desarrollo de agentes: Son los frameworks y las bibliotecas que usas para compilar y estructurar la lógica de tu agente.
  • Herramientas del agente: Es la colección de herramientas, como APIs, servicios y funciones, que recuperan datos y realizan acciones o transacciones.
  • Memoria del agente: Es el sistema que usa tu agente para almacenar y recordar información.
  • Patrones de diseño de agentes: Enfoques arquitectónicos comunes para estructurar tu aplicación basada en agentes.
  • Tiempo de ejecución del agente: Es el entorno de procesamiento en el que se ejecuta la lógica de la aplicación del agente.
  • Modelos de IA: Es el motor de razonamiento principal que potencia las capacidades de toma de decisiones de tu agente.
  • Tiempo de ejecución del modelo: Es la infraestructura que aloja y entrega tu modelo de IA.

En las siguientes secciones, se proporciona un análisis detallado de los componentes para ayudarte a tomar decisiones sobre cómo compilar tu arquitectura. Los componentes que elijas influirán en el rendimiento, la escalabilidad, el costo y la seguridad de tu agente. En este documento, se describen los componentes arquitectónicos esenciales que usas para compilar e implementar la lógica principal de razonamiento y ejecución de un agente. Los temas como los marcos de trabajo de seguridad de la IA responsable y la administración de identidades de agentes no se incluyen en este documento.

Framework de frontend

El framework de frontend es una colección de componentes, bibliotecas y herramientas prediseñados que usas para compilar la IU de tu aplicación basada en agentes. El framework de frontend que elijas definirá los requisitos de tu backend. Una interfaz simple para una demostración interna podría requerir solo una API de HTTP síncrona, mientras que una aplicación de nivel de producción requiere un backend que admita protocolos de transmisión y una administración de estado sólida.

Considera las siguientes categorías de frameworks:

  • Marcos de trabajo de creación de prototipos y herramientas internas: Para el desarrollo rápido, las demostraciones internas y las aplicaciones de prueba de concepto, elige marcos de trabajo que prioricen la experiencia y la velocidad del desarrollador. Por lo general, estos frameworks favorecen un modelo simple y síncrono que se denomina modelo de solicitud-respuesta. Un modelo de solicitud-respuesta te permite compilar una IU funcional con un código mínimo y un backend más simple en comparación con un framework de producción. Este enfoque es ideal para probar rápidamente la lógica del agente y las integraciones de herramientas, pero podría no ser adecuado para aplicaciones públicas altamente escalables que requieren interacciones en tiempo real. Entre los frameworks comunes de esta categoría, se incluyen Mesop y Gradio.
  • Frameworks de producción: Para aplicaciones escalables, responsivas y con muchas funciones para usuarios externos, elige un framework que permita componentes personalizados. Estos frameworks requieren una arquitectura de backend que pueda admitir una experiencia del usuario moderna. Un framework de producción debe incluir compatibilidad con protocolos de transmisión, un diseño de API sin estado y un sistema de memoria externo y sólido para administrar el estado de la conversación en varias sesiones del usuario. Entre los frameworks comunes para las aplicaciones de producción, se incluyen Streamlit, React y el kit de herramientas de IA de Flutter.

Para administrar la comunicación entre estos frameworks y tu agente de IA, puedes usar el protocolo de interacción entre el agente y el usuario (AG-UI). AG-UI es un protocolo abierto que permite que los agentes de IA de backend interactúen con tu framework de frontend. AG-UI le indica al framework de frontend cuándo renderizar la respuesta del agente, actualizar el estado de la aplicación o activar una acción del cliente. Para crear aplicaciones interactivas basadas en IA, combina AG-UI con el Kit de desarrollo de agentes (ADK). Para obtener información sobre el ADK, continúa a la siguiente sección "Frameworks de desarrollo de agentes".

Frameworks de desarrollo de agentes

Los frameworks de desarrollo de agentes son bibliotecas que simplifican el proceso de compilación, prueba e implementación de aplicaciones de IA basadas en agentes. Estas herramientas de desarrollo proporcionan componentes y abstracciones prediseñados para las capacidades principales del agente, incluidos los bucles de razonamiento, la memoria y la integración de herramientas.

Para acelerar el desarrollo de agentes en Google Cloud, te recomendamos que uses el ADK. El ADK es un framework de código abierto, modular y con opiniones que proporciona un alto nivel de abstracción para crear y organizar flujos de trabajo, desde tareas simples hasta sistemas complejos de varios agentes.

El ADK está optimizado para los modelos de Gemini y Google Cloud, pero se creó para que sea compatible con otros frameworks. El ADK admite otros modelos y tiempos de ejecución de IA, por lo que puedes usarlo con cualquier modelo o método de implementación. En el caso de los sistemas multiagente, el ADK admite la interacción a través de estados de sesión compartidos, la delegación basada en modelos para enrutar tareas entre agentes y la invocación explícita que permite que un agente llame a otro agente como una función o herramienta.

Para ayudarte a comenzar rápidamente, el ADK proporciona muestras de código en Python, Java y Go que demuestran una variedad de casos de uso en múltiples industrias. Si bien muchos de estos ejemplos destacan los flujos conversacionales, el ADK también es adecuado para crear agentes autónomos que realizan tareas de backend. Para estos casos de uso no interactivos, elige un patrón de diseño de agente que se destaque por procesar una sola solicitud autónoma y que implemente manejo de errores sólido.

Aunque puedes optar por usar un framework de IA de uso general, como Genkit, te recomendamos que uses el ADK. Genkit proporciona elementos básicos que puedes usar para desarrollar tu propia arquitectura de agentes. Sin embargo, un framework de agentes dedicado, como el ADK, proporciona herramientas más especializadas.

Herramientas para agentes

La capacidad de un agente para interactuar con sistemas externos a través de herramientas define su eficacia. Las herramientas de agentes son funciones o APIs disponibles para el modelo de IA que el agente usa para mejorar el resultado y permitir la automatización de tareas. Cuando conectas un agente de IA a sistemas externos, las herramientas transforman al agente de un simple generador de texto en un sistema que puede automatizar tareas complejas de varios pasos.

Para habilitar las interacciones con herramientas, elige uno de los siguientes patrones de uso de herramientas:

Caso de uso Patrón de uso de la herramienta
Necesitas realizar una tarea común, como completar una búsqueda web, ejecutar un cálculo o ejecutar código, y quieres acelerar el desarrollo inicial. Herramientas integradas
Quieres crear un sistema modular o multiagente que requiera herramientas interoperables y reutilizables. Model Context Protocol (MCP)
Necesitas administrar, proteger y supervisar una gran cantidad de herramientas basadas en APIs a escala empresarial. Tienen una plataforma de administración de APIs.
Necesitas realizar la integración con una API interna o de terceros específica que no tiene un servidor MCP. Herramientas de funciones personalizadas

Cuando selecciones herramientas para tu agente, evalúalas según sus capacidades funcionales y su confiabilidad operativa. Prioriza las herramientas que sean observables, fáciles de depurar y que incluyan un manejo de errores sólido. Estas capacidades ayudan a garantizar que puedas rastrear acciones y resolver fallas rápidamente. Además, evalúa la capacidad del agente para seleccionar la herramienta adecuada y completar con éxito las tareas asignadas.

Herramientas integradas

El ADK proporciona varias herramientas integradas que se integran directamente en el entorno de ejecución del agente. Puedes llamar a estas herramientas como funciones sin configurar protocolos de comunicación externos. Estas herramientas proporcionan funcionalidades comunes, como acceder a información en tiempo real de la Web, ejecutar código de forma programática en un entorno seguro, recuperar información de datos empresariales privados para implementar RAG y, además, interactuar con datos estructurados en bases de datos en la nube. Las herramientas integradas funcionan junto con las herramientas personalizadas que crees.

MCP

Para permitir que los componentes de tu sistema basado en agentes interactúen, debes establecer protocolos de comunicación claros. MCP es un protocolo abierto que proporciona una interfaz estandarizada para que los agentes accedan y usen las herramientas, los datos y otros servicios necesarios.

MCP desacopla la lógica de razonamiento principal del agente de la implementación específica de sus herramientas, de manera similar a como un puerto de hardware estándar permite que diferentes periféricos se conecten a un dispositivo. El MCP simplifica la integración de herramientas porque proporciona una lista cada vez mayor de conectores prediseñados y una forma coherente de crear integraciones personalizadas. La flexibilidad para integrar herramientas promueve la interoperabilidad entre diferentes modelos y herramientas.

Puedes conectarte a un servidor de MCP remoto si hay uno disponible o puedes alojar tu propio servidor de MCP. Cuando alojas tu propio servidor de MCP, tienes control total sobre cómo expones la API propietaria o de terceros a tus agentes. Para alojar tu propio servidor de MCP personalizado, impleméntalo como una aplicación alojada en contenedores en Cloud Run o GKE.

Tienen una plataforma de administración de APIs.

Una plataforma de administración de APIs es un sistema centralizado que te permite proteger, supervisar y controlar servicios internos o externos a través de APIs. Una plataforma de administración de APIs proporciona una ubicación centralizada para catalogar todas las APIs de tu organización, simplifica la forma en que expones los datos y proporciona observabilidad a través de la supervisión del uso.

Para administrar las herramientas basadas en APIs de tu agente a escala empresarial en Google Cloud, te recomendamos que uses el Centro de APIs de Apigee. El concentrador de APIs permite que los agentes se conecten a los datos de forma instantánea a través de llamadas HTTP directas, conectores prediseñados, APIs personalizadas registradas en el concentrador o acceso directo a Google Cloud fuentes de datos. Este enfoque les brinda a tus agentes acceso inmediato a la información que necesitan sin la complejidad de crear canalizaciones personalizadas de integración y carga de datos.

Una plataforma de administración de APIs y un protocolo de comunicación como MCP resuelven diferentes problemas de arquitectura. Un protocolo de comunicación estandariza el formato de interacción entre el agente y la herramienta, lo que garantiza que los componentes sean reutilizables y se puedan intercambiar. Por el contrario, una plataforma de administración de APIs rige el ciclo de vida y la seguridad del extremo de API, y controla tareas como la autenticación, el límite de frecuencia y la supervisión. Estos patrones son complementarios. Por ejemplo, un agente puede usar MCP para comunicarse con una herramienta, y esa herramienta puede ser un extremo de API seguro que el centro de APIs administra y protege.

Herramienta de función personalizada

Una herramienta de función le brinda nuevas capacidades a un agente. Puedes escribir una herramienta de función personalizada para brindarle a tu agente capacidades especializadas, como la integración con una API externa o un sistema empresarial propietario. Escribir una herramienta de función personalizada es el patrón más común para extender las capacidades de un agente más allá de lo que pueden ofrecer las herramientas integradas.

Para crear una herramienta de función personalizada, escribe una función en tu lenguaje de programación preferido y, luego, proporciona una descripción clara en lenguaje natural de su propósito, parámetros y valores de retorno. El modelo del agente usa esta descripción para razonar cuándo se necesita la herramienta, qué entradas proporcionar y cómo interpretar el resultado para completar la solicitud de un usuario.

También puedes crear una herramienta de función personalizada que implemente una función de agente como herramienta. Una función de agente como herramienta expone un agente como una función invocable que otro agente puede invocar. Esta técnica te permite crear sistemas complejos de múltiples agentes en los que un agente puede coordinar y delegar tareas especializadas a otros agentes especializados. Para obtener más información sobre los patrones de diseño de agentes y la coordinación de la orquestación de varios agentes, consulta la sección sobre patrones de diseño de agentes más adelante en este documento.

Memoria del agente

La capacidad de un agente para recordar interacciones anteriores es fundamental para brindar una experiencia de conversación coherente y útil. Para crear agentes con estado y que tengan en cuenta el contexto, debes implementar mecanismos de memoria a corto plazo y memoria a largo plazo. En las siguientes secciones, se exploran las opciones de diseño y los Google Cloudservicios que puedes usar para implementar la memoria a corto y largo plazo de tu agente.

Memoria a corto plazo

La memoria a corto plazo permite que un agente mantenga el contexto dentro de una conversación única y en curso. Para implementar la memoria a corto plazo, debes administrar tanto la sesión como su estado asociado.

  • Sesión: Una sesión es el hilo conversacional entre un usuario y el agente, desde la interacción inicial hasta el final del diálogo.
  • Estado: El estado son los datos que el agente usa y recopila dentro de una sesión específica. Los datos de estado que se recopilan incluyen el historial de mensajes que intercambiaron el usuario y el agente, los resultados de cualquier llamada a herramientas y otras variables que el agente necesita para comprender el contexto de la conversación.

A continuación, se incluyen opciones para implementar la memoria a corto plazo con el ADK:

  • Almacenamiento en memoria: Para el desarrollo, las pruebas o las aplicaciones simples que se ejecutan en una sola instancia, puedes almacenar el estado de la sesión directamente en la memoria de tu aplicación. El agente usa una estructura de datos, como un diccionario o un objeto, para almacenar una lista de pares clave-valor y actualiza estos valores a lo largo de la sesión. Sin embargo, cuando usas el almacenamiento en memoria, el estado de la sesión no es persistente. Si se reinicia la aplicación, se pierde todo el historial de conversaciones.
  • Administración de estados externos: Para las aplicaciones de producción que requieren escalabilidad y confiabilidad, te recomendamos que compiles una aplicación de agente sin estado y administres el estado de la sesión en un servicio de almacenamiento externo. En esta arquitectura, cada vez que la aplicación del agente recibe una solicitud, recupera el estado actual de la conversación del almacén externo, procesa el nuevo turno y, luego, guarda el estado actualizado en el almacén. Este diseño te permite escalar tu aplicación de forma horizontal, ya que cualquier instancia puede atender la solicitud de cualquier usuario. Entre las opciones comunes para la administración de estados externos, se incluyen Memorystore para Redis, Firestore o sesiones de Vertex AI Agent Engine.

Memoria a largo plazo

La memoria a largo plazo proporciona al agente una base de conocimiento persistente que existe en todas las conversaciones para los usuarios individuales. La memoria a largo plazo permite que el agente recupere y use información externa, aprenda de interacciones pasadas y proporcione respuestas más precisas y pertinentes.

A continuación, se muestran opciones para implementar la memoria a largo plazo con el ADK:

  • Almacenamiento en memoria: Para el desarrollo y las pruebas, puedes almacenar el estado de la sesión directamente en la memoria de tu aplicación. Este enfoque es simple de implementar, pero no es persistente. Si se reinicia la aplicación, se pierde el historial de conversaciones. Por lo general, implementas este patrón con un proveedor en memoria dentro de un framework de desarrollo, como InMemoryMemoryService, que se incluye en el ADK para las pruebas.
  • Almacenamiento externo: Para las aplicaciones de producción, administra la base de conocimiento de tu agente en un servicio de almacenamiento externo y persistente. Un servicio de almacenamiento externo garantiza que el conocimiento de tu agente sea duradero, escalable y accesible en varias instancias de la aplicación. Usa Memory Bank para el almacenamiento a largo plazo con cualquier entorno de ejecución de agentes en Google Cloud.

Patrones de diseño de agentes

Los patrones de diseño de agentes son enfoques arquitectónicos comunes para crear aplicaciones basadas en agentes. Estos patrones ofrecen un marco de trabajo distinto para organizar los componentes de un sistema, integrar el modelo de IA y organizar un solo agente o varios para completar un flujo de trabajo. Para determinar qué enfoque es mejor para tu flujo de trabajo, debes tener en cuenta la complejidad y el flujo de trabajo de tus tareas, la latencia, el rendimiento y los requisitos de costos.

Un sistema de un solo agente se basa en las capacidades de razonamiento de un solo modelo para interpretar la solicitud de un usuario, planificar una secuencia de pasos y decidir qué herramientas usar. Este enfoque es un punto de partida eficaz que te permite concentrarte en perfeccionar la lógica principal, las instrucciones y las definiciones de herramientas antes de agregar complejidad arquitectónica. Sin embargo, el rendimiento de un solo agente puede disminuir a medida que las tareas y la cantidad de herramientas aumentan en complejidad.

Para problemas complejos, un sistema multiagente coordina varios agentes especializados para lograr un objetivo que un solo agente no puede administrar fácilmente. Este diseño modular puede mejorar la escalabilidad, la confiabilidad y el mantenimiento del sistema. Sin embargo, también introduce consideraciones adicionales de evaluación, seguridad y costos en comparación con un sistema de un solo agente.

Cuando desarrollas un sistema multiagente, debes implementar controles de acceso precisos para cada agente especializado, diseñar un sistema de organización sólido para garantizar una comunicación confiable entre agentes y administrar los mayores costos operativos derivados de la sobrecarga computacional de ejecutar varios agentes. Para facilitar la comunicación entre agentes, usa el protocolo Agent2Agent (A2A) con el ADK. A2A es un protocolo de estándar abierto que permite que los agentes de IA se comuniquen y colaboren en diferentes plataformas y frameworks, independientemente de sus tecnologías subyacentes.

Para obtener más información sobre los patrones de diseño de agentes comunes y cómo seleccionar un patrón según los requisitos de tu carga de trabajo, consulta Elige un patrón de diseño para tu sistema de agente de IA.

Modelos de IA

Las aplicaciones basadas en agentes dependen de las capacidades de razonamiento y comprensión de un modelo para actuar como el orquestador principal de tareas. Para este rol de agente principal, te recomendamos que uses Gemini Pro.

Los modelos de Google, como Gemini, proporcionan acceso a los modelos propietarios más recientes y potentes a través de una API administrada. Este enfoque es ideal para minimizar la sobrecarga operativa. En cambio, un modelo abierto y autoalojado proporciona el control detallado que se requiere cuando se ajusta con datos propietarios. Las cargas de trabajo con requisitos estrictos de seguridad y residencia de datos también requieren un modelo autoalojado, ya que te permite ejecutar el modelo dentro de tu propia red.

Para mejorar el rendimiento del agente, puedes ajustar las capacidades de razonamiento del modelo. Los modelos, como los más recientes modelos de Gemini Pro y Flash, incluyen un proceso de pensamiento integrado que mejora el razonamiento y la planificación de varios pasos. Para depurar y perfeccionar el modelo, puedes revisar sus resúmenes de pensamiento, o bien las versiones sintetizadas de sus pensamientos internos, para comprender su proceso de razonamiento. Puedes controlar las capacidades de razonamiento del modelo ajustando el presupuesto de pensamiento, o la cantidad de tokens de pensamiento, según la complejidad de la tarea. Un presupuesto de pensamiento más alto permite que el modelo realice un razonamiento y una planificación más detallados antes de proporcionar una respuesta. Un presupuesto de razonamiento más alto puede mejorar la calidad de la respuesta, pero también puede aumentar la latencia y el costo.

Para optimizar el rendimiento y el costo, implementa el enrutamiento de modelos para seleccionar de forma dinámica el modelo más adecuado para cada tarea según su complejidad, costo o requisitos de latencia. Por ejemplo, puedes enrutar solicitudes simples a un modelo de lenguaje pequeño (SLM) para tareas estructuradas, como la generación de código o la clasificación de texto, y reservar un modelo más potente y costoso para el razonamiento complejo. Si implementas el enrutamiento de modelos en tu aplicación basada en agentes, puedes crear un sistema rentable que mantenga un alto rendimiento.

Google Cloud proporciona acceso a una amplia selección de modelos de Google, modelos de socios y modelos abiertos que puedes usar en tu arquitectura de agentes. Para obtener más información sobre los modelos disponibles y cómo elegir uno que se adapte a tus necesidades, consulta Model Garden en Vertex AI.

Tiempo de ejecución del modelo

Un entorno de ejecución del modelo es el entorno que aloja y publica tu modelo de IA, y que pone a disposición de tu agente sus capacidades de razonamiento.

Elige un tiempo de ejecución del modelo

Para seleccionar el mejor tiempo de ejecución cuando alojas tus modelos de IA, usa la siguiente guía:

Caso de uso Tiempo de ejecución del modelo
Necesitas una API completamente administrada para publicar modelos de Gemini, modelos de socios, modelos abiertos o modelos personalizados con seguridad, escalabilidad y herramientas de IA generativa de nivel empresarial. Vertex AI
Necesitas implementar un modelo personalizado o abierto alojado en un contenedor y priorizar la simplicidad sin servidores y la rentabilidad para el tráfico variable. Cloud Run
Necesitas el máximo control sobre la infraestructura para ejecutar un modelo abierto o personalizado alojado en contenedores en hardware especializado, o bien para cumplir con requisitos complejos de seguridad y redes. GKE

En las siguientes secciones, se proporciona una descripción general de los tiempos de ejecución del modelo anteriores, incluidas las funciones clave y las consideraciones de diseño. Este documento se centra en Vertex AI, Cloud Run y GKE. Sin embargo, Google Cloud ofrece otros servicios que puedes considerar para un tiempo de ejecución del modelo:

  • API de Gemini: La API de Gemini está diseñada para desarrolladores que necesitan acceso rápido y directo a los modelos de Gemini sin las funciones de administración empresarial que suelen requerir los sistemas basados en agentes complejos.
  • Compute Engine: Compute Engine es un producto de infraestructura como servicio (IaaS) adecuado para aplicaciones heredadas. Introduce una sobrecarga operativa significativa en comparación con los tiempos de ejecución modernos basados en contenedores.

Para obtener más información sobre las características que distinguen todas las opciones de servicio para los tiempos de ejecución de modelos, consulta Infraestructura de alojamiento de modelos.

Vertex AI

Vertex AI proporciona un entorno completamente administrado y sin servidores que aloja tus modelos de IA. Puedes publicar y ajustar modelos de Google, modelos de socios y modelos abiertos a través de una API segura y escalable. Este enfoque abstrae toda la administración de la infraestructura y te permite enfocarte en integrar la inteligencia del modelo en tus aplicaciones.

Cuando usas Vertex AI como entorno de ejecución del modelo, las funciones y consideraciones clave incluyen lo siguiente:

  • Control de infraestructura: Una API completamente administrada para tus modelos. Google administra la infraestructura subyacente.
  • Seguridad: Los parámetros de configuración de seguridad administrados y las certificaciones de cumplimiento estándar son suficientes para tus necesidades. Para brindar protección a las instrucciones y respuestas, y garantizar prácticas de IA responsable, puedes integrar Model Armor en Vertex AI.
  • Disponibilidad de modelos: Acceso a una amplia selección de modelos, incluidos los modelos de Gemini más recientes, a través de una API administrada
  • Costo: Modelo de precios de pago por uso que se ajusta según el tráfico de tu aplicación. Para obtener más información, consulta Costo de crear y, luego, implementar modelos de IA en Vertex AI.

Cloud Run

Cloud Run proporciona un tiempo de ejecución sin servidores que aloja tus modelos dentro de contenedores personalizados. Cloud Run ofrece un equilibrio entre la simplicidad completamente administrada de Vertex AI y el control profundo de la infraestructura de GKE. Este enfoque es ideal cuando necesitas la flexibilidad para ejecutar tu modelo en un entorno de contenedores sin administrar servidores ni clústeres.

Cuando usas Cloud Run como entorno de ejecución del modelo, las funciones y consideraciones clave incluyen lo siguiente:

  • Control de la infraestructura: Ejecuta cualquier modelo en un contenedor personalizado, lo que proporciona un control total sobre el entorno de software, mientras que la plataforma administra la infraestructura sin servidores subyacente.
  • Seguridad: Proporciona seguridad a través de instancias de procesamiento efímeras y aisladas, y permite conexiones seguras a recursos privados con la salida de VPC directa o un conector de Acceso a VPC sin servidores. Para obtener más información, consulta Redes privadas y Cloud Run.
  • Disponibilidad del modelo: Entrega modelos abiertos, como Gemma, o tus propios modelos personalizados. No puedes alojar ni entregar modelos de Gemini en Cloud Run.
  • Costo: Cuenta con un modelo de precios de pago por uso basado en solicitudes que se ajusta a cero, lo que lo hace muy rentable para modelos con tráfico esporádico o variable. Para obtener más información, consulta los precios de Cloud Run.

GKE

GKE proporciona el mayor control y flexibilidad para alojar tus modelos de IA. Para usar este enfoque, debes ejecutar tus modelos en contenedores en un clúster de GKE que configures y administres. GKE es la opción ideal cuando necesitas ejecutar modelos en hardware especializado, colocarlos junto con tus aplicaciones para minimizar la latencia o requieres un control detallado sobre cada aspecto del entorno de entrega.

Cuando usas GKE como entorno de ejecución del modelo, las funciones y consideraciones clave incluyen lo siguiente:

  • Control de la infraestructura: Proporciona el máximo control detallado sobre todo el entorno de entrega, incluidas las configuraciones de nodos, los aceleradores de máquinas especializadas y el software específico de entrega de modelos.
  • Seguridad: Permite el nivel más alto de seguridad y aislamiento de datos, ya que te permite ejecutar modelos completamente dentro de tu red y aplicar políticas de seguridad detalladas de Kubernetes. Para filtrar el tráfico hacia y desde un clúster de GKE, y proteger todas las interacciones con los modelos de IA, puedes integrar Model Armor con GKE .
  • Disponibilidad del modelo: Entrega modelos abiertos, como Gemma, o tus propios modelos personalizados. No puedes alojar ni entregar modelos de Gemini en GKE.
  • Costo: Cuenta con un modelo de costos basado en los recursos de procesamiento y clúster subyacentes que consumes, lo que lo hace altamente optimizado para cargas de trabajo predecibles y de gran volumen cuando usas descuentos por compromiso de uso (CUD). Para obtener más información, consulta los precios de Google Kubernetes Engine.

Entorno de ejecución de agentes

Para alojar e implementar tu aplicación basada en agentes, debes elegir un entorno de ejecución de agentes. Este servicio ejecuta el código de tu aplicación, es decir, la lógica empresarial y la orquestación que escribes cuando usas un framework de desarrollo de agentes. Desde este entorno de ejecución, tu aplicación realiza llamadas a la API de los modelos que aloja y administra el entorno de ejecución del modelo que elegiste.

Elige un tiempo de ejecución del agente

Para seleccionar el tiempo de ejecución cuando alojes tus agentes de IA, sigue estas indicaciones:

Caso de uso Entorno de ejecución de agentes
Tu aplicación es un agente de Python y requiere una experiencia completamente administrada con una sobrecarga operativa mínima. Vertex AI Agent Engine
Tu aplicación está alojada en un contenedor y requiere un escalamiento sin servidores controlado por eventos con flexibilidad de lenguaje. Cloud Run
Tu aplicación está alojada en contenedores, tiene requisitos complejos con estado y necesita una configuración detallada de la infraestructura. GKE

Si ya administras aplicaciones en Cloud Run o en GKE, puedes acelerar el desarrollo y simplificar las operaciones a largo plazo usando la misma plataforma para tu carga de trabajo basada en agentes.

En las siguientes secciones, se proporciona una descripción general de cada entorno de ejecución del agente, incluidas las funciones clave y las consideraciones de diseño.

Vertex AI Agent Engine

Vertex AI Agent Engine es un entorno de ejecución completamente administrado y basado en opiniones que puedes usar para implementar, operar y escalar aplicaciones basadas en agentes. Vertex AI Agent Engine abstrae la infraestructura subyacente, lo que te permite enfocarte en la lógica del agente en lugar de las operaciones.

A continuación, se indican las funciones y consideraciones de Vertex AI Agent Engine:

  • Flexibilidad del lenguaje y el framework de programación: Desarrolla agentes en Python con cualquiera de los frameworks compatibles.
  • Protocolos de comunicación: Coordina agentes y herramientas que usan MCP y A2A. Vertex AI Agent Engine administra de manera eficiente el tiempo de ejecución de estos componentes, pero no admite el hosting de servidores de MCP personalizados.
  • Memoria: Proporciona capacidades de memoria administrada integradas, lo que elimina la necesidad de configurar bases de datos externas para la memoria principal del agente.
    Requisito Opciones disponibles
    Memoria a corto plazo Sesiones de Vertex AI Agent Engine
    Memoria a largo plazo Memory Bank
    Búsqueda y recuperación de bases de datos
  • Escalabilidad: Se ajusta automáticamente para satisfacer las demandas de tu carga de trabajo basada en agentes, lo que elimina la necesidad de realizar una configuración manual. Vertex AI Agent Engine se basa en Cloud Run y usa el ajuste de escala de instancias integrado de Cloud Run para proporcionar este ajuste de escala automático.
  • Observabilidad: Proporciona registro, supervisión y seguimiento integrados a través de los servicios de Google Cloud Observability.
  • Seguridad: Proporciona la siguiente confiabilidad, escalabilidad y cumplimiento a nivel empresarial:

    Para obtener información sobre las funciones de seguridad de Vertex AI Agent Engine, consulta Seguridad empresarial.

Vertex AI Agent Engine acelera la ruta de producción porque proporciona un entorno administrado y creado específicamente que controla muchos aspectos complejos cuando operas agentes, como la administración del ciclo de vida y el contexto. Vertex AI Agent Engine es menos adecuado para los casos de uso que requieren una personalización extensa del entorno de procesamiento o que requieren lenguajes de programación distintos de Python. Para las cargas de trabajo que tienen requisitos de seguridad estrictos para la administración de dependencias privadas, Cloud Run y GKE ofrecen una ruta de configuración más directa basada en IAM.

Cloud Run

Cloud Run es una plataforma sin servidores completamente administrada que te permite ejecutar el código de tu aplicación de agente en un contenedor sin estado. Cloud Run es ideal cuando deseas implementar toda la aplicación del agente, componentes individuales o herramientas personalizadas como extremos HTTP escalables sin necesidad de administrar la infraestructura subyacente.

A continuación, se indican las funciones y consideraciones de Cloud Run:

Cloud Run ofrece una gran simplicidad operativa y rentabilidad, ya que elimina la administración de la infraestructura. Sin embargo, la naturaleza sin estado de Cloud Run requiere que uses un servicio de almacenamiento para administrar el contexto en un flujo de trabajo de varios pasos. Además, el tiempo de espera máximo de las solicitudes para los servicios de Cloud Run es de hasta una hora, lo que podría limitar las tareas de agentes de larga duración.

GKE

Google Kubernetes Engine (GKE) es un servicio administrado de organización de contenedores que proporciona un control detallado sobre la arquitectura y la infraestructura de tu aplicación basada en agentes. GKE es adecuado para sistemas basados en agentes complejos que requieren capacidades sólidas y aptas para la producción, o si ya eres cliente de GKE y deseas implementar un flujo de trabajo basado en agentes sobre tu aplicación existente.

A continuación, se indican las funciones y consideraciones disponibles en GKE:

GKE proporciona el máximo control y flexibilidad, lo que te permite ejecutar agentes complejos con estado. Sin embargo, este control introduce una sobrecarga operativa y una complejidad significativas. Debes configurar y administrar el clúster de Kubernetes, incluidos los grupos de nodos, las redes y las políticas de escalamiento, lo que requiere más experiencia y esfuerzo de desarrollo que una plataforma sin servidores.

¿Qué sigue?

Colaboradores

Autora: Samantha He | Escritora técnica

Otros colaboradores: