Comment ça marche
Amazon Bedrock AgentCore Runtime gère le dimensionnement, la gestion des sessions, l'isolation de sécurité et la gestion de l'infrastructure, ce qui vous permet de vous concentrer sur la création d'expériences intelligentes pour les agents plutôt que sur la complexité opérationnelle. En tirant parti des fonctionnalités et des capacités décrites ici, vous pouvez créer, déployer et gérer des agents d'intelligence artificielle sophistiqués qui apportent de la valeur à vos utilisateurs tout en garantissant une sécurité et une fiabilité de niveau entreprise.
Rubriques
Composants clés
AgentCore Durée d'exécution
Un AgentCore Runtime est le composant de base qui héberge le code de votre agent ou outil d'IA. Il représente une application conteneurisée qui traite les entrées des utilisateurs, gère le contexte et exécute des actions à l'aide des fonctionnalités de l'IA. Lorsque vous créez un agent, vous définissez son comportement, ses fonctionnalités et les outils auxquels il peut accéder. Par exemple, un agent du support client peut répondre aux questions sur les produits, traiter les retours et transmettre des problèmes complexes à des représentants humains.
Vous pouvez créer et déployer des agents dans AgentCore Runtime à l'aide de la AgentCore CLI, du SDK AgentCore Python ou directement via les AWS SDK. Avec le SDK AgentCore Python, vous pouvez définir votre agent à l'aide de frameworks populaires tels que LangGraph CrewAI ou Strands Agents. Le SDK gère les complexités de l'infrastructure, ce qui vous permet de vous concentrer sur la logique et les capacités de l'agent.
Chaque AgentCore exécution :
-
Possède une identité unique
-
Versionné pour prendre en charge le déploiement contrôlé et les mises à jour
Versions
Chaque AgentCore environnement d'exécution gère des versions immuables qui capturent un instantané complet de la configuration à un moment précis :
-
Lorsque vous créez un AgentCore Runtime, la version 1 (V1) est automatiquement créée
-
Chaque mise à jour de configuration (image du conteneur, paramètres de protocole, paramètres réseau) crée une nouvelle version
-
Chaque version contient toutes les configurations nécessaires à l'exécution
Ce système de gestion des versions fournit un historique de déploiement fiable et des fonctionnalités de restauration.
Points de terminaison
Les points de terminaison fournissent des points d'accès adressables à des versions spécifiques de votre AgentCore environnement d'exécution. Chaque point final :
-
Possède un ARN unique pour l'invocation
-
Fait référence à une version spécifique de votre Agent Runtime
-
Fournit un accès stable à votre agent même lorsque vous mettez à jour les implémentations
Détails clés du point de terminaison :
-
Le point de terminaison « DEFAULT » est automatiquement créé lorsque vous appelez CreateAgentRuntimeet pointe vers la dernière version
-
Lorsque vous mettez à jour votre AgentCore Runtime, une nouvelle version est créée mais le
DEFAULTpoint de terminaison se met automatiquement à jour pour y faire référence -
Vous pouvez créer des points de terminaison personnalisés avec l'CreateAgentRuntimeEndpointopération pour différents environnements (dev, test, prod)
-
Lorsqu'un utilisateur fait une demande à un point de terminaison, la demande est résolue selon la version d'agent spécifique référencée par ce point de terminaison
Les terminaux ont des états de cycle de vie distincts :
-
CREATING- État initial lors de la création du terminal -
CREATE_FAILED- Indique un échec de création dû à des autorisations ou à d'autres problèmes -
READY- Le point de terminaison est opérationnel et accepte les demandes -
UPDATING- Le point de terminaison est en cours de modification pour faire référence à une nouvelle version -
UPDATE_FAILED- Indique l'échec de la mise à jour
Vous pouvez mettre à jour les terminaux sans interruption de service, ce qui permet des transitions de version et des annulations fluides.
Séances
Les sessions représentent des contextes d'interaction individuels entre les utilisateurs et votre AgentCore environnement d'exécution. Chaque séance :
-
Est identifié par un code unique
runtimeSessionIdfourni par votre application, ou par le Runtime lui-même lors du premier appel s'ilruntimeSessionIdest laissé vide -
Fonctionne dans une microVM dédiée avec des ressources de processeur, de mémoire et de système de fichiers complètement isolées
-
Préserve le contexte de plusieurs interactions au sein d'une même conversation
-
Peut persister jusqu'à 8 heures d'autonomie totale
Les états de session incluent :
-
Actif - En cours de traitement d'une demande ou d'exécution de tâches en arrière-plan
-
Inactif : ne traite aucune demande mais maintient le contexte en attendant la prochaine interaction
-
Résiliée - La session s'est terminée pour cause d'inactivité (15 minutes), pour atteinte à la durée de vie maximale (8 heures) ou pour cause de mauvaise santé
Caractéristiques importantes de la session :
-
Après la fin de la session, l'ensemble de la microVM est arrêté et la mémoire est nettoyée
-
Une demande ultérieure contenant la même chose
runtimeSessionIdaprès la résiliation créera un nouvel environnement d'exécution -
L'isolation des sessions empêche la contamination des données entre sessions et garantit la sécurité
-
L'état de session est éphémère et ne doit pas être utilisé pour une durabilité à long terme (utilisez la AgentCore mémoire pour la durabilité du contexte)
Cette isolation complète entre les sessions est cruciale pour la sécurité de l'entreprise, en particulier lorsqu'il s'agit de processus d'IA non déterministes.
Authentification et sécurité
L'authentification entrante contrôle qui peut accéder à vos agents via AWS Identity and Access Management ou OAuth 2.0, en validant les jetons porteurs des fournisseurs d'identité avant d'autoriser le traitement des demandes. L'authentification sortante permet à vos agents d'accéder en toute sécurité à des services tiers à l'aide de clés OAuth ou API, AgentCore Identity gérant les informations d'identification en mode délégué par l'utilisateur ou en mode autonome. Pour plus d'informations, consultez Authentifier et autoriser avec l'authentification entrante et l'authentification sortante.
Authentification entrante
L'authentification entrante, optimisée par AgentCore Identity, contrôle les personnes autorisées à accéder à vos agents ou outils et à les invoquer dans AgentCore Runtime.
Méthodes d’authentification
-
AWS IAM (SigV4) : utilise les AWS informations d'identification pour la vérification de l'identité
-
OAuth 2.0 : s'intègre aux fournisseurs d'identité externes
Options de configuration OAuth
-
URL de découverte : point de terminaison de découverte OpenID Connect de votre fournisseur d'identité
-
Audiences autorisées : liste des valeurs d'audience valides que vos jetons doivent contenir
-
Clients autorisés : liste des identifiants de clients pouvant accéder à cet agent
Flux d'authentification
-
Les utilisateurs finaux s'authentifient auprès de votre fournisseur d'identité (Amazon Cognito, Okta, Microsoft Entra ID)
-
Votre application cliente reçoit un jeton porteur après une authentification réussie
-
Le client transmet ce jeton dans l'en-tête d'autorisation lorsqu'il invoque l'agent
-
AgentCore Runtime valide le jeton auprès du serveur d'autorisation
-
Si elle est valide, la demande est traitée ; si elle n'est pas valide, elle est rejetée
Cela garantit que seuls les utilisateurs authentifiés disposant des autorisations appropriées peuvent accéder à vos agents.
Authentification sortante
Outbound Auth, basé sur Amazon Bedrock AgentCore Identity, permet à vos agents hébergés sur AgentCore Runtime d'accéder en toute sécurité à des services tiers :
Méthodes d’authentification
-
OAuth : pour les services prenant en charge les flux OAuth
-
Clés d'API : pour les services utilisant l'authentification par clé
Modes d'authentification
-
User-delegated: Agir au nom de l'utilisateur final avec ses informations d'identification
-
Autonome : agir de manière indépendante avec des informations d'identification de niveau de service
Services pris en charge
-
Systèmes d'entreprise tels que Slack, Zoom et GitHub
-
AWS services
-
API et sources de données personnalisées
AgentCore Identity gère ces informations d'identification en toute sécurité, empêchant ainsi toute exposition des informations d'identification dans le code ou les journaux de votre agent.
Fonctionnalités supplémentaires
Traitement asynchrone
AgentCore Runtime prend en charge les charges de travail de longue durée grâce à :
-
Gestion des tâches en arrière-plan pour les opérations qui dépassent request/response les cycles
-
Suivi automatique de l'état via le
/pingterminal -
Support pour des opérations d'une durée maximale de 8 heures
Pour plus d'informations, consultez Gérer les agents asynchrones et de longue durée avec Amazon AgentCore Bedrock Runtime.
Réponses en streaming
Les agents peuvent diffuser des résultats partiels dès qu'ils sont disponibles plutôt que d'attendre la fin du traitement. Cela vous permet de proposer une expérience utilisateur plus réactive, en particulier pour les opérations qui génèrent de grandes quantités de contenu ou qui prennent beaucoup de temps à réaliser. Pour plus d'informations, consultez la section Diffuser les réponses des agents.
WebSocket API
Le AgentCore Runtime WebSocketprend en charge les connexions de streaming bidirectionnelles en temps réel pour les communications interactives entre agents. Cela permet aux agents de bénéficier d'expériences plus réactives et interactives. Pour plus d'informations, voir Commencer à utiliser le streaming bidirectionnel à l'aide WebSocket de.
Support du protocole
AgentCore Runtime prend en charge plusieurs protocoles de communication :
-
HTTP : points de terminaison d'API REST directs pour les request/response modèles traditionnels. Pour plus d'informations, consultez Commencer avec la AgentCore CLI.
-
MCP : Model Context Protocol pour les outils et les serveurs d'agents. Pour plus d'informations, voir Déployer des serveurs MCP dans AgentCore Runtime.
-
A2A : Agent-to-Agent protocole pour la communication et la découverte multi-agents. Pour plus d'informations, voir Déployer des serveurs A2A dans AgentCore Runtime.
Aperçu de l'implémentation
Voici comment démarrer avec le AgentCore Runtime. Pour un exemple complet, voir Commencer avec la AgentCore CLI.
Préparez le code de votre agent ou de votre outil
-
Définissez la logique de votre agent à l'aide de n'importe quel framework d'IA ou de code personnalisé
-
Ajoutez les points de terminaison HTTP requis à l'aide du AgentCore SDK ou d'une implémentation personnalisée
-
Dépendances du package dans un fichier requirements.txt
Déployez votre agent ou outil
-
Créez et envoyez une image de conteneur vers Amazon ECR directement ou via le SDK AgentCore
-
Créez un AgentCore Runtime à l'aide de l'image du conteneur
-
La version initiale (V1) et le point de terminaison DEFAULT sont créés automatiquement
Invoquez votre agent ou votre outil
-
Générez un identifiant de session unique pour chaque conversation utilisateur
-
Appelez l'InvokeAgentRuntimeWithWebSocketStreamopération InvokeAgentRuntimeor avec l'ARN et l'ID de session de votre agent
-
Transmettre les données saisies par l'utilisateur dans la charge utile de la demande
Gérez et observez les sessions, et effectuez des mises à jour
-
Utilisez le même identifiant de session pour les interactions de suivi afin de maintenir le contexte
-
Passez en revue les journaux, les traces et les mesures d'observabilité
-
Déployez les mises à jour en modifiant votre AgentCore environnement d'exécution (crée de nouvelles versions)
-
Contrôlez le déploiement en mettant à jour les points de terminaison pour qu'ils pointent vers les nouvelles versions