Molti sistemi di AI generativa sono progettati per operare all’interno di una finestra di contesto limitata, che consente al modello di elaborare soltanto una quantità relativamente ridotta di informazioni in una singola sessione. Per superare questo limite, negli ultimi anni si sono diffusi sistemi di recupero delle informazioni basati su database vettoriali e pipeline di retrieval-augmented generation (RAG). Tuttavia, queste architetture richiedono infrastrutture relativamente complesse, composte da modelli di embedding, sistemi di indicizzazione semantica e database dedicati alla ricerca per similarità.
Un progetto open source recentemente pubblicato da un product manager di Google propone un approccio alternativo a questo paradigma. Il sistema, denominato Always-On Memory Agent, introduce un’architettura di memoria persistente per agenti AI che elimina completamente l’uso di database vettoriali e embedding semantici, affidando invece al modello linguistico stesso il compito di organizzare e mantenere la memoria del sistema. L’obiettivo è semplificare l’infrastruttura degli agenti intelligenti e ridurre i costi operativi associati alle architetture RAG tradizionali.
Il progetto nasce da un’osservazione pratica condivisa da molti team che sviluppano applicazioni basate su agenti di intelligenza artificiale. Nelle architetture tradizionali, la gestione della memoria richiede diverse componenti infrastrutturali separate. Le informazioni vengono prima convertite in vettori numerici attraverso modelli di embedding, poi archiviate in database specializzati per la ricerca semantica, infine recuperate attraverso algoritmi di similarità quando l’agente deve richiamare informazioni precedenti. Questo processo introduce complessità architetturale, latenza e costi di manutenzione, soprattutto nei sistemi che devono gestire grandi quantità di dati o operare in tempo reale.
L’Always-On Memory Agent propone invece un modello più diretto. In questa architettura il modello linguistico non si limita a generare risposte, ma assume anche il ruolo di gestore della memoria. Le informazioni vengono archiviate in forma strutturata all’interno di un database relazionale leggero, come SQLite, e il modello è responsabile della loro organizzazione semantica e del recupero quando necessario. Questo significa che l’agente non utilizza un sistema di ricerca vettoriale separato, ma applica direttamente le proprie capacità di ragionamento linguistico per interpretare e riorganizzare i dati memorizzati.
Dal punto di vista architetturale, il sistema opera come un servizio persistente che rimane attivo continuamente. L’agente riceve flussi di dati provenienti da diverse fonti, come file locali, API o conversazioni con l’utente, e li integra nel proprio archivio di memoria. Questo processo di acquisizione può includere contenuti testuali, immagini, audio, video e documenti PDF. Le informazioni vengono convertite in record strutturati e memorizzate nel database, dove possono essere successivamente analizzate e riorganizzate dal modello linguistico.
Uno degli elementi più interessanti della piattaforma è il meccanismo di consolidamento periodico della memoria. A intervalli regolari, il sistema avvia un processo automatico di revisione dei dati memorizzati. Durante questa fase il modello analizza le informazioni presenti nel database, elimina eventuali duplicati, sintetizza contenuti ridondanti e riorganizza i record in una struttura più coerente. Questo processo è simile a una forma di manutenzione cognitiva, in cui il sistema aggiorna la propria memoria per mantenere un archivio compatto e semanticamente organizzato.
L’architettura include anche un’API HTTP locale e una dashboard sviluppata con Streamlit che consente agli sviluppatori di monitorare il funzionamento dell’agente. Attraverso questa interfaccia è possibile osservare il flusso di dati in ingresso, analizzare le memorie archiviate e verificare il comportamento del sistema durante le operazioni di consolidamento e recupero delle informazioni. Questo tipo di strumenti di osservabilità è particolarmente importante nei sistemi di AI agentica, dove la capacità di comprendere il comportamento interno del sistema è fondamentale per garantire stabilità e affidabilità.
Il progetto è costruito sopra il Google Agent Development Kit (ADK), un framework progettato per lo sviluppo di agenti software autonomi. Per l’elaborazione linguistica il sistema utilizza il modello Gemini Flash-Lite, una variante ottimizzata per carichi di lavoro ad alta frequenza e costi ridotti. Secondo le specifiche pubblicate, questo modello è progettato per fornire tempi di risposta molto rapidi e una buona efficienza economica nelle applicazioni che richiedono elaborazioni continue, come sistemi di supporto clienti, traduzione automatica o automazione dei flussi di lavoro.
Uno degli obiettivi principali del progetto è dimostrare che la gestione della memoria degli agenti AI può essere semplificata senza compromettere la funzionalità del sistema. Le architetture basate su database vettoriali sono molto potenti per la ricerca semantica su larga scala, ma comportano costi infrastrutturali significativi. Ogni documento deve essere trasformato in embedding numerici, indicizzato e mantenuto sincronizzato con il database. Inoltre, le operazioni di aggiornamento dei dati possono richiedere tempi di indicizzazione che aumentano la latenza del sistema. Eliminando questi passaggi, l’Always-On Memory Agent riduce il numero di componenti necessari per gestire la memoria di un agente.
Questo approccio presenta tuttavia anche alcune limitazioni. Le architetture basate su ricerca vettoriale sono particolarmente efficaci quando devono gestire dataset molto grandi o quando è necessario eseguire ricerche semantiche su miliardi di documenti. In questi contesti l’uso di indici specializzati consente di mantenere prestazioni elevate anche con volumi di dati molto estesi. L’approccio proposto dal nuovo sistema è invece più adatto a scenari con dimensioni moderate di memoria, dove la semplificazione dell’architettura può offrire vantaggi operativi significativi.
Il rilascio del progetto come software open source con licenza permissiva rappresenta un altro elemento rilevante. La disponibilità del codice consente a sviluppatori e aziende di sperimentare il modello architetturale e adattarlo a diversi contesti applicativi. In particolare, sistemi di questo tipo potrebbero essere utilizzati per creare assistenti personali persistenti, agenti di ricerca automatizzati o sistemi di supporto interno nelle aziende, in cui la memoria a lungo termine rappresenta una componente essenziale del comportamento dell’agente.
