In Gemini Enterprise Agent Platform, puoi creare versioni immutabili, o revisioni, di un agente. Puoi quindi dividere il traffico tra le diverse revisioni attive. La suddivisione del traffico ti consente di testare e aumentare gradualmente il traffico verso le nuove revisioni e di dividere il traffico tra le revisioni per altri scopi.
La possibilità di creare revisioni è sempre abilitata. Non è necessario attivare la funzionalità. Per informazioni sulla creazione di revisioni, vedi Revisioni e stati.
Se non hai ancora creato revisioni, devi crearle prima di poterle visualizzare e configurare il traffico tra loro, come descritto in questa pagina.
Al momento, le revisioni e la suddivisione del traffico sono disponibili tramite l'API v1beta1.
Questa pagina descrive come gestire le revisioni degli agenti e la suddivisione del traffico.
Revisioni e stati
Una revisione è uno snapshot di un agente. Quando crei un agente o aggiorni i relativi campi con controllo delle versioni, viene creata una revisione immutabile dell'agente. Una revisione è Attiva quando è disponibile per le query. Tieni presente che potrebbe non ricevere query, a seconda della configurazione del traffico. Quando una revisione viene archiviata, viene ritirata definitivamente dalla gestione del traffico e non può essere ripristinata. Le revisioni archiviate vengono conservate solo come riferimento storico.
Puoi identificare una revisione utilizzando il nome della risorsa, che puoi trovare elencando le revisioni dell'agente.
Limiti di revisione
Le revisioni archiviate non occupano più uno spazio di revisione. La modifica di un binding di Agent Gateway archivia ogni revisione preesistente (vedi Agent Gateway e revisioni), quindi una modifica del binding libera la quota anziché consumarla. Le revisioni archiviate rimangono eliminabili.
Campi con controllo delle versioni e senza controllo delle versioni
Questa sezione elenca i campi nella definizione ReasoningEngineSpec di un agente di cui è stato eseguito il deployment che puoi aggiornare per creare una revisione dell'agente.
Quando aggiorni i campi con controllo delle versioni,viene creata una nuova revisione.
Quando aggiorni i campi senza controllo delle versioni o i campi nella definizione di un agente diversi dai campi con controllo delle versioni, l'agente viene aggiornato in tutte le sue revisioni.
Questi sono i campi con controllo delle versioni:
- PackageSpec
pickleObjectGcsUridependencyFilesGcsUrirequirementsGcsUripythonVersion
- DeploymentSpec
env[]secretEnv[]firstPartyImageOverrideagentServerModepscInterfaceConfigminInstancesmaxInstancesresourceLimitscontainerConcurrency
classMethods[]agentFramework- SourceCodeSpec
sourcelanguageSpec
identityTypeagentCard[]
Elenca le revisioni dell'agente
Puoi elencare tutte le revisioni di un agente di cui è stato eseguito il deployment.
Per trovare l'ID risorsa del tuo agente, consulta Recuperare l'ID risorsa dell'agente.
Console
In Google Agent Platform, vai a Governa > Deployment.
Fai clic sul nome dell'agente.
Seleziona la scheda Revisioni.
Nella parte superiore della pagina sono visualizzate le seguenti informazioni sulle revisioni:
- Modalità di divisione: può essere "Manuale" o "Più recente". Per saperne di più, consulta "Gestire il traffico verso le revisioni".
- Revisioni attive: il numero di revisioni attive rispetto al numero totale di revisioni.
- Ultima revisione: il nome dell'ultima revisione e la percentuale di traffico che riceve.
- Revisione principale: il nome della revisione principale, che riceve la maggior parte del traffico.
L'elenco mostra tutte le revisioni dell'agente e include le seguenti informazioni:
- Nome: il nome o il numero della revisione.
- Stato: lo stato della revisione.
- Traffico: la percentuale di traffico indirizzata alla revisione.
- Creata: la data e l'ora in cui è stata creata la revisione.
SDK Agent Platform
Il seguente codice elenca la cronologia delle revisioni per un agente di cui è stato eseguito il deployment specificato. Per elencare le revisioni, devi identificare l'ID risorsa univoco del tuo agente.
import agentplatform
client = agentplatform.Client(
project="PROJECT_ID",
location="LOCATION",
http_options={"api_version": "v1beta1"},
)
revisions = client.runtimes.revisions.list(
name="projects/PROJECT_ID/locations/LOCATION/reasoningEngines/RESOURCE_ID"
)
for revision in revisions:
print(revision)
Sostituisci le seguenti variabili nel codice:
PROJECT_ID: il tuo Cloud de Confiance by S3NS ID progettoLOCATION: una regione supportataRESOURCE_ID: l'ID risorsa dell'agente di cui è stato eseguito il deployment
REST
Chiama il metodo reasoningEngineRuntimeRevisions.list.
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
PROJECT_ID: il tuo Cloud de Confiance by S3NS ID progettoLOCATION: una regione supportataRESOURCE_ID: l'ID risorsa dell'agente di cui è stato eseguito il deployment.
Metodo HTTP e URL:
GET https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/RESOURCE_ID/runtimeRevisions
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{
"reasoningEngineRuntimeRevisions": [
{
"name": "projects/PROJECT_ID/locations/LOCATION/reasoningEngines/RESOURCE_ID/runtimeRevisions/REVISION_ID",
"spec": {
// Revision-specific config attributes (e.g., package specs, requirements)
},
"createTime": "2026-05-01T13:26:01Z",
"state": "ACTIVE"
}...
]
}Visualizzare i dettagli di una revisione
Puoi recuperare i dettagli di una revisione specifica.
Console
Vai a Govern > Deployments.
Fai clic sul nome dell'agente.
Vai alla scheda Revisioni.
Nella pagina dei dettagli delle revisioni, fai clic sul nome della revisione.
Questa schermata mostra informazioni sulla revisione, inclusi l'ora e lo stato di creazione.
SDK Agent Platform
Il seguente codice recupera i dettagli delle risorse per una revisione dell'agente di cui è stato eseguito il deployment specificata:
import agentplatform
client = agentplatform.Client(
project="PROJECT_ID",
location="LOCATION",
http_options={"api_version": "v1beta1"},
)
revision = client.runtimes.revisions.get(
name="projects/PROJECT_ID/locations/LOCATION/reasoningEngines/RESOURCE_ID/runtimeRevisions/REVISION_ID"
)
print(revision)
Sostituisci le seguenti variabili nel codice:
PROJECT_ID: il tuo Cloud de Confiance by S3NS ID progettoLOCATION: una regione supportataRESOURCE_ID: l'ID risorsa dell'agente di cui è stato eseguito il deploymentREVISION_ID: l'ID univoco per una revisione specifica del runtime
REST
Chiama il metodo reasoningEngineRuntimeRevisions.get .
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
PROJECT_ID: il tuo Cloud de Confiance by S3NS ID progettoLOCATION: una regione supportataRESOURCE_ID: l'ID risorsa dell'agente di cui è stato eseguito il deploymentREVISION_ID: l'ID univoco per una revisione specifica del runtime
Metodo HTTP e URL:
GET https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/RESOURCE_ID/runtimeRevisions/REVISION_ID
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{
"name": "projects/PROJECT_ID/locations/LOCATION/reasoningEngines/RESOURCE_ID/runtimeRevisions/REVISION_ID",
"spec": {
// Revision-specific config attributes (e.g., package specs, requirements)
},
"createTime": "2026-05-06T13:05:24Z",
"state": "ACTIVE"
}Configurare la distribuzione del traffico tra le revisioni
Puoi gestire la distribuzione del traffico tra le revisioni attive. Tieni presente che solo le query indirizzate alla risorsa reasoningEngine principale vengono sottoposte alla suddivisione del traffico. L'indirizzamento di una query a un percorso di risorse di revisione specifico ignora esplicitamente le regole di traffico.
Il traffico viene distribuito utilizzando uno dei due metodi seguenti:
- Per percentuale: quando la configurazione avviene per percentuale, una percentuale specificata di traffico viene indirizzata a ogni revisione dell'agente. Ogni percentuale specificata deve essere un numero intero. La somma delle percentuali deve essere pari al 100%. Anche se è attiva una sola revisione, puoi comunque configurare la suddivisione del traffico (in cui il 100% viene reindirizzato).
- All'ultima revisione: tutto il traffico viene indirizzato all'ultima revisione. Quando viene creata una nuova revisione dell'agente, il traffico viene indirizzato automaticamente a questa nuova revisione.
Una suddivisione manuale può avere come target solo le revisioni attive. Se assegni un nome a una revisione archiviata, viene restituito FAILED_PRECONDITION:
Traffic target revision {revision} is not an active revision of this Agent Engine. Update traffic_config to reference only active revisions.
Console
Per configurare la gestione del traffico:
Vai a Govern > Deployments.
Fai clic sul nome dell'agente.
Vai alla scheda Revisioni.
Nella pagina dei dettagli delle revisioni, fai clic su Gestisci traffico.
In Modalità di divisione, seleziona una di queste opzioni:
- Manuale: specifica la percentuale di traffico da indirizzare a ogni revisione.
- Sempre l'ultima: in questo caso, il 100% del traffico viene indirizzato all'ultima revisione (creata più di recente).
Seleziona Salva per salvare le modifiche.
SDK Agent Platform
Il seguente codice mostra un esempio di configurazione della distribuzione del traffico basata sulla percentuale.
import agentplatform
client = agentplatform.Client(
project="PROJECT_ID",
location="LOCATION",
http_options={"api_version": "v1beta1"},
)
client.runtimes.update(
name="projects/PROJECT_ID/locations/LOCATION/reasoningEngines/RESOURCE_ID",
config={
"traffic_config": {
"trafficSplitManual": {
"targets": [
{
"runtimeRevisionName": "projects/PROJECT_ID/locations/LOCATION/reasoningEngines/RESOURCE_ID/runtimeRevisions/REVISION_ID_1",
"percent": 50,
},
{
"runtimeRevisionName": "projects/PROJECT_ID/locations/LOCATION/reasoningEngines/RESOURCE_ID/runtimeRevisions/REVISION_ID_2",
"percent": 50,
},
]
}
}
},
)
Sostituisci le seguenti variabili nel codice:
PROJECT_ID: il tuo Cloud de Confiance by S3NS ID progettoLOCATION: una regione supportataRESOURCE_ID: l'ID risorsa dell'agente di cui è stato eseguito il deploymentREVISION_ID_1: l'ID revisione della prima revisioneREVISION_ID_2: l'ID revisione della seconda revisione
REST
Per configurare il traffico in modo che venga sempre indirizzato all'ultima revisione (impostazione predefinita), aggiorna la risorsa ReasoningEngine con il campo traffic_config e specifica trafficSplitAlwaysLatest:
{
"trafficConfig": {
"trafficSplitAlwaysLatest": {}
}
}
Per suddividere il traffico tra le revisioni di runtime di un agente, aggiorna la risorsa ReasoningEngine con il campo traffic_config e fornisci un elenco di destinazioni del traffico con le rispettive percentuali. Di seguito viene mostrato come impostare la suddivisione manuale su due revisioni.
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
PROJECT_ID: il tuo Cloud de Confiance by S3NS ID progettoLOCATION: una regione supportataRESOURCE_ID: l'ID risorsa dell'agente di cui è stato eseguito il deploymentREVISION_ID_1: l'ID revisione della prima revisioneREVISION_ID_2: l'ID revisione della seconda revisioneTRAFFIC_PERCENTAGE_1: il flusso di traffico percentuale che vuoi per la prima revisioneTRAFFIC_PERCENTAGE_2: il flusso di traffico percentuale che vuoi per la seconda revisione
Metodo HTTP e URL:
PATCH https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/RESOURCE_ID?update_mask=traffic_config
Corpo JSON della richiesta:
{
"trafficConfig": {
"trafficSplitManual": {
"targets": [
{
"runtimeRevisionName": "projects/PROJECT_ID/locations/LOCATION/reasoningEngines/RESOURCE_ID/runtimeRevisions/REVISION_ID_1",
"percent": TRAFFIC_PERCENTAGE_1
},
{
"runtimeRevisionName": "projects/PROJECT_ID/locations/LOCATION/reasoningEngines/RESOURCE_ID/runtimeRevisions/REVISION_ID_2",
"percent": TRAFFIC_PERCENTAGE_2
}
]
}
}
}Per inviare la richiesta, espandi una di queste opzioni:
Questa richiesta avvia un'operazione a lunga esecuzione (LRO). Inizialmente, riceverai una risposta standard dell'operazione. Una volta completate le modifiche alla configurazione, la risposta mostradone e ripete le impostazioni di configurazione.
{
"name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
"done": false
}Eseguire una query per una revisione specifica
Puoi eseguire query su una revisione specifica tramite l'SDK o le API. La revisione deve essere attiva per poter essere interrogata. Le query dirette a una revisione specifica ignorano le regole di distribuzione del traffico.
SDK Agent Platform
Il seguente codice esegue una query su una revisione attiva specifica:
import agentplatform
client = agentplatform.Client(
project="PROJECT_ID",
location="LOCATION",
http_options={"api_version": "v1beta1"},
)
revision = client.runtimes.revisions.get(
name="projects/PROJECT_ID/locations/LOCATION/reasoningEngines/RESOURCE_ID/runtimeRevisions/REVISION_ID"
)
response = revision.query(
input={"your_input_key": "your_input_value"},
config={"class_method": "your_class_method"},
)
print(response)
Sostituisci le seguenti variabili nel codice:
PROJECT_ID: il tuo Cloud de Confiance by S3NS ID progettoLOCATION: una regione supportataRESOURCE_ID: l'ID risorsa dell'agente di cui è stato eseguito il deploymentREVISION_ID: l'ID univoco per una revisione specifica del runtime
REST
Chiama il metodo reasoningEngineRuntimeRevisions.query.
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
PROJECT_ID: il tuo Cloud de Confiance by S3NS ID progettoLOCATION: una regione supportataRESOURCE_ID: l'ID risorsa dell'agente di cui è stato eseguito il deploymentREVISION_ID: l'ID univoco per una revisione specifica del runtime
Metodo HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/RESOURCE_ID/runtimeRevisions/REVISION_ID:query
Per inviare la richiesta, espandi una di queste opzioni:
Agent Gateway e revisioni
Il collegamento, la modifica o lo scollegamento di un binding di Agent Gateway a un agente crea una nuova revisione e archivia ogni revisione esistente prima della modifica. Solo la nuova revisione rimane attiva. Questa operazione è irreversibile: le revisioni archiviate non possono essere ripristinate.
Poiché una modifica del binding archivia ogni revisione esistente, è consentita solo quando tutto il traffico si trova già nell'ultima revisione. L'API rifiuta la modifica se è impostata una suddivisione manuale, anche una che assegna il 100% del traffico all'ultima revisione. Il rifiuto restituisce FAILED_PRECONDITION:
Changing spec.deployment_spec.agent_gateway_config archives every existing runtime revision, so it is only allowed while all traffic is on the latest revision. Set traffic_config.traffic_split_always_latest, or clear traffic_config, before changing the Agent Gateway configuration.
Per modificare il gateway di un agente che utilizza una suddivisione manuale del traffico:
- Passa al routing sempre più recente impostando
traffic_config.traffic_split_always_latest(o deselezionandotraffic_config). Vedi Configurare la distribuzione del traffico tra le revisioni. - Modifica
spec.deployment_spec.agent_gateway_config. Viene creata la nuova revisione e vengono archiviate tutte le precedenti. - Se hai di nuovo bisogno di una suddivisione manuale, creala a partire dalle revisioni create dopo la modifica del binding.
Le revisioni archiviate rimangono accessibili tramite l'API e la relativa ReasoningEngineSpec completa viene conservata. Per creare una nuova revisione equivalente a una archiviata, recupera i dettagli della revisione archiviata e implementa una nuova revisione con gli stessi campi con controllo delle versioni. Il riutilizzo dello stesso URI dell'immagine container riproduce lo stesso runtime; il riutilizzo della stessa posizione del codice sorgente e degli stessi metodi della classe riproduce lo stesso comportamento.
Monitorare le revisioni
Monitora le revisioni di attività e problemi monitorando il numero di revisione come metadati nei log. Per informazioni sulla configurazione della registrazione, consulta Configurare la registrazione.
Crea una nuova revisione dell'agente
Per creare una nuova revisione, aggiorna i campi con controllo delle versioni di un agente di cui è stato eseguito il deployment. Per istruzioni, vedi Aggiornare un agente di cui è stato eseguito il deployment.
Se aggiorni i campi con controllo delle versioni, viene creata automaticamente una nuova revisione. Se aggiorni i campi senza controllo delle versioni, l'agente viene aggiornato in tutte le revisioni esistenti senza crearne una nuova.
Gestisci pulizia delle revisioni
Gemini Enterprise Agent Platform rimuove automaticamente le revisioni precedenti per aiutarti a rispettare i limiti di revisione. Puoi anche eliminare manualmente le revisioni.
Garbage collection automatica
Per impostazione predefinita, Gemini Enterprise Agent Platform abilita la garbage collection automatica per tutti gli agenti. Non puoi disattivarlo. La garbage collection viene eseguita solo nell'ambito di un'operazione di aggiornamento dell'agente e non come job in background.
- Quando viene eseguita:se un'operazione di aggiornamento tenta di superare il limite di revisione configurato, Gemini Enterprise Agent Platform elimina le revisioni idonee meno recenti nella stessa operazione prima di creare la nuova revisione. Se abbassi il limite, Gemini Enterprise Agent Platform elimina immediatamente un numero sufficiente di revisioni idonee più vecchie per rispettare il nuovo limite.
- Revisioni idonee:una revisione è idonea all'eliminazione solo se soddisfa tutte le seguenti condizioni:
- Si trova nello stato
ACTIVE. - Non è inclusa nella configurazione del traffico (riceve lo 0% del traffico).
- Si trova nello stato
- Errori: se non sono presenti revisioni idonee sufficienti per liberare spazio, Gemini Enterprise Agent Platform rifiuta l'operazione di aggiornamento con un errore
FAILED_PRECONDITION. Non elimina alcuna revisione né ne crea una nuova. Prima di riprovare, devi rimuovere le revisioni dalla configurazione del traffico o aumentare il limite.
Configurare il limite
Il limite è definito dal campo revision_garbage_collection_strategy.keep_n_latest.max_revisions dell'agente. Puoi impostare questo campo quando crei l'agente o modificarlo in un secondo momento con una richiesta di aggiornamento.
- Valore predefinito per i nuovi agenti:100 revisioni.
- Valore predefinito per gli agenti esistenti:950 revisioni.
- Intervallo consentito: da 1 a 950. Un valore pari o inferiore a 0 viene rifiutato. Un valore superiore a 950 viene rifiutato perché 950 è una quota rigida che non può essere aumentata.
Eliminazione manuale
Puoi rimuovere manualmente una revisione dell'agente eliminandola. Puoi eliminare solo le revisioni che non sono attive per la gestione del traffico perché non sono configurate per ricevere traffico. Consulta Configurare la distribuzione del traffico tra le revisioni per istruzioni su come configurare se una revisione riceve traffico.
Console
Per eliminare una revisione per un agente:
Vai a Govern > Deployments.
Fai clic sul nome dell'agente.
Vai alla scheda Revisioni.
Nella pagina dei dettagli delle revisioni, fai clic sul nome della revisione.
Trova la riga della revisione da rimuovere.
Fai clic sull'icona Elimina (cestino).
Quando richiesto, conferma l'eliminazione della revisione.
SDK Agent Platform
Il seguente codice elimina una revisione dell'agente specificata:
import agentplatform
client = agentplatform.Client(
project="PROJECT_ID",
location="LOCATION",
http_options={"api_version": "v1beta1"},
)
client.runtimes.revisions.delete(
name="projects/PROJECT_ID/locations/LOCATION/reasoningEngines/RESOURCE_ID/runtimeRevisions/REVISION_ID"
)
Sostituisci le seguenti variabili nel codice:
PROJECT_ID: il tuo Cloud de Confiance by S3NS ID progettoLOCATION: una regione supportataRESOURCE_ID: l'ID risorsa dell'agente di cui è stato eseguito il deploymentREVISION_ID: l'ID univoco per una revisione specifica del runtime
REST
Chiama il metodo reasoningEngineRuntimeRevisions.delete.
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
PROJECT_ID: il tuo Cloud de Confiance by S3NS ID progettoLOCATION: una regione supportataRESOURCE_ID: l'ID risorsa dell'agente di cui è stato eseguito il deploymentREVISION_ID: l'ID univoco per una revisione specifica del runtime
Metodo HTTP e URL:
DELETE https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/RESOURCE_ID/runtimeRevisions/REVISION_ID
Per inviare la richiesta, espandi una di queste opzioni: