View a markdown version of this page

MicroVM - Base amazónica AgentCore

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

MicroVM

Amazon Bedrock AgentCore Runtime gestiona el escalado, la administración de sesiones, el aislamiento de la seguridad y la administración de la infraestructura, lo que le permite centrarse en crear experiencias de agentes inteligentes en lugar de en la complejidad operativa. Al aprovechar las funciones y capacidades que se describen aquí, puede crear, implementar y administrar agentes de inteligencia artificial sofisticados que aporten valor a sus usuarios y, al mismo tiempo, ayuden a mantener la seguridad y la confiabilidad de nivel empresarial.

Componentes principales

AgentCore Tiempo de ejecución

El AgentCore tiempo de ejecución es el componente fundamental que aloja el código de su agente o herramienta de IA. Representa una aplicación en contenedores que procesa las entradas de los usuarios, mantiene el contexto y ejecuta acciones utilizando las capacidades de la IA. Cuando creas un agente, defines su comportamiento, sus capacidades y las herramientas a las que puede acceder. Por ejemplo, un agente de atención al cliente puede responder a las preguntas sobre los productos, procesar las devoluciones y remitir los problemas complejos a representantes humanos.

Puedes crear e implementar agentes en AgentCore Runtime mediante la AgentCore CLI, el SDK de AgentCore Python o directamente mediante AWS los SDK. Con el SDK de AgentCore Python, puede definir su agente utilizando marcos populares como CrewAI o LangGraph Strands Agents. El SDK gestiona las complejidades de la infraestructura, lo que le permite centrarse en la lógica y las capacidades del agente.

Cada tiempo AgentCore de ejecución:

  • Tiene una identidad única

  • Está versionado para permitir la implementación y las actualizaciones controladas

Versiones

Cada AgentCore Runtime mantiene versiones inmutables que capturan una instantánea completa de la configuración en un momento específico:

  • Al crear un AgentCore Runtime, la versión 1 (V1) se crea automáticamente

  • Cada actualización de la configuración (imagen del contenedor, configuración de protocolo, configuración de red) crea una nueva versión

  • Cada versión contiene toda la configuración necesaria para la ejecución

Este sistema de control de versiones proporciona un historial de implementación confiable y capacidades de reversión.

Puntos de conexión

Los terminales proporcionan puntos de acceso direccionables a versiones específicas de tu Runtime. AgentCore Cada punto final:

  • Tiene un ARN único para la invocación

  • Hace referencia a una versión específica de su Agent Runtime

  • Proporciona un acceso estable a su agente incluso mientras actualiza las implementaciones

Detalles clave de los terminales:

  • El punto final «PREDETERMINADO» se crea automáticamente al llamar CreateAgentRuntime y apunta a la versión más reciente

  • Cuando actualizas tu AgentCore Runtime, se crea una nueva versión, pero el DEFAULT punto final se actualiza automáticamente para hacer referencia a ella

  • Puedes crear puntos finales personalizados con la CreateAgentRuntimeEndpoint operación para diferentes entornos (desarrollo, prueba, producción)

  • Cuando un usuario hace una solicitud a un punto final, la solicitud se resuelve en la versión específica del agente a la que hace referencia ese punto final

Los puntos finales tienen distintos estados de ciclo de vida:

  • CREATING- Estado inicial durante la creación del punto final

  • CREATE_FAILED- Indica un error de creación debido a los permisos u otros problemas

  • READY- El terminal está operativo y acepta solicitudes

  • UPDATING- El punto final se está modificando para hacer referencia a una nueva versión

  • UPDATE_FAILED- Indica un error en la operación de actualización

Puede actualizar los terminales sin tiempo de inactividad, lo que permite realizar transiciones y versiones anteriores de las versiones sin problemas.

Sesiones

Las sesiones representan contextos de interacción individuales entre los usuarios y tu Runtime. AgentCore Cada sesión:

  • Se identifica mediante un código único runtimeSessionId proporcionado por la aplicación, o por el propio Runtime en la primera invocación si runtimeSessionId se deja vacío

  • Se ejecuta en una microVM dedicada con recursos de CPU, memoria y sistema de archivos completamente aislados

  • Preserva el contexto en varias interacciones dentro de la misma conversación

  • Puede durar hasta 8 horas de tiempo total de ejecución

Los estados de sesión incluyen:

  • Activo: se está procesando una solicitud o ejecutando tareas en segundo plano

  • Inactivo: no se procesa ninguna solicitud, pero se mantiene el contexto mientras se espera la próxima interacción

  • Finalizada: la sesión finalizó por inactividad (15 minutos), alcanzó su vida útil máxima (8 horas) o se consideró que no estaba en buen estado

Características importantes de la sesión:

  • Una vez finalizada la sesión, se cierra toda la microVM y se desinfecta la memoria

  • Una solicitud posterior con la misma solicitud runtimeSessionId tras la finalización creará un nuevo entorno de ejecución

  • El aislamiento de la sesión evita la contaminación de los datos entre sesiones y garantiza la seguridad

  • El estado de la sesión es efímero y no se debe utilizar para garantizar una mayor durabilidad a largo plazo (utilice la AgentCore memoria para garantizar la durabilidad del contexto)

Este aislamiento total entre sesiones es crucial para la seguridad empresarial, especialmente cuando se trata de procesos de IA no deterministas.

Versiones de la plataforma

Una versión de plataforma controla la forma en que AgentCore Runtime inicia su agente. La configuras con el platformVersion campo (V1oV2) en el tiempo de ejecución de cada agente. La versión 1 es la predeterminada. La versión de la plataforma se aplica al propio tiempo de ejecución del agente; es independiente de las versiones de tiempo de ejecución que capturan el historial de configuración.

Amazon Bedrock AgentCore Runtime V2 inicia el agente a partir de una instantánea, lo que permite que los arranques en frío sean rápidos y consistentes independientemente de la concurrencia o del tamaño de la imagen. AgentCore Runtime prepara el entorno una vez, toma una instantánea del mismo y, a continuación, restaura esa instantánea para cada nueva instancia en lugar de inicializar el entorno cada vez que se inicia.

Arranques en frío constantes

La V2 mantiene constante la latencia de arranque en frío independientemente de la concurrencia o el tamaño de la imagen, ya que cada instancia restaura una instantánea preparada en lugar de inicializar el entorno. Esto es especialmente importante en el caso de las imágenes de contenedores de gran tamaño, que de lo contrario tardarían en cargarse cada vez que se arrancan en frío.

Menor costo para los agentes que siempre están activos o que trabajan en ráfagas

La versión 2 cobra en función de lo que su agente utilice activamente. AgentCore Runtime recupera memoria a medida que el agente la libera y reduce la sobrecarga de la plataforma.

nota

La restauración a partir de una instantánea cambia la forma en que se estructura el código del agente. Para obtener información sobre cómo optimizar su agente y aprovechar al máximo la versión V2 de la plataforma, consulte Optimizar su agente para AgentCore Runtime V2.

Regiones admitidas

La V2 está disponible en las siguientes AWS regiones:

  • Este de EE. UU. (Virginia del Norte), us-east-1

  • Este de EE. UU. (Ohio), us-east-2

  • Oeste de EE. UU. (Oregón), us-west-2

  • Europa (Irlanda), eu-west-1

  • Asia Pacífico (Tokio), ap-northeast-1

Habilitar V2

Usted establece la versión de la plataforma para el tiempo de ejecución de cada agente. Configúrala al crear un tiempo de ejecución o actualiza un tiempo de ejecución existente para moverlo entre las versiones de la plataforma. Si lo omites platformVersion al crear un tiempo de ejecución, el tiempo de ejecución usa la V1. Si la omites al actualizar un motor de ejecución, este conserva su versión actual de la plataforma.

ejemplo
AWS Management Console
  1. Abra la AgentCore consola de Amazon Bedrock y seleccione Runtime.

  2. En la página Runtime, seleccione Create Runtime.

  3. Introduzca un nombre para el agente o la herramienta.

  4. Para el tipo de procesamiento, elija MicroVMS.

  5. En Agent/tool Fuente, elige el tipo de fuente y proporciona el artefacto, como la URI de la imagen del contenedor o tu código.

  6. Para la versión de plataforma, elige V2.

  7. (Opcional) Configure la autenticación entrante, las configuraciones avanzadas y los permisos , como la función de ejecución de IAM y la clave de cifrado de KMS.

  8. Elige Crear tiempo de ejecución. AgentCore crea la versión 1 del tiempo de ejecución del agente y un DEFAULT punto final que apunta a ella.

AWS CLI
  1. Se establece --platform-version V2 en el create-agent-runtime comando.

    aws bedrock-agentcore-control create-agent-runtime \ --agent-runtime-name "my-agent" \ --role-arn "arn:aws:iam::111122223333:role/AgentExecutionRole" \ --agent-runtime-artifact '{ "containerConfiguration": { "containerUri": "111122223333.dkr.ecr.us-west-2.amazonaws.com/my-agent:latest" } }' \ --network-configuration '{"networkMode": "PUBLIC"}' \ --platform-version V2
  2. Para confirmar la versión de la plataforma, llameget-agent-runtime.

    aws bedrock-agentcore-control get-agent-runtime \ --agent-runtime-id my-agent-ABCDE12345 \ --query platformVersion
