Governare le skill dell'agente

Un agente può accedere a numerosi strumenti utilizzando server Model Context Protocol (MCP), API aziendali o script personalizzati. L'esposizione di un agente a un numero molto elevato di descrizioni di strumenti contemporaneamente può portare a un aumento del contesto, il che aumenta i costi dei token, la latenza e può peggiorare le prestazioni di ragionamento dell'LLM.

Per ottimizzare il rendimento, puoi utilizzare le abilità dell'agente (uno standard per il packaging di strumenti e descrizioni delle procedure) per implementare la divulgazione progressiva degli strumenti. Invece di inserire l'intero catalogo di strumenti nel contesto, l'agente viene inizialmente esposto a un piccolo insieme di competenze. L'LLM indica all'agente di caricare dinamicamente pacchetti di competenze specifici quando diventano pertinenti.

Governare il ciclo di vita delle competenze

Poiché il caricamento e la gestione delle skill utilizzano le chiamate di strumenti, i criteri di governance semantica possono governare l'intero ciclo di vita delle skill. Se il tuo agente è creato utilizzando Google Agent Development Kit (ADK), utilizza i seguenti strumenti principali per gestire le skill:

Strumento per le skill ADK Descrizione
list_skills Mostra tutti i pacchetti di skill disponibili per il modello.
load_skill Importa in modo dinamico una competenza specifica e i relativi strumenti nel contesto corrente.
load_skill_resource Recupera i dati o gli asset necessari per il funzionamento di un'abilità.
run_skill_script Esegue la logica sottostante definita all'interno della competenza.

Le norme di governance semantica intercettano queste chiamate dello strumento di gestione delle skill e le valutano in base ai tuoi vincoli di linguaggio naturale. In questo modo puoi applicare vincoli per controllare quali skill vengono caricate in condizioni specifiche.

Esempi: criteri del ciclo di vita di competenze e strumenti

Gli esempi seguenti mostrano come le policy di governance semantica possono proteggere dai rischi per la sicurezza nel ciclo di vita dell'abilità, ad esempio l'iniezione di istruzioni o la compromissione della supply chain.

Impedire il caricamento degli strumenti nelle sessioni compromesse

Scenario: un agente è autorizzato a caricare ed eseguire skill. Un amministratore vuole impedire all'agente di caricare strumenti che eseguono azioni in uscita se la cronologia della chat contiene un contesto non attendibile che potrebbe contenere istruzioni inserite. Ad esempio, un agente potrebbe caricare uno strumento send_email dopo aver eseguito lo scraping dei contenuti web.

  • Vincolo:"Non caricare alcuna skill che possa inviare messaggi o scrivere a sistemi esterni se la cronologia della chat attuale contiene contenuti recuperati da email in entrata, pagine web o documenti caricati".
  • Logica:quando l'LLM propone di chiamare load_skill(skill_name='send_email'), la norma di governance semantica esamina la cronologia della chat. Se un turno precedente ha recuperato dati non attendibili (ad esempio, contenuti email), le norme negano la chiamata load_skill. Di conseguenza, gli strumenti in uscita inclusi in questa skill non diventano mai disponibili per l'agente durante la sessione.

Limita le installazioni di dipendenze (catena di fornitura)

Scenario:un agente di sviluppo utilizza una skill per installare pacchetti. Un malintenzionato con accesso al repository di skill modifica le istruzioni per installare sempre un pacchetto dannoso insieme alle dipendenze richieste.

  • Vincolo: "Consenti l'esecuzione dello strumento npm_install solo per i pacchetti nell'elenco approvato: react, express, lodash o axios".
  • Logica:quando l'LLM propone una chiamata allo strumento come npm_install(packages=['lodash', 'malicious-agent-helper']), la policy di governance semantica esamina gli argomenti. Poiché malicious-agent-helper non è presente nella lista consentita, le norme emettono un verdetto DENY, bloccando l'azione prima dell'esecuzione.

Passaggi successivi