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.
Utilice sesiones aisladas para los agentes
Amazon Bedrock AgentCore Runtime le permite aislar cada sesión de usuario y reutilizar el contexto de forma segura en varias invocaciones de una sesión de usuario. El aislamiento de la sesión es fundamental para las cargas de trabajo de los agentes de IA debido a sus características operativas únicas:
-
Separación completa del entorno de ejecución: cada sesión de usuario en AgentCore Runtime recibe su propia microVM dedicada con recursos informáticos, de memoria y de sistema de archivos aislados. Esto evita que el agente de un usuario acceda a los datos de otro usuario. Una vez finalizada la sesión, se cierra toda la microVM y se limpia la memoria para eliminar todos los datos de la sesión, lo que elimina los riesgos de contaminación entre sesiones.
-
Procesos de razonamiento basados en estados: a diferencia de las funciones sin estado, los agentes de IA mantienen un estado contextual complejo durante todo su ciclo de ejecución, más allá del simple historial de mensajes para conversaciones de varios turnos. AgentCore Runtime preserva este estado de forma segura dentro de una sesión y, al mismo tiempo, garantiza un aislamiento total entre los diferentes usuarios, lo que permite personalizar las experiencias de los agentes sin comprometer los límites de los datos.
-
Operaciones con herramientas privilegiadas: los agentes de IA realizan operaciones privilegiadas en nombre de los usuarios a través de herramientas integradas que acceden a varios recursos. AgentCore El modelo de aislamiento de Runtime garantiza que las operaciones de estas herramientas mantengan los contextos de seguridad adecuados y evita que se compartan credenciales o se escalen los permisos entre diferentes sesiones de usuario.
-
Seguridad determinista para procesos no deterministas: el comportamiento de los agentes de IA puede ser no determinista debido a la naturaleza probabilística de los modelos básicos. AgentCore El tiempo de ejecución proporciona límites de aislamiento consistentes y deterministas, independientemente de los patrones de ejecución de los agentes, lo que proporciona las propiedades de seguridad predecibles necesarias para las implementaciones empresariales.
nota
AgentCore no impone la asignación de sesión a usuario: el backend de su cliente debe mantener la relación entre los usuarios y sus ID de sesión. Además, el backend de su cliente debe implementar una lógica para la administración del ciclo de vida de usuario a sesión, como el número máximo de sesiones por usuario. Para obtener una guía completa sobre el aislamiento de sesiones, consulta las prácticas recomendadas de seguridad para AgentCore Runtime.
Temas
Comprender el contexto efímero
De forma predeterminada, el procesamiento (microVM) asociado a una sesión es efímero. Los datos almacenados en la memoria o escritos en el disco solo se conservan durante el ciclo de vida de la computación. Esto incluye el historial de conversaciones, las preferencias del usuario, los resultados de los cálculos intermedios y cualquier otra información sobre el estado que mantenga su agente.
Para conservar los datos del sistema de archivos a lo largo de stop/resume los ciclos de sesión, configure el almacenamiento de sesiones, un directorio persistente que sobrevive a la finalización del proceso. Consulta Configuraciones del sistema de archivos para Runtime AgentCore .
Para los datos estructurados que deben conservarse más allá de la duración de la sesión (como el historial de conversaciones de los usuarios, las preferencias aprendidas o los datos importantes), usa AgentCore Memory. Este servicio proporciona un almacenamiento persistente diseñado específicamente para las cargas de trabajo de los agentes, con capacidades de memoria a corto y largo plazo.
Conversaciones ampliadas y flujos de trabajo de varios pasos
A diferencia de las funciones tradicionales sin servidor que finalizan después de cada solicitud, AgentCore admite sesiones aisladas respaldadas por cómputos efímeros. Las sesiones duran hasta 8 horas para cada ciclo de vida en las micromáquinas virtuales o hasta 14 días en las instancias. Con estas sesiones, puede crear flujos de trabajo agenciales de varios pasos y realizar varias llamadas al mismo entorno, y cada invocación se basa en el contexto de las interacciones anteriores. Puedes utilizarlos tanto InvokeAgentRuntime para el razonamiento de los agentes como para la ejecución determinista de comandos de shell en la misma sesión. InvokeAgentRuntimeCommand
AgentCore Ciclo de vida de una sesión
Creación de sesiones
La primera vez que se invoca se crea una sesión nueva, con un tiempo de ejecución único SessionId proporcionado por la aplicación. AgentCore Runtime proporciona un entorno de ejecución dedicado (microVM) para cada sesión. El contexto se conserva entre las invocaciones a la misma sesión. Ambas InvokeAgentRuntime InvokeAgentRuntimeCommand funcionan en la misma sesión: un comando ve el mismo contenedor, sistema de archivos y entorno que el agente.
Estados de sesión
El estado de la sesión viene determinado por el ciclo de vida de la computación y puede ser uno de los siguientes:
-
Activa: se procesa una solicitud de sincronización, se ejecuta un comando o se realizan tareas en segundo plano. La actividad de invocación de sincronización y ejecución de comandos se rastrea automáticamente en función de las invocaciones a una sesión en tiempo de ejecución. Las tareas en segundo plano se comunican mediante el código del agente al responder con el estado HealthyBusy "» en los pings.
-
Inactivo: cuando no se procesa ninguna solicitud o tarea en segundo plano. La sesión ha terminado de procesarse, pero sigue disponible para futuras invocaciones.
-
Detenido: el procesamiento (microVM) aprovisionado para la sesión ha finalizado y la sesión se ha detenido. Esto puede ocurrir debido a la inactividad (15 minutos por defecto), por haber alcanzado la duración máxima de la computación (por defecto, 8 horas), por una interrupción explícita al invocar la StopRuntimeSession API o si, según las comprobaciones de estado, se considera que el procesamiento no está en buen estado. La sesión vuelve a estar activa en la siguiente invocación y se aprovisiona un nuevo proceso con la misma configuración de ciclo de vida (es decir, inactiva RuntimeSessionTimeout y con una duración máxima de 8 horas). La sesión en sí misma sigue siendo válida hasta que se elimine el ARN en AgentCore tiempo de ejecución. Si el tiempo de ejecución está configurado con almacenamiento de sesión, los datos del sistema de archivos de la ruta de montaje configurada se conservan durante varios stop/resume ciclos. Consulte Configuraciones del sistema de archivos para AgentCore Runtime.
nota
Mientras el servicio aprovisiona o interrumpe una sesión, una segunda operación dirigida a esa misma sesión devuelve un HTTP 409 RetryableConflictException () Session operation in progress, please retry que se puede volver a intentar. Esta ventana es breve. Already-running las sesiones no se ven afectadas. Vuelva a intentarlo con un breve retroceso exponencial.
Cómo usar las sesiones
Para usar las sesiones de manera eficaz:
-
Genere un identificador de sesión único para cada usuario o conversación con al menos 33 caracteres
-
Pase el mismo ID de sesión para todas las invocaciones relacionadas
-
Usa diferentes ID de sesión para diferentes usuarios o conversaciones
Ejemplo de uso de sesiones para una conversación
# First message in a conversation response1 = agent_core_client.InvokeAgentRuntime( agentRuntimeArn=agent_arn, runtimeSessionId="user-123456-conversation-12345678", # or uuid.uuid4() payload=json.dumps({"prompt": "Tell me about AWS"}).encode() ) # Follow-up message in the same conversation reuses the runtimeSessionId. response2 = agent_core_client.InvokeAgentRuntime( agentRuntimeArn=agent_arn, runtimeSessionId="user-123456-conversation-12345678", # or uuid.uuid4() payload=json.dumps({"prompt": "How does it compare to other cloud providers"}).encode() )
Al usar el mismo tiempo de ejecución SessionId para las invocaciones relacionadas, te aseguras de mantener el contexto durante toda la conversación, lo que permite al agente proporcionar respuestas coherentes que se basen en las interacciones anteriores.
Encabezados de sesión por protocolo
Al invocar a los agentes, incluya el encabezado de sesión adecuado para garantizar que las solicitudes se dirijan a la misma microVM. El encabezado depende del protocolo configurado por el agente:
| Protocolo | Encabezado de sesión |
|---|---|
|
MCP |
|
|
HTTP |
|
|
A2A |
|
|
AG-UI |
|
Resistencia de la microVM: Amazon Bedrock AgentCore usa el encabezado de la sesión para dirigir las solicitudes a la misma instancia de microVM. Los clientes deben capturar el ID de sesión devuelto en la respuesta e incluirlo en todas las solicitudes posteriores para garantizar la afinidad de la sesión. Sin un identificador de sesión uniforme, cada solicitud puede enrutarse a una microVM nueva, lo que puede provocar una latencia adicional debido a los inicios en frío.
Para obtener información específica sobre el protocolo MCP, incluidos los modos sin estado y con estado, consulte Administración de sesiones de MCP y rigidez de microVM.