AWS SDK
  1. En el siguiente ejemplo, se usa boto3 para crear un agente en tiempo de ejecución en la V2.

    import boto3 client = boto3.client("bedrock-agentcore-control", region_name="us-west-2") client.create_agent_runtime( agentRuntimeName="my-agent", roleArn="arn:aws:iam::111122223333:role/AgentExecutionRole", agentRuntimeArtifact={ "containerConfiguration": { "containerUri": "111122223333.dkr.ecr.us-west-2.amazonaws.com/my-agent:latest" } }, networkConfiguration={"networkMode": "PUBLIC"}, platformVersion="V2", )
  2. La create_agent_runtime respuesta no se devuelve. platformVersion Llama get_agent_runtime para confirmarlo.

Qué esperar

Una operación de creación o actualización de la versión 2 prepara y captura instantáneas del entorno, por lo que se comporta de forma diferente a la de la versión 1.

Crear y actualizar lleva unos minutos

En la versión 1, el tiempo de ejecución llega READY en segundos. En la versión 2, la preparación de la instantánea conlleva un coste único y la creación y la actualización se ejecutan durante varios minutos antes de que llegue el tiempo de ejecuciónREADY.

El contenedor debe estar en buen estado en un plazo de 120 segundos

AgentCore Runtime toma la instantánea de la primera /ping respuesta correcta. Informe sobre el estado /ping únicamente después de que se complete la inicialización, de modo que la instantánea capture un agente completamente inicializado. Si el tiempo de ejecución no indica que está en buen estado 120 segundos después del inicio, se produce un error en la creación y se produce un error de comprobación del estado.

Encuesta para conocer el estado de una terminal

Las update operaciones create y se devuelven mientras el tiempo de ejecución aún está en ejecución CREATING oUPDATING. Si llamas update o delete antes de que el tiempo de ejecución alcance un estado terminal, se devuelve la operaciónConflictException. Sondea get_agent_runtime hasta que el estado sea READY o termine enFAILED, y espera varios minutos para que llegue el tiempo de ejecución de la versión 2READY.

import time def wait_until_ready(client, agent_runtime_id): while True: status = client.get_agent_runtime(agentRuntimeId=agent_runtime_id)["status"] if status == "READY" or status.endswith("FAILED"): return status time.sleep(5)
nota

Actualmente, la V2 limita el tamaño total de las variables de entorno de su agente a 1,5 KB para las implementaciones directas de código y a 2,5 KB para los agentes contenedores, en comparación con los 4 KB de la V1. Si su configuración supera este límite, la solicitud fallará con unValidationException. AgentCore El tiempo de ejecución aumentará este límite para que coincida con la versión 1.

Ciclo de vida de las instantáneas

En la versión 2, AgentCore Runtime administra una instantánea para cada versión de tiempo de ejecución a la que apunta un punto final. Las instantáneas no se crean ni se eliminan directamente. Hacen un seguimiento de los cambios en el tiempo de ejecución y en los terminales.

Creado

AgentCore Runtime prepara una instantánea cuando un punto final apunta a una versión. Al crear un motor de ejecución, AgentCore Runtime aloja su versión en el punto final predeterminado y prepara su instantánea. Un tiempo de ejecución puede tener más de un punto final que apunta a diferentes versiones, por lo que un tiempo de ejecución puede tener más de una instantánea a la vez.

Actualizado

Cuando actualizas un tiempo de AgentCore ejecución, Runtime aloja la nueva versión en el punto final predeterminado y prepara una nueva instantánea. Ya no se hace referencia a la versión alojada anteriormente, por lo que AgentCore Runtime marca su instantánea para eliminarla y la elimina una vez finalizadas las sesiones existentes.

Deleted (Eliminado)

AgentCore Runtime elimina una instantánea cuando ningún punto final apunta a ella. Esto ocurre cuando actualizas un tiempo de ejecución, eliminas la referencia de un punto final a una versión o eliminas el tiempo de ejecución o un punto final de tiempo de ejecución. La eliminación puede tardar hasta 8 horas, que es la duración máxima de la sesión, porque las sesiones que ya se están ejecutando en la instantánea continúan hasta que finalizan.

Infraestructura como código

AWS CloudFormation y el AWS CDK no admite actualmente esta configuraciónplatformVersion.

Autenticación y seguridad

La autenticación entrante controla quién puede acceder a tus agentes mediante la gestión de AWS identidades y accesos u OAuth 2.0, y valida los tokens portadores de los proveedores de identidad antes de permitir que se procesen las solicitudes. La autenticación saliente permite a tus agentes acceder de forma segura a servicios de terceros mediante claves de OAuth o de API, y las credenciales de gestión de la AgentCore identidad se pueden gestionar de forma autónoma o delegada por el usuario. Para obtener más información, consulte Autenticación y autorización con autenticación entrante y autenticación saliente.

