Considerazioni sulla sicurezza

Ambito: questo articolo tratta le considerazioni sulla sicurezza relative all'SDK Python della memoria agente. Si applica solo alle applicazioni che utilizzano le funzioni di memoria attiva dell'SDK o del layer di memorizzazione.

Perché è importante: la memoria agente può rendere persistenti i record di contenuto e memoria dei thread in Oracle AI Database e, quando le funzioni supportate da LLM sono abilitate, inviare il contenuto agli endpoint del modello configurati per il riepilogo, l'estrazione della memoria o l'integrazione. La distribuzione sicura dipende quindi da un'attenta gestione dei dati delle applicazioni, dall'ambito di recupero, dall'accesso al database, dagli endpoint dei modelli esterni e dai criteri di conservazione.

Considerazioni sull'elaborazione della memoria supportata da LLM

Agent Memory supporta funzioni di memoria attiva come il riepilogo dei thread e l'estrazione automatica della memoria. Quando queste funzioni sono abilitate, l'SDK può inviare messaggi recenti, riepiloghi dei thread, memorie recuperate o testo di ricerca all'LLM configurato o all'endpoint di incorporamento.

Nota: inviare solo il contenuto alla memoria dell'agente appropriato per l'endpoint del modello configurato e i criteri di distribuzione. Convalidare e ridurre al minimo il contenuto prima di entrare nella pipeline di memoria ed evitare di includere segreti, credenziali o dati sensibili non necessari nei messaggi o nelle memorie. Tratta le memorie estratte, i riepiloghi, le schede di contesto e altri testi derivati dal modello come output non attendibile che deve essere rivisto e gestito in modo sicuro dall'applicazione di integrazione.

Osservare i suggerimenti riportati di seguito quando si utilizzano le funzioni di memoria attiva.

Considerazioni sulla persistenza e sulla minimizzazione dei dati

La memoria agente è progettata per rendere persistenti messaggi, memorie, metadati e integrazioni in Oracle AI Database quando viene utilizzata l'area di memorizzazione supportata dal DB. Ciò consente il recupero duraturo e la memoria cross-session, ma significa anche che l'applicazione dovrebbe pianificare quali dati è appropriato conservare.

Le seguenti linee guida aiutano a mantenere le distribuzioni allineate alle pratiche di gestione dei dati sicure:

Considerazioni relative all'ambito di recupero e al controllo dell'accesso

La memoria agente utilizza i valori user_id, agent_id e thread_id forniti dal chiamante per il recupero dell'ambito. Questo è un potente modello di filtraggio, ma non dovrebbe essere l'unico controllo su cui si basa l'applicazione quando si decide come viene utilizzato o visualizzato il contenuto recuperato.

Per impostazione predefinita, il recupero con ambito thread utilizza la corrispondenza esatta per user_id e agent_id e una corrispondenza più ampia per thread_id in modo che i risultati pertinenti possano estendersi su thread passati per la stessa coppia utente-agente. Le chiamate OracleAgentMemory.search() e search_async() di livello superiore richiedono anche un user_id concreto e una corrispondenza esatta degli utenti. Rifiutano l'ambito utente omesso, user_id=None e exact_user_match=False in modo che l'API client pubblica non esegua ricerche accidentali tra più utenti.

Durante la progettazione del recupero, attenersi alle procedure indicate di seguito.

Considerazioni sull'integrazione delle applicazioni e sulla fiducia dei chiamanti

La memoria agente deve essere chiamata dall'applicazione di integrazione o da altro codice backend sicuro, non direttamente dagli utenti finali. Non è un limite di sicurezza rivolto all'utente finale e non esegue l'autenticazione o l'autorizzazione dell'utente finale da solo. Il pacchetto si affida al chiamante per fornire i valori corretti per user_id, agent_id, thread_id e l'ambito di recupero per ogni operazione.

Nota: l'applicazione di integrazione è responsabile dell'autenticazione dell'utente finale, dell'autorizzazione dell'accesso e della derivazione del user_id e dell'ambito corretti prima che chiami le API di memoria dell'agente. Un valore user_id fornito dal chiamante è un valore di ambito, non una prova dell'identità.

Utilizzare le procedure riportate di seguito quando si integra l'SDK in un'applicazione identica.

Considerazioni sull'accesso al database, sulla gestione dello schema e sui segreti

La memoria agente utilizza una connessione o un pool Oracle AI Database fornito dal chiamante. Il package non crea né gestisce le credenziali del database. Inoltre, non crea, negozia o aggiorna la crittografia di rete del database per conto del chiamante.

Nota:

Si consigliano le procedure di distribuzione riportate di seguito.

Considerazioni sulla comunicazione di rete e gli endpoint esterni

La memoria agente può comunicare con i servizi esterni quando la distribuzione configura l'LLM remoto o i provider di incorporamento. L'SDK inoltra prompt e richiede parametri tramite il percorso client configurato, ma l'applicazione e la distribuzione circostanti rimangono responsabili della protezione di queste connessioni.

Si consiglia quanto segue:

Considerazioni sui vettori di esaurimento delle risorse

I flussi di lavoro di memoria possono aumentare l'uso del database, l'integrazione del traffico e il consumo di token LLM nel tempo. Questo è vero sia per un uso eccessivo dannoso che per errori di implementazione innocenti come messaggi sovradimensionati o modelli di recupero troppo ampi.

Utilizzare questi controlli come parte della tempra di produzione: