Come funziona
Amazon Bedrock AgentCore Runtime gestisce la scalabilità, la gestione delle sessioni, l'isolamento della sicurezza e la gestione dell'infrastruttura, consentendoti di concentrarti sulla creazione di esperienze intelligenti per gli agenti piuttosto che sulla complessità operativa. Sfruttando le caratteristiche e le capacità descritte qui, puoi creare, implementare e gestire sofisticati agenti di intelligenza artificiale che offrono valore ai tuoi utenti contribuendo al contempo a mantenere sicurezza e affidabilità di livello aziendale.
Argomenti
Componenti chiave
AgentCore Runtime
Un AgentCore Runtime è il componente fondamentale che ospita l'agente di intelligenza artificiale o il codice dello strumento. Rappresenta un'applicazione containerizzata che elabora gli input degli utenti, mantiene il contesto ed esegue azioni utilizzando le funzionalità di intelligenza artificiale. Quando crei un agente, ne definisci il comportamento, le capacità e gli strumenti a cui può accedere. Ad esempio, un addetto all'assistenza clienti potrebbe rispondere a domande sui prodotti, elaborare i resi e segnalare problemi complessi a rappresentanti umani.
Puoi creare e distribuire agenti in AgentCore Runtime utilizzando la AgentCore CLI, l'SDK AgentCore Python o direttamente tramite SDK.AWS Con AgentCore Python SDK, puoi definire il tuo agente utilizzando framework popolari come CrewAI o Strands LangGraph Agents. L'SDK gestisce le complessità dell'infrastruttura, consentendoti di concentrarti sulla logica e sulle funzionalità dell'agente.
Ogni runtime AgentCore :
-
Ha un'identità unica
-
È dotato di versioni per supportare la distribuzione e gli aggiornamenti controllati
Versioni
Ogni AgentCore Runtime mantiene versioni immutabili che acquisiscono un'istantanea completa della configurazione in un momento specifico:
-
Quando si crea un AgentCore Runtime, la versione 1 (V1) viene creata automaticamente
-
Ogni aggiornamento alla configurazione (immagine del contenitore, impostazioni del protocollo, impostazioni di rete) crea una nuova versione
-
Ogni versione contiene tutte le configurazioni necessarie per l'esecuzione
Questo sistema di controllo delle versioni offre una cronologia di distribuzione affidabile e funzionalità di rollback.
Endpoints
Gli endpoint forniscono punti di accesso indirizzabili a versioni specifiche di Runtime. AgentCore Ogni endpoint:
-
Dispone di un ARN unico per l'invocazione
-
Fa riferimento a una versione specifica di Agent Runtime
-
Fornisce un accesso stabile all'agente anche durante l'aggiornamento delle implementazioni
Dettagli chiave dell'endpoint:
-
L'endpoint «DEFAULT» viene creato automaticamente quando si chiama CreateAgentRuntimee punta alla versione più recente
-
Quando aggiorni il AgentCore Runtime, viene creata una nuova versione, ma l'
DEFAULTendpoint si aggiorna automaticamente per farvi riferimento -
È possibile creare endpoint personalizzati con l'CreateAgentRuntimeEndpointoperazione per diversi ambienti (dev, test, prod)
-
Quando un utente effettua una richiesta a un endpoint, la richiesta viene risolta nella versione dell'agente specifica a cui fa riferimento quell'endpoint
Gli endpoint hanno stati del ciclo di vita distinti:
-
CREATING- Stato iniziale durante la creazione dell'endpoint -
CREATE_FAILED- Indica un errore di creazione dovuto a autorizzazioni o altri problemi -
READY- L'endpoint è operativo e accetta richieste -
UPDATING- L'endpoint viene modificato per fare riferimento a una nuova versione -
UPDATE_FAILED- Indica un errore nell'operazione di aggiornamento
È possibile aggiornare gli endpoint senza tempi di inattività, consentendo transizioni e rollback di versione senza interruzioni.
Sessioni
Le sessioni rappresentano contesti di interazione individuali tra gli utenti e il Runtime. AgentCore Ogni sessione:
-
Viene identificato da un codice univoco
runtimeSessionIdfornito dall'applicazione o dal Runtime stesso nella prima chiamata seruntimeSessionIdviene lasciato vuoto -
Viene eseguito in una microVM dedicata con risorse di CPU, memoria e file system completamente isolate
-
Conserva il contesto tra più interazioni all'interno della stessa conversazione
-
Può persistere fino a 8 ore di durata totale
Gli stati della sessione includono:
-
Attivo: sta attualmente elaborando una richiesta o eseguendo attività in background
-
Inattivo: non elabora alcuna richiesta ma mantiene il contesto in attesa della prossima interazione
-
Interrotta: la sessione è terminata per inattività (15 minuti), per aver raggiunto la durata massima (8 ore) o perché ritenuta non integra
Caratteristiche importanti della sessione:
-
Dopo la chiusura della sessione, l'intera microVM viene terminata e la memoria viene disinfettata
-
Una richiesta successiva con la stessa
runtimeSessionIddopo la terminazione creerà un nuovo ambiente di esecuzione -
L'isolamento delle sessioni impedisce la contaminazione dei dati tra sessioni e garantisce la sicurezza
-
Lo stato della sessione è effimero e non deve essere utilizzato per una durabilità a lungo termine (usa AgentCore Memory per la durabilità del contesto)
Questo completo isolamento tra le sessioni è fondamentale per la sicurezza aziendale, in particolare quando si tratta di processi di intelligenza artificiale non deterministici.
Autenticazione e sicurezza
L'autenticazione in entrata controlla chi può accedere ai tuoi agenti tramite AWS Identity and Access Management o OAuth 2.0, convalidando i token al portatore dei provider di identità prima di consentire l'esecuzione delle richieste. L'autenticazione in uscita consente agli agenti di accedere in modo sicuro ai servizi di terze parti utilizzando chiavi OAuth o API, con AgentCore Identity che gestisce le credenziali in modalità delegata dall'utente o autonoma. Per ulteriori informazioni, consulta Autenticazione e autorizzazione con autenticazione in entrata e autenticazione in uscita.
Autenticazione in entrata
L'autenticazione in entrata, basata su AgentCore Identity, controlla chi può accedere e richiamare i tuoi agenti o strumenti in Runtime. AgentCore
Metodi di autenticazione
-
AWS IAM (SigV4): utilizza le credenziali per la verifica dell'identità AWS
-
OAuth 2.0: si integra con provider di identità esterni
Opzioni di configurazione OAuth
-
Discovery URL: endpoint di rilevamento OpenID Connect del tuo provider di identità
-
Gruppi di destinatari consentiti: elenco dei valori di audience validi che i token devono contenere
-
Client consentiti: elenco di identificatori client che possono accedere a questo agente
Flusso di autenticazione
-
Gli utenti finali si autenticano con il tuo provider di identità (Amazon Cognito, Okta, Microsoft Entra ID)
-
L'applicazione client riceve un token bearer dopo l'autenticazione riuscita
-
Il client trasmette questo token nell'intestazione di autorizzazione quando richiama l'agente
-
AgentCore Runtime convalida il token con il server di autorizzazione
-
Se valida, la richiesta viene elaborata; se non valida, viene rifiutata
Ciò garantisce che solo gli utenti autenticati con l'autorizzazione adeguata possano accedere ai tuoi agenti.
Autenticazione in uscita
Outbound Auth, basato su Amazon Bedrock AgentCore Identity, consente ai tuoi agenti ospitati su AgentCore Runtime di accedere in modo sicuro a servizi di terze parti:
Metodi di autenticazione
-
OAuth: per i servizi che supportano i flussi OAuth
-
Chiavi API: per i servizi che utilizzano l'autenticazione basata su chiavi
Modalità di autenticazione
-
User-delegated: agiscono per conto dell'utente finale con le proprie credenziali
-
Autonomo: agisce in modo indipendente con credenziali a livello di servizio
Servizi supportati
-
Sistemi aziendali come Slack, Zoom e GitHub
-
AWS servizi
-
API e fonti di dati personalizzate
AgentCore Identity gestisce queste credenziali in modo sicuro, impedendo l'esposizione delle credenziali nel codice o nei registri dell'agente.
Funzionalità aggiuntive
Elaborazione asincrona
AgentCore Runtime supporta carichi di lavoro di lunga durata tramite:
-
Gestione delle attività in background per operazioni che superano i cicli request/response
-
Monitoraggio automatico dello stato tramite l'
/pingendpoint -
Support per operazioni di durata fino a 8 ore
Per ulteriori informazioni, consulta Gestire agenti asincroni e di lunga durata con Amazon Bedrock Runtime. AgentCore
Streaming delle risposte
Gli agenti possono trasmettere in streaming i risultati parziali non appena diventano disponibili anziché attendere l'elaborazione completa. Ciò consente di fornire un'esperienza utente più reattiva, in particolare per le operazioni che generano grandi quantità di contenuti o richiedono molto tempo per il completamento. Per ulteriori informazioni, consulta Risposte degli agenti Stream.
WebSocket API
Il AgentCore Runtime fornisce WebSocketsupporto per connessioni di streaming bidirezionali in tempo reale per la comunicazione interattiva tra agenti. Ciò consente agli agenti esperienze più reattive e interattive. Per ulteriori informazioni, consulta Introduzione allo streaming bidirezionale utilizzando. WebSocket
Supporto dei protocolli
AgentCore Runtime supporta diversi protocolli di comunicazione:
-
HTTP: endpoint dell'API REST diretti per request/response modelli tradizionali. Per ulteriori informazioni, consulta Introduzione alla AgentCore CLI.
-
MCP: Model Context Protocol per strumenti e server di agenti. Per ulteriori informazioni, consulta Distribuire i server MCP in Runtime. AgentCore
-
A2A: Agent-to-Agent protocollo per la comunicazione e la scoperta di più agenti. Per ulteriori informazioni, consulta Distribuire i server A2A in Runtime. AgentCore
Panoramica dell'implementazione
Ecco come iniziare a usare il AgentCore Runtime. Per un esempio completo, consulta Guida introduttiva alla AgentCore CLI.
Prepara il tuo agente o il codice dello strumento
-
Definisci la logica del tuo agente utilizzando qualsiasi framework di intelligenza artificiale o codice personalizzato
-
Aggiungi gli endpoint HTTP richiesti utilizzando l' AgentCore SDK o l'implementazione personalizzata
-
Dipendenze dei pacchetti in un file requirements.txt
Implementa il tuo agente o strumento
-
Crea e invia un'immagine del contenitore su Amazon ECR direttamente o tramite l'SDK AgentCore
-
Crea un AgentCore runtime utilizzando l'immagine del contenitore
-
La versione iniziale (V1) e l'endpoint DEFAULT vengono creati automaticamente
Invoca il tuo agente o strumento
-
Genera un ID di sessione univoco per ogni conversazione utente
-
Chiama l'InvokeAgentRuntimeWithWebSocketStreamoperazione InvokeAgentRuntimeo con l'ARN e l'ID di sessione del tuo agente
-
Trasmetti l'input dell'utente nel payload della richiesta
Gestisci e osserva le sessioni e apporta aggiornamenti
-
Usa lo stesso ID di sessione per le interazioni successive e per mantenere il contesto
-
Rivedi i log, le tracce e le metriche di osservabilità
-
Distribuisci gli aggiornamenti modificando il tuo AgentCore Runtime (crea nuove versioni)
-
Controlla l'implementazione aggiornando gli endpoint in modo che puntino a nuove versioni