Autenticación entrante

La autenticación entrante, con tecnología de AgentCore Identity, controla quién puede acceder a tus agentes o herramientas e invocarlos en Runtime. AgentCore

Métodos de autenticación

  • AWS IAM (SIGv4): usa credenciales para verificar la identidad AWS

  • OAuth 2.0: se integra con proveedores de identidad externos

Opciones de configuración de OAuth

  • URL de descubrimiento: el punto final de descubrimiento de OpenID Connect de su proveedor de identidad

  • Audiencias permitidas: lista de valores de audiencia válidos que deben contener tus tokens

  • Clientes permitidos: lista de identificadores de clientes que pueden acceder a este agente

Flujo de autenticación

  1. Los usuarios finales se autentican con su proveedor de identidad (Amazon Cognito, Okta, Microsoft Entra ID)

  2. Tu aplicación cliente recibe un token de portador después de una autenticación satisfactoria

  3. El cliente pasa este token al encabezado de autorización al invocar al agente

  4. AgentCore Runtime valida el token con el servidor de autorización

  5. Si es válida, la solicitud se procesa; si no es válida, se rechaza

Esto garantiza que solo los usuarios autenticados con la autorización adecuada puedan acceder a sus agentes.

Autenticación saliente

La autenticación saliente, con tecnología de Amazon Bedrock AgentCore Identity, permite a los agentes alojados en AgentCore Runtime acceder de forma segura a servicios de terceros:

Métodos de autenticación

  • OAuth: para los servicios que admiten los flujos de OAuth

  • Claves de API: para servicios que utilizan la autenticación basada en claves

Modos de autenticación

  • User-delegated: Actuar en nombre del usuario final con sus credenciales

  • Autónomo: actuar de forma independiente con credenciales de nivel de servicio

Servicios admitidos

  • Sistemas empresariales como Slack, Zoom y GitHub

  • AWS servicios

  • API y fuentes de datos personalizadas

AgentCore Identity administra estas credenciales de forma segura, lo que evita que queden expuestas en el código o los registros de su agente.

Características adicionales

Proceso asíncrono

AgentCore Runtime admite cargas de trabajo de larga duración a través de:

  • Gestión de tareas en segundo plano para operaciones que superan los ciclos request/response

  • Seguimiento automático del estado a través del /ping terminal

  • Soporte para operaciones de hasta 8 horas de duración

Para obtener más información, consulte Gestionar agentes asincrónicos y de larga duración con Amazon Bedrock Runtime. AgentCore

Respuestas de transmisión

Los agentes pueden transmitir los resultados parciales a medida que estén disponibles, en lugar de esperar a que se procesen por completo. Esto le permite brindar una experiencia de usuario con mayor capacidad de respuesta, especialmente para las operaciones que generan grandes cantidades de contenido o que requieren mucho tiempo para completarse. Para obtener más información, consulta las respuestas de los agentes de Stream.

WebSocket API

El AgentCore Runtime WebSocket admite conexiones de streaming bidireccionales en tiempo real para la comunicación interactiva con los agentes. Esto permite que los agentes tengan experiencias más interactivas y con mayor capacidad de respuesta. Para obtener más información, consulte Cómo empezar a utilizar WebSocket la transmisión bidireccional.

Compatibilidad del protocolo

AgentCore Runtime admite varios protocolos de comunicación:

Descripción general de la implementación

A continuación, te explicamos cómo empezar a usar AgentCore Runtime. Para ver el ejemplo completo, consulta Cómo empezar con la AgentCore CLI.

Prepare el código de su agente o herramienta

  • Defina la lógica de su agente mediante cualquier marco de IA o código personalizado

  • Agregue los puntos de enlace HTTP necesarios mediante el AgentCore SDK o la implementación personalizada

  • Dependencias de paquetes en un archivo requirements.txt

Implemente su agente o herramienta

  • Cree e inserte una imagen de contenedor en Amazon ECR directamente o mediante el SDK AgentCore

  • Cree un AgentCore motor de ejecución con la imagen del contenedor

  • La versión inicial (V1) y el punto final DEFAULT se crean automáticamente

Invoca a tu agente o herramienta

Gestione y observe las sesiones y realice actualizaciones

  • Use el mismo ID de sesión para las interacciones de seguimiento a fin de mantener el contexto

  • Revisa los registros, los seguimientos y las métricas de observabilidad

  • Implemente las actualizaciones modificando su AgentCore tiempo de ejecución (crea nuevas versiones)

  • Controle la implementación actualizando los puntos finales para que apunten a las nuevas versiones