View a markdown version of this page

Come funziona - Amazon Bedrock AgentCore

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.

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 runtimeSessionId fornito dall'applicazione o dal Runtime stesso nella prima chiamata se runtimeSessionId viene 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 runtimeSessionId dopo 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

  1. Gli utenti finali si autenticano con il tuo provider di identità (Amazon Cognito, Okta, Microsoft Entra ID)

  2. L'applicazione client riceve un token bearer dopo l'autenticazione riuscita

  3. Il client trasmette questo token nell'intestazione di autorizzazione quando richiama l'agente

  4. AgentCore Runtime convalida il token con il server di autorizzazione

  5. 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:

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

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