[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"portal-settings:stajic:it":3,"public-menus:all":38,"post:ai-agent-memory-is-not-rag-how-to-separate-memory-retrieval-state-and-context:it":205,"related:post:ai-agent-memory-is-not-rag-how-to-separate-memory-retrieval-state-and-context:it:1":1494},{"statusCode":4,"data":5,"message":37},200,{"tenantId":6,"lang":7,"defaultLang":8,"siteUrl":9,"contactEmail":10,"brandName":11,"logoUrl":12,"siteName":11,"siteDescription":13,"ogImage":10,"robotsIndex":14,"socialLinks":10,"reservedSlugs":10,"seoPolicy":15},"stajic","it","de","https:\u002F\u002Fstajic.de",null,"Stajic Platform","\u002FLogo_Planet.svg","Stajic Portal",true,{"branding":16,"relatedContent":17,"crossDomainLinks":18},{"logoUrl":12},{"enabled":14},[19,22,25,28,31,34],{"url":20,"label":21,"isActive":14,"showInFooter":14,"includeInSameAs":14},"https:\u002F\u002Ffigure.rocks","figure.rocks",{"url":23,"label":24,"isActive":14,"showInFooter":14,"includeInSameAs":14},"https:\u002F\u002Floving.rocks","loving.rocks",{"url":26,"label":27,"isActive":14,"showInFooter":14,"includeInSameAs":14},"https:\u002F\u002Fbazify.com","bazify.com",{"url":29,"label":30,"isActive":14,"showInFooter":14,"includeInSameAs":14},"https:\u002F\u002Fbazify.de","bazify.de",{"url":32,"label":33,"isActive":14,"showInFooter":14,"includeInSameAs":14},"https:\u002F\u002Fbazify.at","bazify.at",{"url":35,"label":36,"isActive":14,"showInFooter":14,"includeInSameAs":14},"https:\u002F\u002Fbazify.ba","bazify.ba","Portal settings resolved",[39,45],{"id":40,"name":41,"location":42,"isActive":14,"isDefault":43,"items":44},1,"main-navigation","header",false,[],{"id":46,"name":47,"location":48,"isActive":14,"isDefault":14,"items":49},4,"main-menu","sidebar",[50,66,79,93,103,118,133],{"id":51,"title":52,"url":60,"target":61,"icon":62,"isActive":14,"type":63,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":64,"portfolioId":10,"children":65},"item-18",{"de":53,"en":54,"es":55,"fr":56,"it":54,"ru":57,"sr":58,"zh":59},"Startseite","Home","Inicio","Accueil","Главная","Почетна","首页","\u002Ffull-stack-web-developer-munich-performance-seo-and-maintainable-builds","_self","i-lucide-home","page",111,[],{"id":67,"title":68,"url":75,"target":61,"icon":76,"isActive":14,"type":63,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":77,"portfolioId":10,"children":78},"item-22",{"de":69,"en":69,"es":70,"fr":69,"it":71,"ru":72,"sr":73,"zh":74},"Vision","Visión","Visione","Видение","Визија","想象","\u002Fueber-uns-webdesign-muenchen-webaplikation","i-lucide-eye",113,[],{"id":80,"title":81,"url":89,"target":61,"icon":90,"isActive":14,"type":63,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":91,"portfolioId":10,"children":92},"item-19",{"de":82,"en":83,"es":84,"fr":83,"it":85,"ru":86,"sr":87,"zh":88},"Leistungen","Services","Servicios","Servizi","Услуги","Услуге","服务","\u002Fservices-dienstleistungen-muenchen","i-lucide-wrench",116,[],{"id":94,"title":95,"url":99,"target":61,"icon":100,"isActive":14,"type":63,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":101,"portfolioId":10,"children":102},"item-23",{"de":96,"en":96,"es":96,"fr":96,"it":96,"ru":97,"sr":97,"zh":98},"Blog","Блог","博客","\u002Fblog","i-lucide-book-open",112,[],{"id":104,"title":105,"url":114,"target":61,"icon":115,"isActive":14,"type":63,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":116,"portfolioId":10,"children":117},"item-32",{"de":106,"en":107,"es":108,"fr":109,"it":110,"ru":111,"sr":112,"zh":113},"Neue Technologien","New Technologies","Nuevas tecnologías","Nouvelles technologies","Nuove tecnologie","Новые технологии","Нове технологије","新技术！","\u002Fneue-webtechnologien","i-lucide-sparkles",122,[],{"id":119,"title":120,"url":129,"target":61,"icon":130,"isActive":14,"type":63,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":131,"portfolioId":10,"children":132},"item-20",{"de":121,"en":122,"es":123,"fr":124,"it":125,"ru":126,"sr":127,"zh":128},"Kontakt","Contact us!","Contacto","Contact","Contatto","Контакт","Контактирајте нас","联系我们！","\u002Fcontact","i-lucide-mail",115,[],{"id":134,"title":135,"url":144,"target":61,"icon":145,"isActive":14,"type":63,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":146,"portfolioId":10,"children":147},"item-21",{"de":136,"en":137,"es":138,"fr":139,"it":140,"ru":141,"sr":142,"zh":143},"Unsere Arbeit","Our Work","Nuestro trabajo","Nos réalisations","I nostri lavori","Наши работы","Наши радови","文件夹","\u002Fportfolio","i-lucide-briefcase",114,[148,161,175,181,193],{"id":149,"title":150,"url":144,"target":61,"icon":159,"isActive":14,"type":63,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":146,"portfolioId":10,"children":160},"item-24",{"de":151,"en":152,"es":153,"fr":154,"it":155,"ru":156,"sr":157,"zh":158},"Alle Projekte","All Projects","Todos los proyectos","Tous les projets","Tutti i progetti","Все проекты","Сви пројекти","所有项目","i-lucide-grid-3x3",[],{"id":162,"title":163,"url":171,"target":61,"icon":172,"isActive":14,"type":173,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":10,"portfolioId":10,"children":174},"item-29",{"de":164,"en":165,"es":166,"fr":167,"it":168,"ru":169,"sr":170,"zh":143},"Local Roots, Global Reach","Local Roots - Global Reach","Empresa local ","Entreprise locale","Azienda locale","Местная компания","Локално предузеће глобално тржиште","\u002Fportfolio\u002Flocal-roots-global-reach-communication-media-systems-for-modern-business","i-lucide-folder","custom",[],{"id":176,"title":177,"url":179,"target":61,"icon":172,"isActive":14,"type":173,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":10,"portfolioId":10,"children":180},"item-28",{"de":178,"en":178,"es":178,"fr":178,"it":178,"ru":178,"sr":178,"zh":178},"Solr Suggester","\u002Fportfolio\u002Fsolr-fuzzy-suggester-und-solr-infix-suggester-abfrage-ueber-ajax-und-filterung",[],{"id":182,"title":183,"url":191,"target":61,"icon":172,"isActive":14,"type":173,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":10,"portfolioId":10,"children":192},"item-27",{"de":184,"en":185,"es":186,"fr":187,"it":188,"ru":189,"sr":190,"zh":185},"Firmenwebseite SEO","Company Website SEO","Sitio web corporativo SEO","Site web d’entreprise SEO","Sito web aziendale SEO","Корпоративный сайт SEO","Пословна веб-страница SEO","\u002Fportfolio\u002Fseo-sem-branding-mobile-webseite-muenchen",[],{"id":194,"title":195,"url":203,"target":61,"icon":172,"isActive":14,"type":173,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":10,"portfolioId":10,"children":204},"item-31",{"de":196,"en":197,"es":198,"fr":199,"it":200,"ru":201,"sr":202,"zh":197},"Digitalisierungsportal","Digitalization Portal","Portal de digitalización","Portail de numérisation","Portale di digitalizzazione","Портал цифровизации","Портал за дигитализацију","\u002Fportfolio\u002Fdigitalisierungsportal-archiv-museum-bibliothek-ead-lido-mets-mods",[],{"statusCode":4,"data":206,"message":1493},{"id":207,"title":208,"slug":209,"content":210,"contentJson":211,"excerpt":753,"featuredImage":754,"featuredImageAlt":755,"featuredImageCaption":10,"featuredImageTitle":10,"featuredImageCopyright":10,"featuredImageAuthor":10,"featuredImageSourceUrl":10,"featuredImageLicense":10,"featuredImageIsAiGenerated":43,"status":756,"publishedAt":757,"createdAt":758,"updatedAt":759,"seoLocalePaths":760,"categories":769,"author":782,"translations":787},"468","La memoria dell'agente IA non è RAG: come separare memoria, recupero, stato e contesto","ai-agent-memory-is-not-rag-how-to-separate-memory-retrieval-state-and-context","\u003Cnav class=\"editorjs-toc\" data-editorjs-toc=\"true\" aria-label=\"Indice\">\u003Cstrong class=\"editorjs-toc__title\">Indice\u003C\u002Fstrong>\u003Col class=\"editorjs-toc__list editorjs-toc__list--depth-0\">\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-5\" class=\"editorjs-toc__link\">L&#39;errore categoriale: trattare qualsiasi elemento apparentemente persistente come memoria\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-8\" class=\"editorjs-toc__link\">Un&#39;architettura a quattro livelli: stato, memoria, recupero, contesto\u003C\u002Fa>\u003Col class=\"editorjs-toc__list editorjs-toc__list--depth-1\">\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-10\" class=\"editorjs-toc__link\">1. Stato: cosa è vero adesso\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-13\" class=\"editorjs-toc__link\">2. Memoria: cosa del passato dovrebbe persistere\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-16\" class=\"editorjs-toc__link\">3. Recupero: cosa dovrebbe essere selezionato ora\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-19\" class=\"editorjs-toc__link\">4. Contesto: cosa il modello può effettivamente usare in questo momento\u003C\u002Fa>\u003C\u002Fli>\u003C\u002Fol>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-22\" class=\"editorjs-toc__link\">Come interagiscono i livelli\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-24\" class=\"editorjs-toc__link\">Perché la RAG non è memoria\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-28\" class=\"editorjs-toc__link\">Il test di separazione a quattro livelli\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-32\" class=\"editorjs-toc__link\">Modalità di fallimento causate dal collasso dei livelli\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-34\" class=\"editorjs-toc__link\">Cosa dovrebbe essere memorizzato, recuperato, ricalcolato o riletto?\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-36\" class=\"editorjs-toc__link\">Un sistema di memoria ha bisogno di criteri di scrittura, non solo di criteri di recupero\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-40\" class=\"editorjs-toc__link\">La provenienza è il ponte tra la memoria e l&#39;evidenza affidabile\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-43\" class=\"editorjs-toc__link\">Più memoria non significa più contesto\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-46\" class=\"editorjs-toc__link\">Checklist di progettazione per la produzione\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-48\" class=\"editorjs-toc__link\">Cosa cambierebbe questa risposta?\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-51\" class=\"editorjs-toc__link\">Limitazioni\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-53\" class=\"editorjs-toc__link\">Conclusione\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-56\" class=\"editorjs-toc__link\">FAQ\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-58\" class=\"editorjs-toc__link\">Glossario\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-60\" class=\"editorjs-toc__link\">Fonti primarie e approfondimenti\u003C\u002Fa>\u003C\u002Fli>\u003C\u002Fol>\u003C\u002Fnav>\n\u003Cp>La memoria degli agenti IA, la retrieval-augmented generation (RAG), lo stato di runtime e il contesto del modello vengono spesso discussi come se fossero intercambiabili. Non lo sono. Farli confluire in un unico concetto rende i sistemi di agenti più difficili da analizzare, più complessi da sottoporre a debug e più soggetti a diventare obsoleti o poco sicuri.\u003C\u002Fp>\n\u003Caside class=\"editorjs-callout editorjs-callout--info my-6 rounded-xl border p-5 border-blue-300 bg-blue-50 dark:border-blue-900 dark:bg-blue-950\u002F20\" role=\"note\">\u003Cstrong class=\"block mb-2 text-gray-900 dark:text-gray-100\">Risposta diretta\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">&lt;strong&gt;La RAG non è la memoria dell&#39;agente.&lt;\u002Fstrong&gt; La RAG è un pattern di recupero: seleziona informazioni che possono essere utili per la chiamata corrente del modello. La memoria è costituita da informazioni persistenti derivate da interazioni o esperienze pregresse e gestite nel tempo. Lo stato rappresenta ciò che è attualmente vero riguardo al task o all&#39;ambiente in esecuzione. Il contesto è l&#39;insieme delle informazioni effettivamente rese disponibili al modello per l&#39;inferenza corrente. Un agente in produzione può utilizzare tutti e quattro gli elementi, ma essi risolvono problemi diversi.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Caside class=\"editorjs-callout editorjs-callout--note my-6 rounded-xl border p-5 border-gray-300 bg-gray-50 dark:border-gray-700 dark:bg-gray-900\u002F40\" role=\"note\">\u003Cstrong class=\"block mb-2 text-gray-900 dark:text-gray-100\">Informazioni sul modello utilizzato in questo articolo\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">La separazione in quattro livelli descritta di seguito è un modello architetturale pratico, non uno standard industriale formale. I fornitori e le pubblicazioni di ricerca utilizzano una terminologia spesso sovrapposta. Lo scopo è di tipo operativo: rendere più chiare le decisioni di progettazione, la proprietà, l&#39;analisi dei guasti e i test.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Ch2 id=\"section-5\">L'errore categoriale: trattare qualsiasi elemento apparentemente persistente come memoria\u003C\u002Fh2>\n\u003Cp>Un database vettoriale può archiviare frammenti di conversazione. Un oggetto di sessione può contenere i turni recenti. Una riga di database può memorizzare lo stato corrente del flusso di lavoro. Un sintetizzatore può comprimere il lavoro precedente. Un retriever può recuperare prove passate. Tutti questi elementi possono far sembrare che un agente \"ricordi\", ma non hanno la stessa semantica.\u003C\u002Fp>\n\u003Cp>La distinzione è importante perché le regole di correttezza richieste sono differenti. Lo stato corrente deve essere autorevole e aggiornato. La memoria necessita di regole sul ciclo di vita per la scrittura, la revisione, l'oblio e la gestione dei conflitti. Il recupero richiede pertinenza e qualità nella selezione delle prove. Il contesto richiede una gestione rigorosa del budget di token e protezione da materiale irrilevante o contraddittorio.\u003C\u002Fp>\n\u003Ch2 id=\"section-8\">Un'architettura a quattro livelli: stato, memoria, recupero, contesto\u003C\u002Fh2>\n\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Livello\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Domanda fondamentale\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Esempi tipici\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Principale criterio di correttezza\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Stato\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Cosa è vero adesso?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Stato del task, contenuto del carrello, passaggio del flusso di lavoro, autorizzazioni attive, stato corrente del gioco\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Aggiornamento e autorevolezza\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Memoria\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Cosa del passato dovrebbe persistere?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Preferenza dell'utente, decisione precedente, vincolo appreso, errore risolto, dato duraturo del progetto\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Ciclo di vita, revisione, provenienza, oblio\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Recupero\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Quali informazioni dovrebbero essere selezionate ora?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Ricerca vettoriale, ricerca per parole chiave, consultazione di grafi, reranking, ricerca documentale\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Pertinenza e selezione delle prove\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Contesto\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Cosa vede il modello per questa chiamata?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Istruzioni di sistema, richiesta corrente, passaggi recuperati, risultati degli strumenti, riassunti\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Utilità per token, ordinamento, coerenza, rumore\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Ch3 id=\"section-10\">1. Stato: cosa è vero adesso\u003C\u002Fh3>\n\u003Cp>Lo stato appartiene al sistema in esecuzione, non al ricordo del modello. Se un ordine viene annullato, un deployment viene sospeso, un utente perde un'autorizzazione o un task passa da \"in corso\" ad \"approvato\", il valore autorevole deve provenire dal sistema proprietario di tale dato.\u003C\u002Fp>\n\u003Cp>Una scelta di progettazione rischiosa è consentire che il riassunto di una vecchia conversazione sostituisca lo stato corrente. L'agente potrebbe ricordare con precisione che l'ordine era attivo ieri e tuttavia commettere un errore oggi. Lo stato richiede quindi una proprietà esplicita, versionamento o timestamp ove pertinenti e una procedura per rileggere la fonte autoritativa prima di intraprendere azioni rilevanti.\u003C\u002Fp>\n\u003Ch3 id=\"section-13\">2. Memoria: cosa del passato dovrebbe persistere\u003C\u002Fh3>\n\u003Cp>La memoria non è semplicemente \"tutto ciò che possiamo archiviare\". Un livello di memoria efficace stabilisce cosa merita di essere mantenuto, in quale forma, per quanto tempo, con quale provenienza e a quali condizioni debba essere modificato o rimosso.\u003C\u002Fp>\n\u003Cp>La recente ricerca sulla memoria degli agenti ritiene sempre più insufficiente la semplice archiviazione delle trascrizioni grezze. Il lavoro di Microsoft su PlugMem punta a trasformare le cronologie di interazione grezze in conoscenza strutturata e riutilizzabile. Memora separa i contenuti archiviati completi da astrazioni più leggere e indizi di recupero, consentendo ai sistemi operanti su orizzonti temporali estesi di non dover sacrificare i dettagli per ottenere un accesso scalabile.\u003C\u002Fp>\n\u003Ch3 id=\"section-16\">3. Recupero: cosa dovrebbe essere selezionato ora\u003C\u002Fh3>\n\u003Cp>Il recupero è un meccanismo di selezione. Può interrogare documenti esterni, knowledge base interne, memorie archiviate, log, grafi, database o sorgenti ibride. La RAG si colloca normalmente qui: recupera prove, inserisce il materiale selezionato nell'input di lavoro del modello e quindi genera una risposta.\u003C\u002Fp>\n\u003Cp>Tale meccanismo non diventa memoria solo perché il corpus recuperato contiene interazioni passate. Lo stesso retriever può consultare documenti di policy mai sperimentati dall'agente, dati di prodotto di un altro sistema o decisioni precedenti di un utente. Il recupero descrive come le informazioni vengono selezionate; la memoria descrive perché determinate informazioni persistono nel tempo e come tale persistenza viene gestita.\u003C\u002Fp>\n\u003Ch3 id=\"section-19\">4. Contesto: cosa il modello può effettivamente usare in questo momento\u003C\u002Fh3>\n\u003Cp>Il contesto è il livello rivolto al modello. Anthropic descrive l'ingegneria del contesto come la scelta di quale configurazione del contesto abbia più probabilità di produrre il comportamento desiderato, considerando il contesto come l'insieme dei token a disposizione del modello durante la generazione. Le linee guida di OpenAI sulla memoria di sessione trattano analogamente il ritaglio e la compressione come tecniche di gestione del contesto per le interazioni prolungate degli agenti.\u003C\u002Fp>\n\u003Cp>Ecco perché un sistema può avere una memoria eccellente e fallire comunque. La memoria rilevante può esistere ma non essere recuperata. Può essere recuperata ma inserita nel contesto accanto a testo contrastante più forte. Può essere compressa fino a far scomparire il dettaglio decisivo. Oppure il modello può ricevere così tanto materiale che le prove utili vengono diluite dal rumore.\u003C\u002Fp>\n\u003Ch2 id=\"section-22\">Come interagiscono i livelli\u003C\u002Fh2>\n\u003Csection class=\"editorjs-process my-6\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">Un possibile flusso di produzione\u003C\u002Fh3>\u003Cdiv class=\"grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-4\">\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">1\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">1. Lettura dello stato autorevole\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Carica i fatti correnti relativi ad attività, utente, sistema o ambiente dai sistemi proprietari.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">2\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">2. Identificazione delle esigenze di memoria\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Determina se decisioni, preferenze, lezioni o vincoli a lungo termine precedenti siano rilevanti.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">3\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">3. Recupero delle evidenze\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Cerca nella memoria e nella conoscenza esterna mediante recupero semantico, lessicale, a grafo, strutturato o ibrido.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">4\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">4. Costruzione del contesto\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Assembla istruzioni, stato attuale, evidenze selezionate e cronologia compattata all'interno del contesto utilizzabile dal modello.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">5\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">5. Generazione o azione\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Il modello ragiona sul contesto assemblato e produce una risposta, un piano o una chiamata a uno strumento.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">6\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">6. Convalida e riscrittura\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Convalida gli output rilevanti, aggiorna lo stato autorevole ove consentito e memorizza in modo persistente solo i ricordi che superano i criteri di scrittura.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fsection>\n\u003Ch2 id=\"section-24\">Perché la RAG non è memoria\u003C\u002Fh2>\n\u003Cp>Il test più semplice è questo: un sistema RAG può recuperare informazioni che l'agente non ha mai visto prima. Questo da solo dimostra che il recupero e la memoria sono astrazioni differenti.\u003C\u002Fp>\n\u003Cp>La RAG risponde a: «Quali evidenze devo recuperare?». Un sistema di memoria deve inoltre rispondere a domande quali: «Questo evento deve diventare una conoscenza duratura?», «Questa nuova informazione sostituisce un ricordo precedente?», «Ci si può ancora fidare di questa memoria?», «Chi è autorizzato a leggerla?» e «Quando dovrebbe essere dimenticata?».\u003C\u002Fp>\n\u003Caside class=\"editorjs-callout editorjs-callout--warning my-6 rounded-xl border p-5 border-amber-300 bg-amber-50 dark:border-amber-900 dark:bg-amber-950\u002F20\" role=\"note\">\u003Cstrong class=\"block mb-2 text-gray-900 dark:text-gray-100\">Una comune trappola di progettazione\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">Se ogni turno di conversazione viene integrato in un archivio vettoriale e successivamente recuperato per similarità, il sistema dispone di una ricerca persistente, ma non necessariamente di un&#39;architettura di memoria ben governata. La persistenza da sola non definisce la qualità della memoria.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Ch2 id=\"section-28\">Il test di separazione a quattro livelli\u003C\u002Fh2>\n\u003Cp>Quando una funzionalità viene definita «memoria», poni le seguenti quattro domande. Le risposte rivelano solitamente quale livello sia effettivamente coinvolto.\u003C\u002Fp>\n\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Domanda\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Se sì, hai a che fare principalmente con\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Rappresenta la condizione autorevole attuale dell'attività o dell'ambiente?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Stato\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Questa informazione deve sopravvivere all'esecuzione corrente perché cattura un'esperienza precedente, una preferenza o una decisione utile?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Memoria\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Il problema principale è decidere quali informazioni archiviate o esterne siano rilevanti per la richiesta corrente?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Recupero\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Il problema principale è decidere quali informazioni inserire nella chiamata corrente al modello?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Contesto\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Cp>Un singolo componente può partecipare a più di un livello. Un database può memorizzare sia lo stato che la memoria. Un indice vettoriale può recuperare sia la conoscenza esterna che le memorie. La separazione è semantica, non necessariamente fisica.\u003C\u002Fp>\n\u003Ch2 id=\"section-32\">Modalità di fallimento causate dal collasso dei livelli\u003C\u002Fh2>\n\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Modalità di fallimento\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Cosa è successo\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Risultato\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Stato obsoleto camuffato da memoria\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Si fa affidamento su un vecchio riassunto invece di rileggere il sistema autorevole\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">L'agente agisce su fatti che un tempo erano veri\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Memoria trattata come fatto immutabile\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Una preferenza o decisione precedente viene memorizzata senza regole di revisione\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Le informazioni superate continuano a influenzare le risposte future\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Risultato di recupero trattato come verità\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">L'elevata similarità viene scambiata per autorevolezza fattuale\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Prevalgono evidenze che sembrano pertinenti ma sono errate\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Sovraccarico del contesto\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Vengono inseriti troppi passaggi recuperati, memorie, log e istruzioni\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">L'evidenza decisiva viene diluita o contraddetta\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Scrittura incontrollata nella memoria\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Le interpretazioni generate dal modello vengono memorizzate automaticamente come memoria permanente\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Gli errori diventano persistenti e si autoalimentano\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Assenza di confini di provenienza\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Il sistema non è in grado di distinguere tra affermazione dell'utente, fatto di origine, inferenza del modello e riassunto generato\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">I recuperi successivi perdono lo stato probatorio dell'informazione\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Ch2 id=\"section-34\">Cosa dovrebbe essere memorizzato, recuperato, ricalcolato o riletto?\u003C\u002Fh2>\n\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Tipo di informazione\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Trattamento preferito\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Motivo\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Autorizzazione corrente, stato dell'ordine, inventario, stato del flusso di lavoro\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Rileggere lo stato autorevole\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">La freschezza conta più del ricordo\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Preferenza stabile fornita esplicitamente dall'utente\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Memoria, con semantica di modifica\u002Fcancellazione\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Utile tra le diverse sessioni e di proprietà dell'utente\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Decisione presa durante un progetto a lungo termine\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Memoria con timestamp, provenienza e regole di superamento\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">La cronologia è importante, ma le decisioni possono cambiare\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Specifiche del prodotto o documento di policy pubblica\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Recuperare dalla fonte\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">La conoscenza esterna dovrebbe rimanere legata alla sua fonte di prova\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Metrica derivata che può essere ricalcolata a basso costo\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Ricalcolare\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Evita di rendere persistenti valori derivati obsoleti\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Output grezzo e lungo di uno strumento\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Memorizzare esternamente; recuperare o sintetizzare al bisogno\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Non consumare il contesto in modo permanente\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Ipotesi del modello o interpretazione incerta\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Non promuovere automaticamente a memoria permanente\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">L'inferenza non equivale a un fatto\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Ch2 id=\"section-36\">Un sistema di memoria ha bisogno di criteri di scrittura, non solo di criteri di recupero\u003C\u002Fh2>\n\u003Cp>Le discussioni sull'architettura RAG si concentrano spesso sulla qualità del recupero: chunking, embedding, reranking, ricerca ibrida e grounding. La memoria a lungo termine introduce un altro lato del problema: cosa è autorizzato a entrare nello storage persistente fin dal principio?\u003C\u002Fp>\n\u003Cp>Per una memoria dell'agente durevole, una politica di scrittura pratica dovrebbe classificare il candidato alla memoria, preservare la provenienza, rilevare conflitti con le voci esistenti, distinguere l'osservazione dall'inferenza, definire la sensibilità e l'ambito di accesso, e decidere se l'informazione debba scadere, essere revisionata o richiedere la conferma dell'utente.\u003C\u002Fp>\n\u003Caside class=\"editorjs-callout editorjs-callout--tip my-6 rounded-xl border p-5 border-violet-300 bg-violet-50 dark:border-violet-900 dark:bg-violet-950\u002F20\" role=\"note\">\u003Cstrong class=\"block mb-2 text-gray-900 dark:text-gray-100\">Principio di progettazione\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">Più una memoria errata diventa costosa nel tempo, più la politica di scrittura dovrebbe essere rigorosa. Un recupero errato influisce su una sola risposta. Una memoria durevole errata può influenzare ogni risposta futura che la recupera.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Ch2 id=\"section-40\">La provenienza è il ponte tra la memoria e l'evidenza affidabile\u003C\u002Fh2>\n\u003Cp>Idealmente, una voce di memoria dovrebbe conservare abbastanza provenienza da rispondere a: da dove proviene, quando è stata osservata, chi o cosa l'ha asserita, è stata fornita dall'utente o dedotta dal modello, quale fonte la supportava ed è stata sostituita da qualcosa?\u003C\u002Fp>\n\u003Cp>Senza provenienza, una memoria compressa può diventare più autorevole dell'evidenza che l'ha generata. Questo è particolarmente rischioso negli agenti a lungo termine in cui riassunti e astrazioni vengono riutilizzati ripetutamente. Il sistema può preservare la conclusione perdendo le condizioni in base alle quali la conclusione era valida.\u003C\u002Fp>\n\u003Ch2 id=\"section-43\">Più memoria non significa più contesto\u003C\u002Fh2>\n\u003Cp>Un agente a lungo termine può accumulare gigabyte di stato, cronologia, documenti e informazioni apprese. Il modello non ha bisogno — e di solito non dovrebbe — ricevere tutto questo a ogni passaggio. Lo scopo del recupero, della sintesi, del compattamento e della memoria strutturata è convertire un ampio spazio informativo persistente in un contesto operativo ridotto e pertinente.\u003C\u002Fp>\n\u003Cp>Questo è anche il motivo per cui finestre di contesto più ampie non eliminano l'architettura della memoria. La capacità riduce parte della pressione, ma non risolve la freschezza, l'autorevolezza, le evidenze contrastanti, l'ambito di privacy, la qualità della scrittura, la revisione o la decisione su cosa meriti attenzione.\u003C\u002Fp>\n\u003Ch2 id=\"section-46\">Checklist di progettazione per la produzione\u003C\u002Fh2>\n\u003Cul>\u003Cli>Definire quali sistemi detengono lo stato di runtime autorevole.\u003C\u002Fli>\u003Cli>Definire quali informazioni sono idonee a diventare memoria durevole.\u003C\u002Fli>\u003Cli>Mantenere distinguibili i fatti forniti dall'utente, le evidenze esterne e le inferenze del modello.\u003C\u002Fli>\u003Cli>Associare timestamp, provenienza, ambito e semantica di revisione alle memorie importanti.\u003C\u002Fli>\u003Cli>Trattare la rilevanza del recupero come distinta dall'autorevolezza fattuale.\u003C\u002Fli>\u003Cli>Costruire il contesto intenzionalmente invece di iniettare tutto il materiale recuperato.\u003C\u002Fli>\u003Cli>Rileggere i fatti volatili invece di fidarsi delle vecchie memorie.\u003C\u002Fli>\u003Cli>Ricalcolare i valori derivati economici quando l'obsolescenza risulterebbe costosa.\u003C\u002Fli>\u003Cli>Testare le scritture in memoria con la stessa cura delle letture della memoria.\u003C\u002Fli>\u003Cli>Misurare i fallimenti separatamente: errore di stato, errore di memoria, errore di recupero, errore di costruzione del contesto, errore di ragionamento ed errore di azione.\u003C\u002Fli>\u003C\u002Ful>\n\u003Ch2 id=\"section-48\">Cosa cambierebbe questa risposta?\u003C\u002Fh2>\n\u003Cp>Il confine tra questi livelli può spostarsi man mano che le piattaforme per agenti evolvono. Un fornitore può offrire un servizio di memoria gestita che esegue internamente archiviazione, revisione, recupero, riassunto e costruzione del contesto. Ciò può far collassare i componenti di implementazione, ma non elimina i problemi architetturali. È comunque necessario sapere se un elemento restituito sia lo stato attuale, una memoria persistente, un'evidenza recuperata o semplicemente testo inserito nel contesto.\u003C\u002Fp>\n\u003Cp>La raccomandazione cambierebbe anche per i sistemi privi di continuità tra sessioni, per i sistemi in cui ogni attività inizia da un corpus immutabile pulito o per i flussi di lavoro strettamente delimitati in cui tutto lo stato rilevante rientra in sicurezza all'interno di una sola chiamata. In questi casi, un livello di memoria a lungo termine dedicato può aggiungere complessità senza apportare sufficiente valore.\u003C\u002Fp>\n\u003Ch2 id=\"section-51\">Limitazioni\u003C\u002Fh2>\n\u003Cp>La terminologia nei sistemi ad agenti è ancora in rapida evoluzione. Alcuni framework chiamano la cronologia delle conversazioni \"memoria\", altri usano \"sessione\", \"checkpoint\", \"store\", \"contesto\" o \"stato\". Anche i sistemi di ricerca definiscono la memoria a diversi livelli, dalla ricerca persistente all'adattamento interno appreso. Il modello descritto in questo articolo separa deliberatamente le responsabilità operative invece di tentare di imporre un vocabolario universale.\u003C\u002Fp>\n\u003Ch2 id=\"section-53\">Conclusione\u003C\u002Fh2>\n\u003Cp>La domanda utile non è \"Questo agente ha memoria?\", bensì: cos'è lo stato, cosa viene reso persistente dall'esperienza, come vengono recuperate le informazioni rilevanti e cosa raggiunge infine il modello sotto forma di contesto?\u003C\u002Fp>\n\u003Cp>Una volta separate queste responsabilità, le scelte progettuali diventano più facili da verificare. I fatti obsoleti possono essere ricondotti alla titolarità dello stato. Un richiamo inefficace può essere ricondotto al ciclo di vita della memoria o al recupero. I prompt sovraccarichi possono essere ricondotti alla costruzione del contesto. Le allucinazioni persistenti possono essere ricondotte ai criteri di scrittura e alla provenienza. La RAG rimane uno strumento importante, ma è solo una parte di un'architettura affidabile per agenti a lungo termine.\u003C\u002Fp>\n\u003Ch2 id=\"section-56\">FAQ\u003C\u002Fh2>\n\u003Csection class=\"editorjs-faq my-6 rounded-xl border border-gray-200 p-5 dark:border-gray-700\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">Memoria degli agenti IA, RAG, stato e contesto\u003C\u002Fh3>\u003Cdiv id=\"faq1\" class=\"border-t border-gray-200 py-4 first:border-t-0 dark:border-gray-700\">\u003Ch4 class=\"font-semibold text-gray-900 dark:text-gray-100\">La RAG equivale alla memoria degli agenti IA?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">No. La RAG è principalmente un pattern di recupero che seleziona le informazioni per una chiamata al modello. La memoria riguarda invece quali informazioni derivanti da interazioni o esperienze precedenti persistono nel tempo e come vengono gestite.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv id=\"faq2\" class=\"border-t border-gray-200 py-4 first:border-t-0 dark:border-gray-700\">\u003Ch4 class=\"font-semibold text-gray-900 dark:text-gray-100\">Un database vettoriale è una memoria per agenti?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Può farne parte, ma un database vettoriale di per sé è solo un componente di archiviazione e recupero. Un&#39;architettura di memoria per ambienti di produzione richiede anche decisioni su cosa archiviare, sulla provenienza, sulle revisioni, sui conflitti, sull&#39;accesso, sulla scadenza e sull&#39;oblio.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv id=\"faq3\" class=\"border-t border-gray-200 py-4 first:border-t-0 dark:border-gray-700\">\u003Ch4 class=\"font-semibold text-gray-900 dark:text-gray-100\">Una finestra di contesto più ampia elimina la necessità della memoria?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Non necessariamente. Un contesto più ampio aiuta con la capacità, ma non risolve la persistenza delle informazioni tra sessioni diverse, la freschezza, la provenienza, l&#39;ambito di privacy, la revisione o la decisione su cosa riutilizzare in seguito.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv id=\"faq4\" class=\"border-t border-gray-200 py-4 first:border-t-0 dark:border-gray-700\">\u003Ch4 class=\"font-semibold text-gray-900 dark:text-gray-100\">Lo stato corrente dell&#39;applicazione dovrebbe essere memorizzato come memoria?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">In genere, l&#39;applicazione o il sistema di dominio autorevole dovrebbe rimanere la fonte della verità per lo stato volatile. La memoria può registrare la cronologia o il significato delle modifiche di stato, ma le azioni consequenziali dovrebbero rileggere i valori autorevoli correnti.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fsection>\n\u003Ch2 id=\"section-58\">Glossario\u003C\u002Fh2>\n\u003Csection class=\"editorjs-glossary my-6 rounded-xl border border-gray-200 dark:border-gray-700 p-5\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">Termini chiave\u003C\u002Fh3>\u003Cdl>\u003Cdiv id=\"state\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">Stato\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">La condizione autorevole corrente di un'attività, un'applicazione, un utente, un flusso di lavoro o un ambiente.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"memory\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">Memoria\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Informazioni derivanti da un'esperienza o da un'interazione precedente che persistono perché potrebbero essere utili in seguito e sono soggette a regole sul ciclo di vita.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"retrieval\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">Recupero\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Il meccanismo utilizzato per selezionare informazioni potenzialmente rilevanti da memoria, conoscenze esterne, database, grafi o altri archivi.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"context\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">Contesto\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Le informazioni effettivamente disponibili per il modello linguistico durante uno specifico passaggio di inferenza o generazione.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"rag\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">RAG\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Generazione aumentata dal recupero (Retrieval-Augmented Generation): un pattern in cui le informazioni esterne o archiviate vengono recuperate e fornite a un modello generativo per migliorarne l'output corrente.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"provenance\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">Provenienza\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Metadati che descrivono l'origine delle informazioni, quando sono state osservate, chi o cosa le ha asserite e come sono state trasformate.\u003C\u002Fdd>\u003C\u002Fdiv>\u003C\u002Fdl>\u003C\u002Fsection>\n\u003Ch2 id=\"section-60\">Fonti primarie e approfondimenti\u003C\u002Fh2>\n\u003Ca href=\"https:\u002F\u002Fdevelopers.openai.com\u002Fcookbook\u002Fexamples\u002Fagents_sdk\u002Fsession_memory\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"editorjs-link-tool block border border-gray-200 dark:border-gray-700 rounded-lg p-4 transition text-gray-900 dark:text-gray-100 hover:border-primary-500 hover:bg-primary-50 dark:hover:bg-gray-900 hover:text-gray-900 dark:hover:text-gray-100\">\u003Cstrong class=\"block font-semibold\">OpenAI — Context Engineering: gestione della memoria a breve termine con le sessioni\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Guida di OpenAI sul trimming e sulla compressione del contesto per agenti a lungo termine.\u003C\u002Fp>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Fagents\u002Fsandboxes\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"editorjs-link-tool block border border-gray-200 dark:border-gray-700 rounded-lg p-4 transition text-gray-900 dark:text-gray-100 hover:border-primary-500 hover:bg-primary-50 dark:hover:bg-gray-900 hover:text-gray-900 dark:hover:text-gray-100\">\u003Cstrong class=\"block font-semibold\">OpenAI — Sandbox Agents\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Documentazione che illustra la memoria persistente come funzionalità dotata di divulgazione progressiva e comportamento di lettura\u002Fscrittura.\u003C\u002Fp>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Feffective-context-engineering-for-ai-agents\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"editorjs-link-tool block border border-gray-200 dark:border-gray-700 rounded-lg p-4 transition text-gray-900 dark:text-gray-100 hover:border-primary-500 hover:bg-primary-50 dark:hover:bg-gray-900 hover:text-gray-900 dark:hover:text-gray-100\">\u003Cstrong class=\"block font-semibold\">Anthropic — Effective Context Engineering for AI Agents\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Linee guida ingegneristiche sulla cura di un contesto limitato per il modello al fine di garantire un comportamento affidabile degli agenti.\u003C\u002Fp>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fwww.microsoft.com\u002Fen-us\u002Fresearch\u002Fblog\u002Fmemora-a-harmonic-memory-representation-balancing-abstraction-and-specificity\u002F\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"editorjs-link-tool block border border-gray-200 dark:border-gray-700 rounded-lg p-4 transition text-gray-900 dark:text-gray-100 hover:border-primary-500 hover:bg-primary-50 dark:hover:bg-gray-900 hover:text-gray-900 dark:hover:text-gray-100\">\u003Cstrong class=\"block font-semibold\">Microsoft Research — Memora\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Ricerca sul bilanciamento tra astrazione e specificità nella memoria degli agenti a lungo raggio.\u003C\u002Fp>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fwww.microsoft.com\u002Fen-us\u002Fresearch\u002Fblog\u002Ffrom-raw-interaction-to-reusable-knowledge-rethinking-memory-for-ai-agents\u002F\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"editorjs-link-tool block border border-gray-200 dark:border-gray-700 rounded-lg p-4 transition text-gray-900 dark:text-gray-100 hover:border-primary-500 hover:bg-primary-50 dark:hover:bg-gray-900 hover:text-gray-900 dark:hover:text-gray-100\">\u003Cstrong class=\"block font-semibold\">Microsoft Research — PlugMem\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Ricerca sulla conversione delle cronologie grezze di interazione degli agenti in conoscenza strutturata e riutilizzabile.\u003C\u002Fp>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fwww.microsoft.com\u002Fen-us\u002Fresearch\u002Fpublication\u002Fagentic-context-engineering-evolving-contexts-for-self-improving-language-models\u002F\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"editorjs-link-tool block border border-gray-200 dark:border-gray-700 rounded-lg p-4 transition text-gray-900 dark:text-gray-100 hover:border-primary-500 hover:bg-primary-50 dark:hover:bg-gray-900 hover:text-gray-900 dark:hover:text-gray-100\">\u003Cstrong class=\"block font-semibold\">Microsoft Research — Agentic Context Engineering (ACE)\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Ricerca sull&#39;evoluzione del contesto sotto forma di playbook strutturati anziché riscrivere o comprimere continuamente ogni cosa.\u003C\u002Fp>\u003C\u002Fa>",{"time":212,"blocks":213,"version":752},1790370009325,[214,222,228,236,243,248,253,258,263,294,299,304,309,314,319,324,329,334,339,344,349,354,359,385,390,395,400,407,412,417,433,438,443,476,481,518,523,528,533,540,545,550,555,560,565,570,575,593,598,603,608,613,618,623,628,633,638,660,665,691,696,707,716,725,734,743],{"id":215,"data":216,"type":220,"tunes":221},"_4kVYTpqbe",{"title":217,"maxLevel":218,"minLevel":219},"Indice",3,2,"tableOfContents",{},{"id":223,"data":224,"type":226,"tunes":227},"intro",{"text":225},"La memoria degli agenti IA, la retrieval-augmented generation (RAG), lo stato di runtime e il contesto del modello vengono spesso discussi come se fossero intercambiabili. Non lo sono. Farli confluire in un unico concetto rende i sistemi di agenti più difficili da analizzare, più complessi da sottoporre a debug e più soggetti a diventare obsoleti o poco sicuri.","paragraph",{},{"id":229,"data":230,"type":234,"tunes":235},"direct",{"body":231,"title":232,"variant":233},"\u003Cstrong>La RAG non è la memoria dell'agente.\u003C\u002Fstrong> La RAG è un pattern di recupero: seleziona informazioni che possono essere utili per la chiamata corrente del modello. La memoria è costituita da informazioni persistenti derivate da interazioni o esperienze pregresse e gestite nel tempo. Lo stato rappresenta ciò che è attualmente vero riguardo al task o all'ambiente in esecuzione. Il contesto è l'insieme delle informazioni effettivamente rese disponibili al modello per l'inferenza corrente. Un agente in produzione può utilizzare tutti e quattro gli elementi, ma essi risolvono problemi diversi.","Risposta diretta","info","callout",{},{"id":237,"data":238,"type":234,"tunes":242},"model-note",{"body":239,"title":240,"variant":241},"La separazione in quattro livelli descritta di seguito è un modello architetturale pratico, non uno standard industriale formale. I fornitori e le pubblicazioni di ricerca utilizzano una terminologia spesso sovrapposta. Lo scopo è di tipo operativo: rendere più chiare le decisioni di progettazione, la proprietà, l'analisi dei guasti e i test.","Informazioni sul modello utilizzato in questo articolo","note",{},{"id":244,"data":245,"type":42,"tunes":247},"h-category",{"text":246,"level":219},"L'errore categoriale: trattare qualsiasi elemento apparentemente persistente come memoria",{},{"id":249,"data":250,"type":226,"tunes":252},"p-cat-1",{"text":251},"Un database vettoriale può archiviare frammenti di conversazione. Un oggetto di sessione può contenere i turni recenti. Una riga di database può memorizzare lo stato corrente del flusso di lavoro. Un sintetizzatore può comprimere il lavoro precedente. Un retriever può recuperare prove passate. Tutti questi elementi possono far sembrare che un agente \"ricordi\", ma non hanno la stessa semantica.",{},{"id":254,"data":255,"type":226,"tunes":257},"p-cat-2",{"text":256},"La distinzione è importante perché le regole di correttezza richieste sono differenti. Lo stato corrente deve essere autorevole e aggiornato. La memoria necessita di regole sul ciclo di vita per la scrittura, la revisione, l'oblio e la gestione dei conflitti. Il recupero richiede pertinenza e qualità nella selezione delle prove. Il contesto richiede una gestione rigorosa del budget di token e protezione da materiale irrilevante o contraddittorio.",{},{"id":259,"data":260,"type":42,"tunes":262},"h-layers",{"text":261,"level":219},"Un'architettura a quattro livelli: stato, memoria, recupero, contesto",{},{"id":264,"data":265,"type":292,"tunes":293},"table-layers",{"content":266,"stretched":43,"withHeadings":14},[267,272,277,282,287],[268,269,270,271],"Livello","Domanda fondamentale","Esempi tipici","Principale criterio di correttezza",[273,274,275,276],"Stato","Cosa è vero adesso?","Stato del task, contenuto del carrello, passaggio del flusso di lavoro, autorizzazioni attive, stato corrente del gioco","Aggiornamento e autorevolezza",[278,279,280,281],"Memoria","Cosa del passato dovrebbe persistere?","Preferenza dell'utente, decisione precedente, vincolo appreso, errore risolto, dato duraturo del progetto","Ciclo di vita, revisione, provenienza, oblio",[283,284,285,286],"Recupero","Quali informazioni dovrebbero essere selezionate ora?","Ricerca vettoriale, ricerca per parole chiave, consultazione di grafi, reranking, ricerca documentale","Pertinenza e selezione delle prove",[288,289,290,291],"Contesto","Cosa vede il modello per questa chiamata?","Istruzioni di sistema, richiesta corrente, passaggi recuperati, risultati degli strumenti, riassunti","Utilità per token, ordinamento, coerenza, rumore","table",{},{"id":295,"data":296,"type":42,"tunes":298},"h-state",{"text":297,"level":218},"1. Stato: cosa è vero adesso",{},{"id":300,"data":301,"type":226,"tunes":303},"p-state-1",{"text":302},"Lo stato appartiene al sistema in esecuzione, non al ricordo del modello. Se un ordine viene annullato, un deployment viene sospeso, un utente perde un'autorizzazione o un task passa da \"in corso\" ad \"approvato\", il valore autorevole deve provenire dal sistema proprietario di tale dato.",{},{"id":305,"data":306,"type":226,"tunes":308},"p-state-2",{"text":307},"Una scelta di progettazione rischiosa è consentire che il riassunto di una vecchia conversazione sostituisca lo stato corrente. L'agente potrebbe ricordare con precisione che l'ordine era attivo ieri e tuttavia commettere un errore oggi. Lo stato richiede quindi una proprietà esplicita, versionamento o timestamp ove pertinenti e una procedura per rileggere la fonte autoritativa prima di intraprendere azioni rilevanti.",{},{"id":310,"data":311,"type":42,"tunes":313},"h-memory",{"text":312,"level":218},"2. Memoria: cosa del passato dovrebbe persistere",{},{"id":315,"data":316,"type":226,"tunes":318},"p-memory-1",{"text":317},"La memoria non è semplicemente \"tutto ciò che possiamo archiviare\". Un livello di memoria efficace stabilisce cosa merita di essere mantenuto, in quale forma, per quanto tempo, con quale provenienza e a quali condizioni debba essere modificato o rimosso.",{},{"id":320,"data":321,"type":226,"tunes":323},"p-memory-2",{"text":322},"La recente ricerca sulla memoria degli agenti ritiene sempre più insufficiente la semplice archiviazione delle trascrizioni grezze. Il lavoro di Microsoft su PlugMem punta a trasformare le cronologie di interazione grezze in conoscenza strutturata e riutilizzabile. Memora separa i contenuti archiviati completi da astrazioni più leggere e indizi di recupero, consentendo ai sistemi operanti su orizzonti temporali estesi di non dover sacrificare i dettagli per ottenere un accesso scalabile.",{},{"id":325,"data":326,"type":42,"tunes":328},"h-retrieval",{"text":327,"level":218},"3. Recupero: cosa dovrebbe essere selezionato ora",{},{"id":330,"data":331,"type":226,"tunes":333},"p-ret-1",{"text":332},"Il recupero è un meccanismo di selezione. Può interrogare documenti esterni, knowledge base interne, memorie archiviate, log, grafi, database o sorgenti ibride. La RAG si colloca normalmente qui: recupera prove, inserisce il materiale selezionato nell'input di lavoro del modello e quindi genera una risposta.",{},{"id":335,"data":336,"type":226,"tunes":338},"p-ret-2",{"text":337},"Tale meccanismo non diventa memoria solo perché il corpus recuperato contiene interazioni passate. Lo stesso retriever può consultare documenti di policy mai sperimentati dall'agente, dati di prodotto di un altro sistema o decisioni precedenti di un utente. Il recupero descrive come le informazioni vengono selezionate; la memoria descrive perché determinate informazioni persistono nel tempo e come tale persistenza viene gestita.",{},{"id":340,"data":341,"type":42,"tunes":343},"h-context",{"text":342,"level":218},"4. Contesto: cosa il modello può effettivamente usare in questo momento",{},{"id":345,"data":346,"type":226,"tunes":348},"p-ctx-1",{"text":347},"Il contesto è il livello rivolto al modello. Anthropic descrive l'ingegneria del contesto come la scelta di quale configurazione del contesto abbia più probabilità di produrre il comportamento desiderato, considerando il contesto come l'insieme dei token a disposizione del modello durante la generazione. Le linee guida di OpenAI sulla memoria di sessione trattano analogamente il ritaglio e la compressione come tecniche di gestione del contesto per le interazioni prolungate degli agenti.",{},{"id":350,"data":351,"type":226,"tunes":353},"p-ctx-2",{"text":352},"Ecco perché un sistema può avere una memoria eccellente e fallire comunque. La memoria rilevante può esistere ma non essere recuperata. Può essere recuperata ma inserita nel contesto accanto a testo contrastante più forte. Può essere compressa fino a far scomparire il dettaglio decisivo. Oppure il modello può ricevere così tanto materiale che le prove utili vengono diluite dal rumore.",{},{"id":355,"data":356,"type":42,"tunes":358},"h-flow",{"text":357,"level":219},"Come interagiscono i livelli",{},{"id":360,"data":361,"type":383,"tunes":384},"flow",{"steps":362,"title":381,"orientation":382},[363,366,369,372,375,378],{"label":364,"description":365},"1. Lettura dello stato autorevole","Carica i fatti correnti relativi ad attività, utente, sistema o ambiente dai sistemi proprietari.",{"label":367,"description":368},"2. Identificazione delle esigenze di memoria","Determina se decisioni, preferenze, lezioni o vincoli a lungo termine precedenti siano rilevanti.",{"label":370,"description":371},"3. Recupero delle evidenze","Cerca nella memoria e nella conoscenza esterna mediante recupero semantico, lessicale, a grafo, strutturato o ibrido.",{"label":373,"description":374},"4. Costruzione del contesto","Assembla istruzioni, stato attuale, evidenze selezionate e cronologia compattata all'interno del contesto utilizzabile dal modello.",{"label":376,"description":377},"5. Generazione o azione","Il modello ragiona sul contesto assemblato e produce una risposta, un piano o una chiamata a uno strumento.",{"label":379,"description":380},"6. Convalida e riscrittura","Convalida gli output rilevanti, aggiorna lo stato autorevole ove consentito e memorizza in modo persistente solo i ricordi che superano i criteri di scrittura.","Un possibile flusso di produzione","auto","processFlow",{},{"id":386,"data":387,"type":42,"tunes":389},"h-rag",{"text":388,"level":219},"Perché la RAG non è memoria",{},{"id":391,"data":392,"type":226,"tunes":394},"p-rag-1",{"text":393},"Il test più semplice è questo: un sistema RAG può recuperare informazioni che l'agente non ha mai visto prima. Questo da solo dimostra che il recupero e la memoria sono astrazioni differenti.",{},{"id":396,"data":397,"type":226,"tunes":399},"p-rag-2",{"text":398},"La RAG risponde a: «Quali evidenze devo recuperare?». Un sistema di memoria deve inoltre rispondere a domande quali: «Questo evento deve diventare una conoscenza duratura?», «Questa nuova informazione sostituisce un ricordo precedente?», «Ci si può ancora fidare di questa memoria?», «Chi è autorizzato a leggerla?» e «Quando dovrebbe essere dimenticata?».",{},{"id":401,"data":402,"type":234,"tunes":406},"rag-trap",{"body":403,"title":404,"variant":405},"Se ogni turno di conversazione viene integrato in un archivio vettoriale e successivamente recuperato per similarità, il sistema dispone di una ricerca persistente, ma non necessariamente di un'architettura di memoria ben governata. La persistenza da sola non definisce la qualità della memoria.","Una comune trappola di progettazione","warning",{},{"id":408,"data":409,"type":42,"tunes":411},"h-test",{"text":410,"level":219},"Il test di separazione a quattro livelli",{},{"id":413,"data":414,"type":226,"tunes":416},"p-test",{"text":415},"Quando una funzionalità viene definita «memoria», poni le seguenti quattro domande. Le risposte rivelano solitamente quale livello sia effettivamente coinvolto.",{},{"id":418,"data":419,"type":292,"tunes":432},"table-test",{"content":420,"stretched":43,"withHeadings":14},[421,424,426,428,430],[422,423],"Domanda","Se sì, hai a che fare principalmente con",[425,273],"Rappresenta la condizione autorevole attuale dell'attività o dell'ambiente?",[427,278],"Questa informazione deve sopravvivere all'esecuzione corrente perché cattura un'esperienza precedente, una preferenza o una decisione utile?",[429,283],"Il problema principale è decidere quali informazioni archiviate o esterne siano rilevanti per la richiesta corrente?",[431,288],"Il problema principale è decidere quali informazioni inserire nella chiamata corrente al modello?",{},{"id":434,"data":435,"type":226,"tunes":437},"p-test-note",{"text":436},"Un singolo componente può partecipare a più di un livello. Un database può memorizzare sia lo stato che la memoria. Un indice vettoriale può recuperare sia la conoscenza esterna che le memorie. La separazione è semantica, non necessariamente fisica.",{},{"id":439,"data":440,"type":42,"tunes":442},"h-fail",{"text":441,"level":219},"Modalità di fallimento causate dal collasso dei livelli",{},{"id":444,"data":445,"type":292,"tunes":475},"table-fail",{"content":446,"stretched":43,"withHeadings":14},[447,451,455,459,463,467,471],[448,449,450],"Modalità di fallimento","Cosa è successo","Risultato",[452,453,454],"Stato obsoleto camuffato da memoria","Si fa affidamento su un vecchio riassunto invece di rileggere il sistema autorevole","L'agente agisce su fatti che un tempo erano veri",[456,457,458],"Memoria trattata come fatto immutabile","Una preferenza o decisione precedente viene memorizzata senza regole di revisione","Le informazioni superate continuano a influenzare le risposte future",[460,461,462],"Risultato di recupero trattato come verità","L'elevata similarità viene scambiata per autorevolezza fattuale","Prevalgono evidenze che sembrano pertinenti ma sono errate",[464,465,466],"Sovraccarico del contesto","Vengono inseriti troppi passaggi recuperati, memorie, log e istruzioni","L'evidenza decisiva viene diluita o contraddetta",[468,469,470],"Scrittura incontrollata nella memoria","Le interpretazioni generate dal modello vengono memorizzate automaticamente come memoria permanente","Gli errori diventano persistenti e si autoalimentano",[472,473,474],"Assenza di confini di provenienza","Il sistema non è in grado di distinguere tra affermazione dell'utente, fatto di origine, inferenza del modello e riassunto generato","I recuperi successivi perdono lo stato probatorio dell'informazione",{},{"id":477,"data":478,"type":42,"tunes":480},"h-decision",{"text":479,"level":219},"Cosa dovrebbe essere memorizzato, recuperato, ricalcolato o riletto?",{},{"id":482,"data":483,"type":292,"tunes":517},"table-decision",{"content":484,"stretched":43,"withHeadings":14},[485,489,493,497,501,505,509,513],[486,487,488],"Tipo di informazione","Trattamento preferito","Motivo",[490,491,492],"Autorizzazione corrente, stato dell'ordine, inventario, stato del flusso di lavoro","Rileggere lo stato autorevole","La freschezza conta più del ricordo",[494,495,496],"Preferenza stabile fornita esplicitamente dall'utente","Memoria, con semantica di modifica\u002Fcancellazione","Utile tra le diverse sessioni e di proprietà dell'utente",[498,499,500],"Decisione presa durante un progetto a lungo termine","Memoria con timestamp, provenienza e regole di superamento","La cronologia è importante, ma le decisioni possono cambiare",[502,503,504],"Specifiche del prodotto o documento di policy pubblica","Recuperare dalla fonte","La conoscenza esterna dovrebbe rimanere legata alla sua fonte di prova",[506,507,508],"Metrica derivata che può essere ricalcolata a basso costo","Ricalcolare","Evita di rendere persistenti valori derivati obsoleti",[510,511,512],"Output grezzo e lungo di uno strumento","Memorizzare esternamente; recuperare o sintetizzare al bisogno","Non consumare il contesto in modo permanente",[514,515,516],"Ipotesi del modello o interpretazione incerta","Non promuovere automaticamente a memoria permanente","L'inferenza non equivale a un fatto",{},{"id":519,"data":520,"type":42,"tunes":522},"h-write",{"text":521,"level":219},"Un sistema di memoria ha bisogno di criteri di scrittura, non solo di criteri di recupero",{},{"id":524,"data":525,"type":226,"tunes":527},"p-write-1",{"text":526},"Le discussioni sull'architettura RAG si concentrano spesso sulla qualità del recupero: chunking, embedding, reranking, ricerca ibrida e grounding. La memoria a lungo termine introduce un altro lato del problema: cosa è autorizzato a entrare nello storage persistente fin dal principio?",{},{"id":529,"data":530,"type":226,"tunes":532},"p-write-2",{"text":531},"Per una memoria dell'agente durevole, una politica di scrittura pratica dovrebbe classificare il candidato alla memoria, preservare la provenienza, rilevare conflitti con le voci esistenti, distinguere l'osservazione dall'inferenza, definire la sensibilità e l'ambito di accesso, e decidere se l'informazione debba scadere, essere revisionata o richiedere la conferma dell'utente.",{},{"id":534,"data":535,"type":234,"tunes":539},"write-tip",{"body":536,"title":537,"variant":538},"Più una memoria errata diventa costosa nel tempo, più la politica di scrittura dovrebbe essere rigorosa. Un recupero errato influisce su una sola risposta. Una memoria durevole errata può influenzare ogni risposta futura che la recupera.","Principio di progettazione","tip",{},{"id":541,"data":542,"type":42,"tunes":544},"h-prov",{"text":543,"level":219},"La provenienza è il ponte tra la memoria e l'evidenza affidabile",{},{"id":546,"data":547,"type":226,"tunes":549},"p-prov-1",{"text":548},"Idealmente, una voce di memoria dovrebbe conservare abbastanza provenienza da rispondere a: da dove proviene, quando è stata osservata, chi o cosa l'ha asserita, è stata fornita dall'utente o dedotta dal modello, quale fonte la supportava ed è stata sostituita da qualcosa?",{},{"id":551,"data":552,"type":226,"tunes":554},"p-prov-2",{"text":553},"Senza provenienza, una memoria compressa può diventare più autorevole dell'evidenza che l'ha generata. Questo è particolarmente rischioso negli agenti a lungo termine in cui riassunti e astrazioni vengono riutilizzati ripetutamente. Il sistema può preservare la conclusione perdendo le condizioni in base alle quali la conclusione era valida.",{},{"id":556,"data":557,"type":42,"tunes":559},"h-budget",{"text":558,"level":219},"Più memoria non significa più contesto",{},{"id":561,"data":562,"type":226,"tunes":564},"p-budget-1",{"text":563},"Un agente a lungo termine può accumulare gigabyte di stato, cronologia, documenti e informazioni apprese. Il modello non ha bisogno — e di solito non dovrebbe — ricevere tutto questo a ogni passaggio. Lo scopo del recupero, della sintesi, del compattamento e della memoria strutturata è convertire un ampio spazio informativo persistente in un contesto operativo ridotto e pertinente.",{},{"id":566,"data":567,"type":226,"tunes":569},"p-budget-2",{"text":568},"Questo è anche il motivo per cui finestre di contesto più ampie non eliminano l'architettura della memoria. La capacità riduce parte della pressione, ma non risolve la freschezza, l'autorevolezza, le evidenze contrastanti, l'ambito di privacy, la qualità della scrittura, la revisione o la decisione su cosa meriti attenzione.",{},{"id":571,"data":572,"type":42,"tunes":574},"h-check",{"text":573,"level":219},"Checklist di progettazione per la produzione",{},{"id":576,"data":577,"type":591,"tunes":592},"checklist",{"meta":578,"items":579,"style":590},{},[580,581,582,583,584,585,586,587,588,589],"Definire quali sistemi detengono lo stato di runtime autorevole.","Definire quali informazioni sono idonee a diventare memoria durevole.","Mantenere distinguibili i fatti forniti dall'utente, le evidenze esterne e le inferenze del modello.","Associare timestamp, provenienza, ambito e semantica di revisione alle memorie importanti.","Trattare la rilevanza del recupero come distinta dall'autorevolezza fattuale.","Costruire il contesto intenzionalmente invece di iniettare tutto il materiale recuperato.","Rileggere i fatti volatili invece di fidarsi delle vecchie memorie.","Ricalcolare i valori derivati economici quando l'obsolescenza risulterebbe costosa.","Testare le scritture in memoria con la stessa cura delle letture della memoria.","Misurare i fallimenti separatamente: errore di stato, errore di memoria, errore di recupero, errore di costruzione del contesto, errore di ragionamento ed errore di azione.","unordered","list",{},{"id":594,"data":595,"type":42,"tunes":597},"h-change",{"text":596,"level":219},"Cosa cambierebbe questa risposta?",{},{"id":599,"data":600,"type":226,"tunes":602},"p-change-1",{"text":601},"Il confine tra questi livelli può spostarsi man mano che le piattaforme per agenti evolvono. Un fornitore può offrire un servizio di memoria gestita che esegue internamente archiviazione, revisione, recupero, riassunto e costruzione del contesto. Ciò può far collassare i componenti di implementazione, ma non elimina i problemi architetturali. È comunque necessario sapere se un elemento restituito sia lo stato attuale, una memoria persistente, un'evidenza recuperata o semplicemente testo inserito nel contesto.",{},{"id":604,"data":605,"type":226,"tunes":607},"p-change-2",{"text":606},"La raccomandazione cambierebbe anche per i sistemi privi di continuità tra sessioni, per i sistemi in cui ogni attività inizia da un corpus immutabile pulito o per i flussi di lavoro strettamente delimitati in cui tutto lo stato rilevante rientra in sicurezza all'interno di una sola chiamata. In questi casi, un livello di memoria a lungo termine dedicato può aggiungere complessità senza apportare sufficiente valore.",{},{"id":609,"data":610,"type":42,"tunes":612},"h-limit",{"text":611,"level":219},"Limitazioni",{},{"id":614,"data":615,"type":226,"tunes":617},"p-limit",{"text":616},"La terminologia nei sistemi ad agenti è ancora in rapida evoluzione. Alcuni framework chiamano la cronologia delle conversazioni \"memoria\", altri usano \"sessione\", \"checkpoint\", \"store\", \"contesto\" o \"stato\". Anche i sistemi di ricerca definiscono la memoria a diversi livelli, dalla ricerca persistente all'adattamento interno appreso. Il modello descritto in questo articolo separa deliberatamente le responsabilità operative invece di tentare di imporre un vocabolario universale.",{},{"id":619,"data":620,"type":42,"tunes":622},"h-conclusion",{"text":621,"level":219},"Conclusione",{},{"id":624,"data":625,"type":226,"tunes":627},"p-conclusion-1",{"text":626},"La domanda utile non è \"Questo agente ha memoria?\", bensì: cos'è lo stato, cosa viene reso persistente dall'esperienza, come vengono recuperate le informazioni rilevanti e cosa raggiunge infine il modello sotto forma di contesto?",{},{"id":629,"data":630,"type":226,"tunes":632},"p-conclusion-2",{"text":631},"Una volta separate queste responsabilità, le scelte progettuali diventano più facili da verificare. I fatti obsoleti possono essere ricondotti alla titolarità dello stato. Un richiamo inefficace può essere ricondotto al ciclo di vita della memoria o al recupero. I prompt sovraccarichi possono essere ricondotti alla costruzione del contesto. Le allucinazioni persistenti possono essere ricondotte ai criteri di scrittura e alla provenienza. La RAG rimane uno strumento importante, ma è solo una parte di un'architettura affidabile per agenti a lungo termine.",{},{"id":634,"data":635,"type":42,"tunes":637},"h-faq",{"text":636,"level":219},"FAQ",{},{"id":639,"data":640,"type":639,"tunes":659},"faq",{"items":641,"title":658},[642,646,650,654],{"id":643,"answer":644,"question":645},"faq1","No. La RAG è principalmente un pattern di recupero che seleziona le informazioni per una chiamata al modello. La memoria riguarda invece quali informazioni derivanti da interazioni o esperienze precedenti persistono nel tempo e come vengono gestite.","La RAG equivale alla memoria degli agenti IA?",{"id":647,"answer":648,"question":649},"faq2","Può farne parte, ma un database vettoriale di per sé è solo un componente di archiviazione e recupero. Un'architettura di memoria per ambienti di produzione richiede anche decisioni su cosa archiviare, sulla provenienza, sulle revisioni, sui conflitti, sull'accesso, sulla scadenza e sull'oblio.","Un database vettoriale è una memoria per agenti?",{"id":651,"answer":652,"question":653},"faq3","Non necessariamente. Un contesto più ampio aiuta con la capacità, ma non risolve la persistenza delle informazioni tra sessioni diverse, la freschezza, la provenienza, l'ambito di privacy, la revisione o la decisione su cosa riutilizzare in seguito.","Una finestra di contesto più ampia elimina la necessità della memoria?",{"id":655,"answer":656,"question":657},"faq4","In genere, l'applicazione o il sistema di dominio autorevole dovrebbe rimanere la fonte della verità per lo stato volatile. La memoria può registrare la cronologia o il significato delle modifiche di stato, ma le azioni consequenziali dovrebbero rileggere i valori autorevoli correnti.","Lo stato corrente dell'applicazione dovrebbe essere memorizzato come memoria?","Memoria degli agenti IA, RAG, stato e contesto",{},{"id":661,"data":662,"type":42,"tunes":664},"h-glossary",{"text":663,"level":219},"Glossario",{},{"id":666,"data":667,"type":666,"tunes":690},"glossary",{"title":668,"entries":669},"Termini chiave",[670,673,676,679,682,686],{"term":273,"anchor":671,"definition":672},"state","La condizione autorevole corrente di un'attività, un'applicazione, un utente, un flusso di lavoro o un ambiente.",{"term":278,"anchor":674,"definition":675},"memory","Informazioni derivanti da un'esperienza o da un'interazione precedente che persistono perché potrebbero essere utili in seguito e sono soggette a regole sul ciclo di vita.",{"term":283,"anchor":677,"definition":678},"retrieval","Il meccanismo utilizzato per selezionare informazioni potenzialmente rilevanti da memoria, conoscenze esterne, database, grafi o altri archivi.",{"term":288,"anchor":680,"definition":681},"context","Le informazioni effettivamente disponibili per il modello linguistico durante uno specifico passaggio di inferenza o generazione.",{"term":683,"anchor":684,"definition":685},"RAG","rag","Generazione aumentata dal recupero (Retrieval-Augmented Generation): un pattern in cui le informazioni esterne o archiviate vengono recuperate e fornite a un modello generativo per migliorarne l'output corrente.",{"term":687,"anchor":688,"definition":689},"Provenienza","provenance","Metadati che descrivono l'origine delle informazioni, quando sono state osservate, chi o cosa le ha asserite e come sono state trasformate.",{},{"id":692,"data":693,"type":42,"tunes":695},"h-sources",{"text":694,"level":219},"Fonti primarie e approfondimenti",{},{"id":697,"data":698,"type":705,"tunes":706},"openai-session",{"link":699,"meta":700},"https:\u002F\u002Fdevelopers.openai.com\u002Fcookbook\u002Fexamples\u002Fagents_sdk\u002Fsession_memory",{"image":701,"title":703,"description":704},{"url":702},"","OpenAI — Context Engineering: gestione della memoria a breve termine con le sessioni","Guida di OpenAI sul trimming e sulla compressione del contesto per agenti a lungo termine.","linkTool",{},{"id":708,"data":709,"type":705,"tunes":715},"openai-sandbox",{"link":710,"meta":711},"https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Fagents\u002Fsandboxes",{"image":712,"title":713,"description":714},{"url":702},"OpenAI — Sandbox Agents","Documentazione che illustra la memoria persistente come funzionalità dotata di divulgazione progressiva e comportamento di lettura\u002Fscrittura.",{},{"id":717,"data":718,"type":705,"tunes":724},"anthropic-context",{"link":719,"meta":720},"https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Feffective-context-engineering-for-ai-agents",{"image":721,"title":722,"description":723},{"url":702},"Anthropic — Effective Context Engineering for AI Agents","Linee guida ingegneristiche sulla cura di un contesto limitato per il modello al fine di garantire un comportamento affidabile degli agenti.",{},{"id":726,"data":727,"type":705,"tunes":733},"ms-memora",{"link":728,"meta":729},"https:\u002F\u002Fwww.microsoft.com\u002Fen-us\u002Fresearch\u002Fblog\u002Fmemora-a-harmonic-memory-representation-balancing-abstraction-and-specificity\u002F",{"image":730,"title":731,"description":732},{"url":702},"Microsoft Research — Memora","Ricerca sul bilanciamento tra astrazione e specificità nella memoria degli agenti a lungo raggio.",{},{"id":735,"data":736,"type":705,"tunes":742},"ms-plugmem",{"link":737,"meta":738},"https:\u002F\u002Fwww.microsoft.com\u002Fen-us\u002Fresearch\u002Fblog\u002Ffrom-raw-interaction-to-reusable-knowledge-rethinking-memory-for-ai-agents\u002F",{"image":739,"title":740,"description":741},{"url":702},"Microsoft Research — PlugMem","Ricerca sulla conversione delle cronologie grezze di interazione degli agenti in conoscenza strutturata e riutilizzabile.",{},{"id":744,"data":745,"type":705,"tunes":751},"ms-ace",{"link":746,"meta":747},"https:\u002F\u002Fwww.microsoft.com\u002Fen-us\u002Fresearch\u002Fpublication\u002Fagentic-context-engineering-evolving-contexts-for-self-improving-language-models\u002F",{"image":748,"title":749,"description":750},{"url":702},"Microsoft Research — Agentic Context Engineering (ACE)","Ricerca sull'evoluzione del contesto sotto forma di playbook strutturati anziché riscrivere o comprimere continuamente ogni cosa.",{},"2.31","Memoria dell'agente, RAG, stato e contesto vengono spesso usati come se fossero intercambiabili. Non lo sono. Questo pratico modello architetturale separa i quattro livelli, mostra dove si colloca ciascuno e spiega cosa si rompe quando i sistemi li fanno collassare in uno solo.","\u002Fuploads\u002F2026\u002F09\u002Fai-agent-memory-is-not-rag-how-to-separate-memory-retrieval-state-and-context-1790350560308-np0xy6.webp","ai-agent-memory-is-not-rag-how-to-separate-memory-retrieval-state-and-context-1790350560308-np0xy6","PUBLISHED","2026-09-25T11:34:00.000Z","2026-09-25T15:34:35.975Z","2026-09-25T21:01:33.061Z",{"en":761,"de":762,"sr":763,"es":764,"fr":765,"it":766,"ru":767,"zh":768},"\u002Fblog\u002Fai-agent-memory-is-not-rag-how-to-separate-memory-retrieval-state-and-context","\u002Fde\u002Fblog\u002Fai-agent-memory-is-not-rag-how-to-separate-memory-retrieval-state-and-context","\u002Fsr\u002Fblog\u002Fai-agent-memory-is-not-rag-how-to-separate-memory-retrieval-state-and-context","\u002Fes\u002Fblog\u002Fai-agent-memory-is-not-rag-how-to-separate-memory-retrieval-state-and-context","\u002Ffr\u002Fblog\u002Fai-agent-memory-is-not-rag-how-to-separate-memory-retrieval-state-and-context","\u002Fit\u002Fblog\u002Fai-agent-memory-is-not-rag-how-to-separate-memory-retrieval-state-and-context","\u002Fru\u002Fblog\u002Fai-agent-memory-is-not-rag-how-to-separate-memory-retrieval-state-and-context","\u002Fzh\u002Fblog\u002Fai-agent-memory-is-not-rag-how-to-separate-memory-retrieval-state-and-context",[770,774,778],{"id":771,"name":772,"slug":773},64,"Architettura dell’informazione","information-architecture",{"id":775,"name":776,"slug":777},57,"Limiti dei dati","data-boundaries",{"id":779,"name":780,"slug":781},85,"Gate di qualità","quality-gates",{"id":783,"login":784,"email":785,"displayName":786},"20","rooth8233","aleksandar@stajic.de","Aleksandar Stajić",[788,1230],{"lang":789,"title":790,"content":791,"contentJson":792,"excerpt":1229},"en","AI Agent Memory Is Not RAG: How to Separate Memory, Retrieval, State and Context","{\"time\":1790350647507,\"blocks\":[{\"id\":\"_4kVYTpqbe\",\"type\":\"tableOfContents\",\"data\":{\"title\":\"Contents\",\"minLevel\":2,\"maxLevel\":3},\"tunes\":{}},{\"id\":\"intro\",\"type\":\"paragraph\",\"data\":{\"text\":\"AI agent memory, retrieval-augmented generation (RAG), runtime state, and model context are often discussed as if they were interchangeable. They are not. Collapsing them into one concept makes agent systems harder to reason about, harder to debug, and easier to make stale or unsafe.\"},\"tunes\":{}},{\"id\":\"direct\",\"type\":\"callout\",\"data\":{\"variant\":\"info\",\"title\":\"Direct answer\",\"body\":\"\u003Cstrong>RAG is not agent memory.\u003C\u002Fstrong> RAG is a retrieval pattern: it selects information that may be useful for the current model call. Memory is persistent information derived from prior interaction or experience and managed across time. State represents what is currently true about the running task or environment. Context is the information actually made available to the model for the current inference. A production agent may use all four, but they solve different problems.\"},\"tunes\":{}},{\"id\":\"model-note\",\"type\":\"callout\",\"data\":{\"variant\":\"note\",\"title\":\"About the model used in this article\",\"body\":\"The four-layer separation below is a practical architecture model, not a formal industry standard. Vendors and research papers use overlapping terminology. The purpose is operational: to make design decisions, ownership, failure analysis, and testing clearer.\"},\"tunes\":{}},{\"id\":\"h-category\",\"type\":\"header\",\"data\":{\"text\":\"The category error: treating every persistent-looking thing as memory\",\"level\":2},\"tunes\":{}},{\"id\":\"p-cat-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"A vector database can store conversation fragments. A session object can carry recent turns. A database row can hold the current workflow status. A summarizer can compress previous work. A retriever can fetch old evidence. All of these can make an agent appear to “remember,” but they do not have the same semantics.\"},\"tunes\":{}},{\"id\":\"p-cat-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"The distinction matters because the required correctness rules are different. Current state must be authoritative and fresh. Memory needs lifecycle rules for writing, revising, forgetting, and conflict handling. Retrieval needs relevance and evidence-selection quality. Context needs token-budget discipline and protection against irrelevant or conflicting material.\"},\"tunes\":{}},{\"id\":\"h-layers\",\"type\":\"header\",\"data\":{\"text\":\"A four-layer architecture: state, memory, retrieval, context\",\"level\":2},\"tunes\":{}},{\"id\":\"table-layers\",\"type\":\"table\",\"data\":{\"withHeadings\":true,\"stretched\":false,\"content\":[[\"Layer\",\"Core question\",\"Typical examples\",\"Primary correctness concern\"],[\"State\",\"What is true now?\",\"Task status, cart contents, workflow step, active permissions, current game state\",\"Freshness and authority\"],[\"Memory\",\"What from the past should persist?\",\"User preference, prior decision, learned constraint, resolved failure, durable project fact\",\"Lifecycle, revision, provenance, forgetting\"],[\"Retrieval\",\"What information should be selected now?\",\"Vector search, keyword search, graph lookup, reranking, document search\",\"Relevance and evidence selection\"],[\"Context\",\"What does the model see for this call?\",\"System instructions, current request, retrieved passages, tool results, summaries\",\"Utility per token, ordering, consistency, noise\"]]},\"tunes\":{}},{\"id\":\"h-state\",\"type\":\"header\",\"data\":{\"text\":\"1. State: what is true now\",\"level\":3},\"tunes\":{}},{\"id\":\"p-state-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"State belongs to the running system, not to the model's recollection. If an order is cancelled, a deployment is paused, a user loses a permission, or a task moves from “in progress” to “approved,” the authoritative value should come from the system that owns that fact.\"},\"tunes\":{}},{\"id\":\"p-state-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"A dangerous design is to let an old conversation summary become a substitute for current state. The agent may accurately remember that the order was active yesterday and still be wrong today. State therefore needs explicit ownership, versioning or timestamps where relevant, and a path to re-read the source of truth before consequential actions.\"},\"tunes\":{}},{\"id\":\"h-memory\",\"type\":\"header\",\"data\":{\"text\":\"2. Memory: what from the past should persist\",\"level\":3},\"tunes\":{}},{\"id\":\"p-memory-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Memory is not simply “everything we can store.” A useful memory layer decides what deserves persistence, in what form, for how long, with what provenance, and under what conditions it must be revised or removed.\"},\"tunes\":{}},{\"id\":\"p-memory-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"Recent agent-memory research increasingly treats raw transcript storage as insufficient. Microsoft's PlugMem work focuses on transforming raw interaction histories into structured reusable knowledge. Memora separates rich stored content from lighter abstractions and retrieval cues so that long-horizon systems do not have to choose between detail and scalable access.\"},\"tunes\":{}},{\"id\":\"h-retrieval\",\"type\":\"header\",\"data\":{\"text\":\"3. Retrieval: what should be selected now\",\"level\":3},\"tunes\":{}},{\"id\":\"p-ret-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Retrieval is a selection mechanism. It can search external documents, internal knowledge bases, stored memories, logs, graphs, databases, or mixed sources. RAG normally sits here: retrieve evidence, place selected material into the model's working input, then generate an answer.\"},\"tunes\":{}},{\"id\":\"p-ret-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"That mechanism does not become memory merely because the retrieved corpus contains past interactions. The same retriever can search policy documents that the agent never experienced, product data from another system, or a user's prior decisions. Retrieval describes how information is selected; memory describes why some information persists across time and how that persistence is governed.\"},\"tunes\":{}},{\"id\":\"h-context\",\"type\":\"header\",\"data\":{\"text\":\"4. Context: what the model can actually use right now\",\"level\":3},\"tunes\":{}},{\"id\":\"p-ctx-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Context is the model-facing layer. Anthropic describes context engineering as deciding what configuration of context is most likely to produce the desired behaviour, with context being the tokens available to the model during generation. OpenAI's session-memory guidance similarly treats trimming and compression as context-management techniques for long-running agent interactions.\"},\"tunes\":{}},{\"id\":\"p-ctx-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"This is why a system can have excellent memory and still fail. The relevant memory may exist but not be retrieved. It may be retrieved but placed into context next to stronger conflicting text. It may be compressed until the decisive detail disappears. Or the model may receive so much material that useful evidence is diluted by noise.\"},\"tunes\":{}},{\"id\":\"h-flow\",\"type\":\"header\",\"data\":{\"text\":\"How the layers interact\",\"level\":2},\"tunes\":{}},{\"id\":\"flow\",\"type\":\"processFlow\",\"data\":{\"title\":\"One possible production flow\",\"orientation\":\"auto\",\"steps\":[{\"label\":\"1. Read authoritative state\",\"description\":\"Load current task, user, system, or environment facts from the systems that own them.\"},{\"label\":\"2. Identify memory needs\",\"description\":\"Determine whether prior decisions, preferences, lessons, or long-term constraints are relevant.\"},{\"label\":\"3. Retrieve evidence\",\"description\":\"Search memory and external knowledge using semantic, lexical, graph, structured, or hybrid retrieval.\"},{\"label\":\"4. Build context\",\"description\":\"Assemble instructions, current state, selected evidence, and compacted history within the model's usable context.\"},{\"label\":\"5. Generate or act\",\"description\":\"The model reasons over the assembled context and produces an answer, plan, or tool call.\"},{\"label\":\"6. Validate and write back\",\"description\":\"Validate consequential outputs, update authoritative state where permitted, and persist only memories that pass the write policy.\"}]},\"tunes\":{}},{\"id\":\"h-rag\",\"type\":\"header\",\"data\":{\"text\":\"Why RAG is not memory\",\"level\":2},\"tunes\":{}},{\"id\":\"p-rag-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"The simplest test is this: a RAG system can retrieve information the agent has never seen before. That alone shows that retrieval and memory are different abstractions.\"},\"tunes\":{}},{\"id\":\"p-rag-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"RAG answers: “Which evidence should I fetch?” A memory system must additionally answer questions such as: “Should this event become durable knowledge?”, “Does this new information supersede an older memory?”, “Can this memory still be trusted?”, “Who is allowed to read it?”, and “When should it be forgotten?”\"},\"tunes\":{}},{\"id\":\"rag-trap\",\"type\":\"callout\",\"data\":{\"variant\":\"warning\",\"title\":\"A common design trap\",\"body\":\"If every conversation turn is embedded into a vector store and later retrieved by similarity, the system has persistent lookup, but not necessarily a well-governed memory architecture. Persistence alone does not define memory quality.\"},\"tunes\":{}},{\"id\":\"h-test\",\"type\":\"header\",\"data\":{\"text\":\"The four-layer separation test\",\"level\":2},\"tunes\":{}},{\"id\":\"p-test\",\"type\":\"paragraph\",\"data\":{\"text\":\"When a feature is called “memory,” ask the following four questions. The answers usually reveal which layer is actually involved.\"},\"tunes\":{}},{\"id\":\"table-test\",\"type\":\"table\",\"data\":{\"withHeadings\":true,\"stretched\":false,\"content\":[[\"Question\",\"If yes, you are primarily dealing with\"],[\"Does this represent the current authoritative condition of the task or environment?\",\"State\"],[\"Must this information survive the current run because it captures useful prior experience, preference, or decision?\",\"Memory\"],[\"Is the main problem deciding which stored or external information is relevant to the current request?\",\"Retrieval\"],[\"Is the main problem deciding what information to place inside the current model call?\",\"Context\"]]},\"tunes\":{}},{\"id\":\"p-test-note\",\"type\":\"paragraph\",\"data\":{\"text\":\"A single component can participate in more than one layer. A database may store both state and memory. A vector index may retrieve both external knowledge and memories. The separation is semantic, not necessarily physical.\"},\"tunes\":{}},{\"id\":\"h-fail\",\"type\":\"header\",\"data\":{\"text\":\"Failure modes caused by collapsing the layers\",\"level\":2},\"tunes\":{}},{\"id\":\"table-fail\",\"type\":\"table\",\"data\":{\"withHeadings\":true,\"stretched\":false,\"content\":[[\"Failure mode\",\"What happened\",\"Result\"],[\"Stale state disguised as memory\",\"An old summary is trusted instead of re-reading the authoritative system\",\"The agent acts on facts that were once true\"],[\"Memory treated as immutable fact\",\"A prior preference or decision is stored without revision rules\",\"Superseded information keeps influencing future answers\"],[\"Retrieval hit treated as truth\",\"High similarity is mistaken for factual authority\",\"Relevant-looking but incorrect evidence dominates\"],[\"Context overload\",\"Too many retrieved passages, memories, logs, and instructions are injected\",\"The decisive evidence is diluted or contradicted\"],[\"Uncontrolled memory write\",\"Model-generated interpretations are stored automatically as durable memory\",\"Errors become persistent and self-reinforcing\"],[\"No provenance boundary\",\"The system cannot distinguish user statement, source fact, model inference, and generated summary\",\"Later retrieval loses the evidential status of the information\"]]},\"tunes\":{}},{\"id\":\"h-decision\",\"type\":\"header\",\"data\":{\"text\":\"What should be remembered, retrieved, recomputed, or re-read?\",\"level\":2},\"tunes\":{}},{\"id\":\"table-decision\",\"type\":\"table\",\"data\":{\"withHeadings\":true,\"stretched\":false,\"content\":[[\"Information type\",\"Preferred treatment\",\"Reason\"],[\"Current permission, order status, inventory, workflow status\",\"Re-read authoritative state\",\"Freshness matters more than recollection\"],[\"Stable user preference explicitly provided by the user\",\"Memory, with edit\u002Fdelete semantics\",\"Useful across sessions and owned by the user\"],[\"Decision made during a long-running project\",\"Memory with timestamp, provenance, and supersession rules\",\"The history matters, but decisions can change\"],[\"Product specification or public policy document\",\"Retrieve from source\",\"External knowledge should remain tied to its evidence\"],[\"Derived metric that can be cheaply recalculated\",\"Recompute\",\"Avoid persisting stale derived values\"],[\"Long raw tool output\",\"Store externally; retrieve or summarize when needed\",\"Do not consume context permanently\"],[\"Model hypothesis or uncertain interpretation\",\"Do not promote automatically to durable memory\",\"Inference is not equivalent to fact\"]]},\"tunes\":{}},{\"id\":\"h-write\",\"type\":\"header\",\"data\":{\"text\":\"A memory system needs a write policy, not only a retrieval policy\",\"level\":2},\"tunes\":{}},{\"id\":\"p-write-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"RAG architecture discussions often focus on retrieval quality: chunking, embeddings, reranking, hybrid search, and grounding. Long-term memory introduces another side of the problem: what is allowed to enter the persistent store in the first place?\"},\"tunes\":{}},{\"id\":\"p-write-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"For durable agent memory, a practical write policy should classify the candidate memory, preserve provenance, detect conflicts with existing entries, distinguish observation from inference, define sensitivity and access scope, and decide whether the information should expire, be revised, or require user confirmation.\"},\"tunes\":{}},{\"id\":\"write-tip\",\"type\":\"callout\",\"data\":{\"variant\":\"tip\",\"title\":\"Design principle\",\"body\":\"The more expensive a wrong memory becomes over time, the stricter the write policy should be. A bad retrieval affects one answer. A bad durable memory can affect every future answer that retrieves it.\"},\"tunes\":{}},{\"id\":\"h-prov\",\"type\":\"header\",\"data\":{\"text\":\"Provenance is the bridge between memory and reliable evidence\",\"level\":2},\"tunes\":{}},{\"id\":\"p-prov-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"A memory entry should ideally retain enough provenance to answer: where did this come from, when was it observed, who or what asserted it, was it user-provided or model-inferred, what source supported it, and has anything superseded it?\"},\"tunes\":{}},{\"id\":\"p-prov-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"Without provenance, a compressed memory can become more authoritative than the evidence that created it. This is especially risky in long-running agents where summaries and abstractions are repeatedly reused. The system may preserve the conclusion while losing the conditions under which the conclusion was valid.\"},\"tunes\":{}},{\"id\":\"h-budget\",\"type\":\"header\",\"data\":{\"text\":\"More memory does not mean more context\",\"level\":2},\"tunes\":{}},{\"id\":\"p-budget-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"A long-lived agent may accumulate gigabytes of state, history, documents, and learned information. The model does not need — and usually should not receive — all of it for each step. The purpose of retrieval, summarization, compaction, and structured memory is to convert a large persistent information space into a small, relevant working context.\"},\"tunes\":{}},{\"id\":\"p-budget-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"This is also why larger context windows do not eliminate memory architecture. Capacity reduces some pressure, but it does not solve freshness, authority, conflicting evidence, privacy scope, write quality, revision, or deciding what deserves attention.\"},\"tunes\":{}},{\"id\":\"h-check\",\"type\":\"header\",\"data\":{\"text\":\"Production design checklist\",\"level\":2},\"tunes\":{}},{\"id\":\"checklist\",\"type\":\"list\",\"data\":{\"style\":\"unordered\",\"meta\":{},\"items\":[\"Define which systems own authoritative runtime state.\",\"Define which information is eligible to become durable memory.\",\"Keep user-provided facts, external evidence, and model inference distinguishable.\",\"Attach timestamps, provenance, scope, and revision semantics to important memories.\",\"Treat retrieval relevance as different from factual authority.\",\"Build context intentionally instead of injecting all retrieved material.\",\"Re-read volatile facts instead of trusting old memories.\",\"Recompute cheap derived values when staleness would be costly.\",\"Test memory writes as carefully as memory reads.\",\"Measure failures separately: state error, memory error, retrieval error, context-construction error, reasoning error, and action error.\"]},\"tunes\":{}},{\"id\":\"h-change\",\"type\":\"header\",\"data\":{\"text\":\"What would change this answer?\",\"level\":2},\"tunes\":{}},{\"id\":\"p-change-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"The boundary between these layers can move as agent platforms evolve. A vendor may offer a managed memory service that internally performs storage, revision, retrieval, summarization, and context construction. That can collapse implementation components, but it does not eliminate the architectural questions. You still need to know whether a returned item is current state, persistent memory, retrieved evidence, or simply text placed into context.\"},\"tunes\":{}},{\"id\":\"p-change-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"The recommendation would also change for systems with no cross-session continuity, systems where every task starts from a clean immutable corpus, or tightly bounded workflows where all relevant state fits safely inside one call. In those cases, a dedicated long-term memory layer may add complexity without enough value.\"},\"tunes\":{}},{\"id\":\"h-limit\",\"type\":\"header\",\"data\":{\"text\":\"Limitations\",\"level\":2},\"tunes\":{}},{\"id\":\"p-limit\",\"type\":\"paragraph\",\"data\":{\"text\":\"Terminology in agent systems is still moving quickly. Some frameworks call conversation history “memory,” others use “session,” “checkpoint,” “store,” “context,” or “state.” Research systems also define memory at different levels, from persistent lookup to learned internal adaptation. The model in this article deliberately separates operational responsibilities rather than trying to impose one universal vocabulary.\"},\"tunes\":{}},{\"id\":\"h-conclusion\",\"type\":\"header\",\"data\":{\"text\":\"Conclusion\",\"level\":2},\"tunes\":{}},{\"id\":\"p-conclusion-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"The useful question is not “Does this agent have memory?” It is: What is state, what is persisted from experience, how is relevant information retrieved, and what finally reaches the model as context?\"},\"tunes\":{}},{\"id\":\"p-conclusion-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"Once those responsibilities are separated, design choices become easier to test. Stale facts can be traced to state ownership. Bad recall can be traced to memory lifecycle or retrieval. Overloaded prompts can be traced to context construction. Persistent hallucinations can be traced to write policy and provenance. RAG remains an important tool, but it is only one part of a reliable long-running agent architecture.\"},\"tunes\":{}},{\"id\":\"h-faq\",\"type\":\"header\",\"data\":{\"text\":\"FAQ\",\"level\":2},\"tunes\":{}},{\"id\":\"faq\",\"type\":\"faq\",\"data\":{\"title\":\"AI agent memory, RAG, state and context\",\"items\":[{\"id\":\"faq1\",\"question\":\"Is RAG the same as AI agent memory?\",\"answer\":\"No. RAG is primarily a retrieval pattern that selects information for a model call. Memory concerns what information from prior interactions or experience persists across time and how that information is governed.\"},{\"id\":\"faq2\",\"question\":\"Is a vector database an agent memory?\",\"answer\":\"It can be part of one, but a vector database by itself is a storage and retrieval component. A production memory architecture also needs decisions about what to store, provenance, revision, conflicts, access, expiration, and forgetting.\"},{\"id\":\"faq3\",\"question\":\"Does a larger context window remove the need for memory?\",\"answer\":\"Not necessarily. Larger context helps with capacity, but it does not solve persistent knowledge across sessions, freshness, provenance, privacy scope, revision, or deciding what should be reused later.\"},{\"id\":\"faq4\",\"question\":\"Should current application state be stored as memory?\",\"answer\":\"Usually the authoritative application or domain system should remain the source of truth for volatile state. Memory may record the history or significance of state changes, but consequential actions should re-read current authoritative values.\"}]},\"tunes\":{}},{\"id\":\"h-glossary\",\"type\":\"header\",\"data\":{\"text\":\"Glossary\",\"level\":2},\"tunes\":{}},{\"id\":\"glossary\",\"type\":\"glossary\",\"data\":{\"title\":\"Key terms\",\"entries\":[{\"term\":\"State\",\"definition\":\"The current authoritative condition of a task, application, user, workflow, or environment.\",\"anchor\":\"state\"},{\"term\":\"Memory\",\"definition\":\"Information from prior experience or interaction that persists because it may be useful later and is subject to lifecycle rules.\",\"anchor\":\"memory\"},{\"term\":\"Retrieval\",\"definition\":\"The mechanism used to select potentially relevant information from memory, external knowledge, databases, graphs, or other stores.\",\"anchor\":\"retrieval\"},{\"term\":\"Context\",\"definition\":\"The information actually available to the language model during a particular inference or generation step.\",\"anchor\":\"context\"},{\"term\":\"RAG\",\"definition\":\"Retrieval-augmented generation: a pattern in which external or stored information is retrieved and supplied to a generative model to improve the current output.\",\"anchor\":\"rag\"},{\"term\":\"Provenance\",\"definition\":\"Metadata describing where information came from, when it was observed, who or what asserted it, and how it was transformed.\",\"anchor\":\"provenance\"}]},\"tunes\":{}},{\"id\":\"h-sources\",\"type\":\"header\",\"data\":{\"text\":\"Primary sources and further reading\",\"level\":2},\"tunes\":{}},{\"id\":\"openai-session\",\"type\":\"linkTool\",\"data\":{\"link\":\"https:\u002F\u002Fdevelopers.openai.com\u002Fcookbook\u002Fexamples\u002Fagents_sdk\u002Fsession_memory\",\"meta\":{\"image\":{\"url\":\"\"},\"title\":\"OpenAI — Context Engineering: Short-Term Memory Management with Sessions\",\"description\":\"OpenAI guidance on trimming and compression for long-running agent context.\"}},\"tunes\":{}},{\"id\":\"openai-sandbox\",\"type\":\"linkTool\",\"data\":{\"link\":\"https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Fagents\u002Fsandboxes\",\"meta\":{\"image\":{\"url\":\"\"},\"title\":\"OpenAI — Sandbox Agents\",\"description\":\"Documentation showing persistent memory as a capability with progressive disclosure and read\u002Fwrite behaviour.\"}},\"tunes\":{}},{\"id\":\"anthropic-context\",\"type\":\"linkTool\",\"data\":{\"link\":\"https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Feffective-context-engineering-for-ai-agents\",\"meta\":{\"image\":{\"url\":\"\"},\"title\":\"Anthropic — Effective Context Engineering for AI Agents\",\"description\":\"Engineering guidance on curating finite model context for reliable agent behaviour.\"}},\"tunes\":{}},{\"id\":\"ms-memora\",\"type\":\"linkTool\",\"data\":{\"link\":\"https:\u002F\u002Fwww.microsoft.com\u002Fen-us\u002Fresearch\u002Fblog\u002Fmemora-a-harmonic-memory-representation-balancing-abstraction-and-specificity\u002F\",\"meta\":{\"image\":{\"url\":\"\"},\"title\":\"Microsoft Research — Memora\",\"description\":\"Research on balancing abstraction and specificity in long-horizon agent memory.\"}},\"tunes\":{}},{\"id\":\"ms-plugmem\",\"type\":\"linkTool\",\"data\":{\"link\":\"https:\u002F\u002Fwww.microsoft.com\u002Fen-us\u002Fresearch\u002Fblog\u002Ffrom-raw-interaction-to-reusable-knowledge-rethinking-memory-for-ai-agents\u002F\",\"meta\":{\"image\":{\"url\":\"\"},\"title\":\"Microsoft Research — PlugMem\",\"description\":\"Research on converting raw agent interaction histories into reusable structured knowledge.\"}},\"tunes\":{}},{\"id\":\"ms-ace\",\"type\":\"linkTool\",\"data\":{\"link\":\"https:\u002F\u002Fwww.microsoft.com\u002Fen-us\u002Fresearch\u002Fpublication\u002Fagentic-context-engineering-evolving-contexts-for-self-improving-language-models\u002F\",\"meta\":{\"image\":{\"url\":\"\"},\"title\":\"Microsoft Research — Agentic Context Engineering (ACE)\",\"description\":\"Research on evolving context as structured playbooks rather than repeatedly rewriting or compressing everything.\"}},\"tunes\":{}}],\"version\":\"2.31.6\"}",{"time":793,"blocks":794,"version":1228},1790350647507,[795,799,803,808,813,817,821,825,829,858,862,866,870,874,878,882,886,890,894,898,902,906,910,933,937,941,945,950,954,958,973,977,981,1013,1017,1053,1057,1061,1065,1070,1074,1078,1082,1086,1090,1094,1098,1113,1117,1121,1125,1129,1133,1137,1141,1145,1148,1165,1169,1187,1191,1198,1204,1210,1216,1222],{"id":215,"data":796,"type":220,"tunes":798},{"title":797,"maxLevel":218,"minLevel":219},"Contents",{},{"id":223,"data":800,"type":226,"tunes":802},{"text":801},"AI agent memory, retrieval-augmented generation (RAG), runtime state, and model context are often discussed as if they were interchangeable. They are not. Collapsing them into one concept makes agent systems harder to reason about, harder to debug, and easier to make stale or unsafe.",{},{"id":229,"data":804,"type":234,"tunes":807},{"body":805,"title":806,"variant":233},"\u003Cstrong>RAG is not agent memory.\u003C\u002Fstrong> RAG is a retrieval pattern: it selects information that may be useful for the current model call. Memory is persistent information derived from prior interaction or experience and managed across time. State represents what is currently true about the running task or environment. Context is the information actually made available to the model for the current inference. A production agent may use all four, but they solve different problems.","Direct answer",{},{"id":237,"data":809,"type":234,"tunes":812},{"body":810,"title":811,"variant":241},"The four-layer separation below is a practical architecture model, not a formal industry standard. Vendors and research papers use overlapping terminology. The purpose is operational: to make design decisions, ownership, failure analysis, and testing clearer.","About the model used in this article",{},{"id":244,"data":814,"type":42,"tunes":816},{"text":815,"level":219},"The category error: treating every persistent-looking thing as memory",{},{"id":249,"data":818,"type":226,"tunes":820},{"text":819},"A vector database can store conversation fragments. A session object can carry recent turns. A database row can hold the current workflow status. A summarizer can compress previous work. A retriever can fetch old evidence. All of these can make an agent appear to “remember,” but they do not have the same semantics.",{},{"id":254,"data":822,"type":226,"tunes":824},{"text":823},"The distinction matters because the required correctness rules are different. Current state must be authoritative and fresh. Memory needs lifecycle rules for writing, revising, forgetting, and conflict handling. Retrieval needs relevance and evidence-selection quality. Context needs token-budget discipline and protection against irrelevant or conflicting material.",{},{"id":259,"data":826,"type":42,"tunes":828},{"text":827,"level":219},"A four-layer architecture: state, memory, retrieval, context",{},{"id":264,"data":830,"type":292,"tunes":857},{"content":831,"stretched":43,"withHeadings":14},[832,837,842,847,852],[833,834,835,836],"Layer","Core question","Typical examples","Primary correctness concern",[838,839,840,841],"State","What is true now?","Task status, cart contents, workflow step, active permissions, current game state","Freshness and authority",[843,844,845,846],"Memory","What from the past should persist?","User preference, prior decision, learned constraint, resolved failure, durable project fact","Lifecycle, revision, provenance, forgetting",[848,849,850,851],"Retrieval","What information should be selected now?","Vector search, keyword search, graph lookup, reranking, document search","Relevance and evidence selection",[853,854,855,856],"Context","What does the model see for this call?","System instructions, current request, retrieved passages, tool results, summaries","Utility per token, ordering, consistency, noise",{},{"id":295,"data":859,"type":42,"tunes":861},{"text":860,"level":218},"1. State: what is true now",{},{"id":300,"data":863,"type":226,"tunes":865},{"text":864},"State belongs to the running system, not to the model's recollection. If an order is cancelled, a deployment is paused, a user loses a permission, or a task moves from “in progress” to “approved,” the authoritative value should come from the system that owns that fact.",{},{"id":305,"data":867,"type":226,"tunes":869},{"text":868},"A dangerous design is to let an old conversation summary become a substitute for current state. The agent may accurately remember that the order was active yesterday and still be wrong today. State therefore needs explicit ownership, versioning or timestamps where relevant, and a path to re-read the source of truth before consequential actions.",{},{"id":310,"data":871,"type":42,"tunes":873},{"text":872,"level":218},"2. Memory: what from the past should persist",{},{"id":315,"data":875,"type":226,"tunes":877},{"text":876},"Memory is not simply “everything we can store.” A useful memory layer decides what deserves persistence, in what form, for how long, with what provenance, and under what conditions it must be revised or removed.",{},{"id":320,"data":879,"type":226,"tunes":881},{"text":880},"Recent agent-memory research increasingly treats raw transcript storage as insufficient. Microsoft's PlugMem work focuses on transforming raw interaction histories into structured reusable knowledge. Memora separates rich stored content from lighter abstractions and retrieval cues so that long-horizon systems do not have to choose between detail and scalable access.",{},{"id":325,"data":883,"type":42,"tunes":885},{"text":884,"level":218},"3. Retrieval: what should be selected now",{},{"id":330,"data":887,"type":226,"tunes":889},{"text":888},"Retrieval is a selection mechanism. It can search external documents, internal knowledge bases, stored memories, logs, graphs, databases, or mixed sources. RAG normally sits here: retrieve evidence, place selected material into the model's working input, then generate an answer.",{},{"id":335,"data":891,"type":226,"tunes":893},{"text":892},"That mechanism does not become memory merely because the retrieved corpus contains past interactions. The same retriever can search policy documents that the agent never experienced, product data from another system, or a user's prior decisions. Retrieval describes how information is selected; memory describes why some information persists across time and how that persistence is governed.",{},{"id":340,"data":895,"type":42,"tunes":897},{"text":896,"level":218},"4. Context: what the model can actually use right now",{},{"id":345,"data":899,"type":226,"tunes":901},{"text":900},"Context is the model-facing layer. Anthropic describes context engineering as deciding what configuration of context is most likely to produce the desired behaviour, with context being the tokens available to the model during generation. OpenAI's session-memory guidance similarly treats trimming and compression as context-management techniques for long-running agent interactions.",{},{"id":350,"data":903,"type":226,"tunes":905},{"text":904},"This is why a system can have excellent memory and still fail. The relevant memory may exist but not be retrieved. It may be retrieved but placed into context next to stronger conflicting text. It may be compressed until the decisive detail disappears. Or the model may receive so much material that useful evidence is diluted by noise.",{},{"id":355,"data":907,"type":42,"tunes":909},{"text":908,"level":219},"How the layers interact",{},{"id":360,"data":911,"type":383,"tunes":932},{"steps":912,"title":931,"orientation":382},[913,916,919,922,925,928],{"label":914,"description":915},"1. Read authoritative state","Load current task, user, system, or environment facts from the systems that own them.",{"label":917,"description":918},"2. Identify memory needs","Determine whether prior decisions, preferences, lessons, or long-term constraints are relevant.",{"label":920,"description":921},"3. Retrieve evidence","Search memory and external knowledge using semantic, lexical, graph, structured, or hybrid retrieval.",{"label":923,"description":924},"4. Build context","Assemble instructions, current state, selected evidence, and compacted history within the model's usable context.",{"label":926,"description":927},"5. Generate or act","The model reasons over the assembled context and produces an answer, plan, or tool call.",{"label":929,"description":930},"6. Validate and write back","Validate consequential outputs, update authoritative state where permitted, and persist only memories that pass the write policy.","One possible production flow",{},{"id":386,"data":934,"type":42,"tunes":936},{"text":935,"level":219},"Why RAG is not memory",{},{"id":391,"data":938,"type":226,"tunes":940},{"text":939},"The simplest test is this: a RAG system can retrieve information the agent has never seen before. That alone shows that retrieval and memory are different abstractions.",{},{"id":396,"data":942,"type":226,"tunes":944},{"text":943},"RAG answers: “Which evidence should I fetch?” A memory system must additionally answer questions such as: “Should this event become durable knowledge?”, “Does this new information supersede an older memory?”, “Can this memory still be trusted?”, “Who is allowed to read it?”, and “When should it be forgotten?”",{},{"id":401,"data":946,"type":234,"tunes":949},{"body":947,"title":948,"variant":405},"If every conversation turn is embedded into a vector store and later retrieved by similarity, the system has persistent lookup, but not necessarily a well-governed memory architecture. Persistence alone does not define memory quality.","A common design trap",{},{"id":408,"data":951,"type":42,"tunes":953},{"text":952,"level":219},"The four-layer separation test",{},{"id":413,"data":955,"type":226,"tunes":957},{"text":956},"When a feature is called “memory,” ask the following four questions. The answers usually reveal which layer is actually involved.",{},{"id":418,"data":959,"type":292,"tunes":972},{"content":960,"stretched":43,"withHeadings":14},[961,964,966,968,970],[962,963],"Question","If yes, you are primarily dealing with",[965,838],"Does this represent the current authoritative condition of the task or environment?",[967,843],"Must this information survive the current run because it captures useful prior experience, preference, or decision?",[969,848],"Is the main problem deciding which stored or external information is relevant to the current request?",[971,853],"Is the main problem deciding what information to place inside the current model call?",{},{"id":434,"data":974,"type":226,"tunes":976},{"text":975},"A single component can participate in more than one layer. A database may store both state and memory. A vector index may retrieve both external knowledge and memories. The separation is semantic, not necessarily physical.",{},{"id":439,"data":978,"type":42,"tunes":980},{"text":979,"level":219},"Failure modes caused by collapsing the layers",{},{"id":444,"data":982,"type":292,"tunes":1012},{"content":983,"stretched":43,"withHeadings":14},[984,988,992,996,1000,1004,1008],[985,986,987],"Failure mode","What happened","Result",[989,990,991],"Stale state disguised as memory","An old summary is trusted instead of re-reading the authoritative system","The agent acts on facts that were once true",[993,994,995],"Memory treated as immutable fact","A prior preference or decision is stored without revision rules","Superseded information keeps influencing future answers",[997,998,999],"Retrieval hit treated as truth","High similarity is mistaken for factual authority","Relevant-looking but incorrect evidence dominates",[1001,1002,1003],"Context overload","Too many retrieved passages, memories, logs, and instructions are injected","The decisive evidence is diluted or contradicted",[1005,1006,1007],"Uncontrolled memory write","Model-generated interpretations are stored automatically as durable memory","Errors become persistent and self-reinforcing",[1009,1010,1011],"No provenance boundary","The system cannot distinguish user statement, source fact, model inference, and generated summary","Later retrieval loses the evidential status of the information",{},{"id":477,"data":1014,"type":42,"tunes":1016},{"text":1015,"level":219},"What should be remembered, retrieved, recomputed, or re-read?",{},{"id":482,"data":1018,"type":292,"tunes":1052},{"content":1019,"stretched":43,"withHeadings":14},[1020,1024,1028,1032,1036,1040,1044,1048],[1021,1022,1023],"Information type","Preferred treatment","Reason",[1025,1026,1027],"Current permission, order status, inventory, workflow status","Re-read authoritative state","Freshness matters more than recollection",[1029,1030,1031],"Stable user preference explicitly provided by the user","Memory, with edit\u002Fdelete semantics","Useful across sessions and owned by the user",[1033,1034,1035],"Decision made during a long-running project","Memory with timestamp, provenance, and supersession rules","The history matters, but decisions can change",[1037,1038,1039],"Product specification or public policy document","Retrieve from source","External knowledge should remain tied to its evidence",[1041,1042,1043],"Derived metric that can be cheaply recalculated","Recompute","Avoid persisting stale derived values",[1045,1046,1047],"Long raw tool output","Store externally; retrieve or summarize when needed","Do not consume context permanently",[1049,1050,1051],"Model hypothesis or uncertain interpretation","Do not promote automatically to durable memory","Inference is not equivalent to fact",{},{"id":519,"data":1054,"type":42,"tunes":1056},{"text":1055,"level":219},"A memory system needs a write policy, not only a retrieval policy",{},{"id":524,"data":1058,"type":226,"tunes":1060},{"text":1059},"RAG architecture discussions often focus on retrieval quality: chunking, embeddings, reranking, hybrid search, and grounding. Long-term memory introduces another side of the problem: what is allowed to enter the persistent store in the first place?",{},{"id":529,"data":1062,"type":226,"tunes":1064},{"text":1063},"For durable agent memory, a practical write policy should classify the candidate memory, preserve provenance, detect conflicts with existing entries, distinguish observation from inference, define sensitivity and access scope, and decide whether the information should expire, be revised, or require user confirmation.",{},{"id":534,"data":1066,"type":234,"tunes":1069},{"body":1067,"title":1068,"variant":538},"The more expensive a wrong memory becomes over time, the stricter the write policy should be. A bad retrieval affects one answer. A bad durable memory can affect every future answer that retrieves it.","Design principle",{},{"id":541,"data":1071,"type":42,"tunes":1073},{"text":1072,"level":219},"Provenance is the bridge between memory and reliable evidence",{},{"id":546,"data":1075,"type":226,"tunes":1077},{"text":1076},"A memory entry should ideally retain enough provenance to answer: where did this come from, when was it observed, who or what asserted it, was it user-provided or model-inferred, what source supported it, and has anything superseded it?",{},{"id":551,"data":1079,"type":226,"tunes":1081},{"text":1080},"Without provenance, a compressed memory can become more authoritative than the evidence that created it. This is especially risky in long-running agents where summaries and abstractions are repeatedly reused. The system may preserve the conclusion while losing the conditions under which the conclusion was valid.",{},{"id":556,"data":1083,"type":42,"tunes":1085},{"text":1084,"level":219},"More memory does not mean more context",{},{"id":561,"data":1087,"type":226,"tunes":1089},{"text":1088},"A long-lived agent may accumulate gigabytes of state, history, documents, and learned information. The model does not need — and usually should not receive — all of it for each step. The purpose of retrieval, summarization, compaction, and structured memory is to convert a large persistent information space into a small, relevant working context.",{},{"id":566,"data":1091,"type":226,"tunes":1093},{"text":1092},"This is also why larger context windows do not eliminate memory architecture. Capacity reduces some pressure, but it does not solve freshness, authority, conflicting evidence, privacy scope, write quality, revision, or deciding what deserves attention.",{},{"id":571,"data":1095,"type":42,"tunes":1097},{"text":1096,"level":219},"Production design checklist",{},{"id":576,"data":1099,"type":591,"tunes":1112},{"meta":1100,"items":1101,"style":590},{},[1102,1103,1104,1105,1106,1107,1108,1109,1110,1111],"Define which systems own authoritative runtime state.","Define which information is eligible to become durable memory.","Keep user-provided facts, external evidence, and model inference distinguishable.","Attach timestamps, provenance, scope, and revision semantics to important memories.","Treat retrieval relevance as different from factual authority.","Build context intentionally instead of injecting all retrieved material.","Re-read volatile facts instead of trusting old memories.","Recompute cheap derived values when staleness would be costly.","Test memory writes as carefully as memory reads.","Measure failures separately: state error, memory error, retrieval error, context-construction error, reasoning error, and action error.",{},{"id":594,"data":1114,"type":42,"tunes":1116},{"text":1115,"level":219},"What would change this answer?",{},{"id":599,"data":1118,"type":226,"tunes":1120},{"text":1119},"The boundary between these layers can move as agent platforms evolve. A vendor may offer a managed memory service that internally performs storage, revision, retrieval, summarization, and context construction. That can collapse implementation components, but it does not eliminate the architectural questions. You still need to know whether a returned item is current state, persistent memory, retrieved evidence, or simply text placed into context.",{},{"id":604,"data":1122,"type":226,"tunes":1124},{"text":1123},"The recommendation would also change for systems with no cross-session continuity, systems where every task starts from a clean immutable corpus, or tightly bounded workflows where all relevant state fits safely inside one call. In those cases, a dedicated long-term memory layer may add complexity without enough value.",{},{"id":609,"data":1126,"type":42,"tunes":1128},{"text":1127,"level":219},"Limitations",{},{"id":614,"data":1130,"type":226,"tunes":1132},{"text":1131},"Terminology in agent systems is still moving quickly. Some frameworks call conversation history “memory,” others use “session,” “checkpoint,” “store,” “context,” or “state.” Research systems also define memory at different levels, from persistent lookup to learned internal adaptation. The model in this article deliberately separates operational responsibilities rather than trying to impose one universal vocabulary.",{},{"id":619,"data":1134,"type":42,"tunes":1136},{"text":1135,"level":219},"Conclusion",{},{"id":624,"data":1138,"type":226,"tunes":1140},{"text":1139},"The useful question is not “Does this agent have memory?” It is: What is state, what is persisted from experience, how is relevant information retrieved, and what finally reaches the model as context?",{},{"id":629,"data":1142,"type":226,"tunes":1144},{"text":1143},"Once those responsibilities are separated, design choices become easier to test. Stale facts can be traced to state ownership. Bad recall can be traced to memory lifecycle or retrieval. Overloaded prompts can be traced to context construction. Persistent hallucinations can be traced to write policy and provenance. RAG remains an important tool, but it is only one part of a reliable long-running agent architecture.",{},{"id":634,"data":1146,"type":42,"tunes":1147},{"text":636,"level":219},{},{"id":639,"data":1149,"type":639,"tunes":1164},{"items":1150,"title":1163},[1151,1154,1157,1160],{"id":643,"answer":1152,"question":1153},"No. RAG is primarily a retrieval pattern that selects information for a model call. Memory concerns what information from prior interactions or experience persists across time and how that information is governed.","Is RAG the same as AI agent memory?",{"id":647,"answer":1155,"question":1156},"It can be part of one, but a vector database by itself is a storage and retrieval component. A production memory architecture also needs decisions about what to store, provenance, revision, conflicts, access, expiration, and forgetting.","Is a vector database an agent memory?",{"id":651,"answer":1158,"question":1159},"Not necessarily. Larger context helps with capacity, but it does not solve persistent knowledge across sessions, freshness, provenance, privacy scope, revision, or deciding what should be reused later.","Does a larger context window remove the need for memory?",{"id":655,"answer":1161,"question":1162},"Usually the authoritative application or domain system should remain the source of truth for volatile state. Memory may record the history or significance of state changes, but consequential actions should re-read current authoritative values.","Should current application state be stored as memory?","AI agent memory, RAG, state and context",{},{"id":661,"data":1166,"type":42,"tunes":1168},{"text":1167,"level":219},"Glossary",{},{"id":666,"data":1170,"type":666,"tunes":1186},{"title":1171,"entries":1172},"Key terms",[1173,1175,1177,1179,1181,1183],{"term":838,"anchor":671,"definition":1174},"The current authoritative condition of a task, application, user, workflow, or environment.",{"term":843,"anchor":674,"definition":1176},"Information from prior experience or interaction that persists because it may be useful later and is subject to lifecycle rules.",{"term":848,"anchor":677,"definition":1178},"The mechanism used to select potentially relevant information from memory, external knowledge, databases, graphs, or other stores.",{"term":853,"anchor":680,"definition":1180},"The information actually available to the language model during a particular inference or generation step.",{"term":683,"anchor":684,"definition":1182},"Retrieval-augmented generation: a pattern in which external or stored information is retrieved and supplied to a generative model to improve the current output.",{"term":1184,"anchor":688,"definition":1185},"Provenance","Metadata describing where information came from, when it was observed, who or what asserted it, and how it was transformed.",{},{"id":692,"data":1188,"type":42,"tunes":1190},{"text":1189,"level":219},"Primary sources and further reading",{},{"id":697,"data":1192,"type":705,"tunes":1197},{"link":699,"meta":1193},{"image":1194,"title":1195,"description":1196},{"url":702},"OpenAI — Context Engineering: Short-Term Memory Management with Sessions","OpenAI guidance on trimming and compression for long-running agent context.",{},{"id":708,"data":1199,"type":705,"tunes":1203},{"link":710,"meta":1200},{"image":1201,"title":713,"description":1202},{"url":702},"Documentation showing persistent memory as a capability with progressive disclosure and read\u002Fwrite behaviour.",{},{"id":717,"data":1205,"type":705,"tunes":1209},{"link":719,"meta":1206},{"image":1207,"title":722,"description":1208},{"url":702},"Engineering guidance on curating finite model context for reliable agent behaviour.",{},{"id":726,"data":1211,"type":705,"tunes":1215},{"link":728,"meta":1212},{"image":1213,"title":731,"description":1214},{"url":702},"Research on balancing abstraction and specificity in long-horizon agent memory.",{},{"id":735,"data":1217,"type":705,"tunes":1221},{"link":737,"meta":1218},{"image":1219,"title":740,"description":1220},{"url":702},"Research on converting raw agent interaction histories into reusable structured knowledge.",{},{"id":744,"data":1223,"type":705,"tunes":1227},{"link":746,"meta":1224},{"image":1225,"title":749,"description":1226},{"url":702},"Research on evolving context as structured playbooks rather than repeatedly rewriting or compressing everything.",{},"2.31.6","Agent memory, RAG, state, and context are often used as if they were interchangeable. They are not. This practical architecture model separates the four layers, shows where each belongs, and explains what breaks when systems collapse them into one.",{"lang":7,"title":208,"content":210,"contentJson":1231,"excerpt":753},{"time":212,"blocks":1232,"version":752},[1233,1236,1239,1242,1245,1248,1251,1254,1257,1266,1269,1272,1275,1278,1281,1284,1287,1290,1293,1296,1299,1302,1305,1315,1318,1321,1324,1327,1330,1333,1342,1345,1348,1359,1362,1374,1377,1380,1383,1386,1389,1392,1395,1398,1401,1404,1407,1412,1415,1418,1421,1424,1427,1430,1433,1436,1439,1447,1450,1460,1463,1468,1473,1478,1483,1488],{"id":215,"data":1234,"type":220,"tunes":1235},{"title":217,"maxLevel":218,"minLevel":219},{},{"id":223,"data":1237,"type":226,"tunes":1238},{"text":225},{},{"id":229,"data":1240,"type":234,"tunes":1241},{"body":231,"title":232,"variant":233},{},{"id":237,"data":1243,"type":234,"tunes":1244},{"body":239,"title":240,"variant":241},{},{"id":244,"data":1246,"type":42,"tunes":1247},{"text":246,"level":219},{},{"id":249,"data":1249,"type":226,"tunes":1250},{"text":251},{},{"id":254,"data":1252,"type":226,"tunes":1253},{"text":256},{},{"id":259,"data":1255,"type":42,"tunes":1256},{"text":261,"level":219},{},{"id":264,"data":1258,"type":292,"tunes":1265},{"content":1259,"stretched":43,"withHeadings":14},[1260,1261,1262,1263,1264],[268,269,270,271],[273,274,275,276],[278,279,280,281],[283,284,285,286],[288,289,290,291],{},{"id":295,"data":1267,"type":42,"tunes":1268},{"text":297,"level":218},{},{"id":300,"data":1270,"type":226,"tunes":1271},{"text":302},{},{"id":305,"data":1273,"type":226,"tunes":1274},{"text":307},{},{"id":310,"data":1276,"type":42,"tunes":1277},{"text":312,"level":218},{},{"id":315,"data":1279,"type":226,"tunes":1280},{"text":317},{},{"id":320,"data":1282,"type":226,"tunes":1283},{"text":322},{},{"id":325,"data":1285,"type":42,"tunes":1286},{"text":327,"level":218},{},{"id":330,"data":1288,"type":226,"tunes":1289},{"text":332},{},{"id":335,"data":1291,"type":226,"tunes":1292},{"text":337},{},{"id":340,"data":1294,"type":42,"tunes":1295},{"text":342,"level":218},{},{"id":345,"data":1297,"type":226,"tunes":1298},{"text":347},{},{"id":350,"data":1300,"type":226,"tunes":1301},{"text":352},{},{"id":355,"data":1303,"type":42,"tunes":1304},{"text":357,"level":219},{},{"id":360,"data":1306,"type":383,"tunes":1314},{"steps":1307,"title":381,"orientation":382},[1308,1309,1310,1311,1312,1313],{"label":364,"description":365},{"label":367,"description":368},{"label":370,"description":371},{"label":373,"description":374},{"label":376,"description":377},{"label":379,"description":380},{},{"id":386,"data":1316,"type":42,"tunes":1317},{"text":388,"level":219},{},{"id":391,"data":1319,"type":226,"tunes":1320},{"text":393},{},{"id":396,"data":1322,"type":226,"tunes":1323},{"text":398},{},{"id":401,"data":1325,"type":234,"tunes":1326},{"body":403,"title":404,"variant":405},{},{"id":408,"data":1328,"type":42,"tunes":1329},{"text":410,"level":219},{},{"id":413,"data":1331,"type":226,"tunes":1332},{"text":415},{},{"id":418,"data":1334,"type":292,"tunes":1341},{"content":1335,"stretched":43,"withHeadings":14},[1336,1337,1338,1339,1340],[422,423],[425,273],[427,278],[429,283],[431,288],{},{"id":434,"data":1343,"type":226,"tunes":1344},{"text":436},{},{"id":439,"data":1346,"type":42,"tunes":1347},{"text":441,"level":219},{},{"id":444,"data":1349,"type":292,"tunes":1358},{"content":1350,"stretched":43,"withHeadings":14},[1351,1352,1353,1354,1355,1356,1357],[448,449,450],[452,453,454],[456,457,458],[460,461,462],[464,465,466],[468,469,470],[472,473,474],{},{"id":477,"data":1360,"type":42,"tunes":1361},{"text":479,"level":219},{},{"id":482,"data":1363,"type":292,"tunes":1373},{"content":1364,"stretched":43,"withHeadings":14},[1365,1366,1367,1368,1369,1370,1371,1372],[486,487,488],[490,491,492],[494,495,496],[498,499,500],[502,503,504],[506,507,508],[510,511,512],[514,515,516],{},{"id":519,"data":1375,"type":42,"tunes":1376},{"text":521,"level":219},{},{"id":524,"data":1378,"type":226,"tunes":1379},{"text":526},{},{"id":529,"data":1381,"type":226,"tunes":1382},{"text":531},{},{"id":534,"data":1384,"type":234,"tunes":1385},{"body":536,"title":537,"variant":538},{},{"id":541,"data":1387,"type":42,"tunes":1388},{"text":543,"level":219},{},{"id":546,"data":1390,"type":226,"tunes":1391},{"text":548},{},{"id":551,"data":1393,"type":226,"tunes":1394},{"text":553},{},{"id":556,"data":1396,"type":42,"tunes":1397},{"text":558,"level":219},{},{"id":561,"data":1399,"type":226,"tunes":1400},{"text":563},{},{"id":566,"data":1402,"type":226,"tunes":1403},{"text":568},{},{"id":571,"data":1405,"type":42,"tunes":1406},{"text":573,"level":219},{},{"id":576,"data":1408,"type":591,"tunes":1411},{"meta":1409,"items":1410,"style":590},{},[580,581,582,583,584,585,586,587,588,589],{},{"id":594,"data":1413,"type":42,"tunes":1414},{"text":596,"level":219},{},{"id":599,"data":1416,"type":226,"tunes":1417},{"text":601},{},{"id":604,"data":1419,"type":226,"tunes":1420},{"text":606},{},{"id":609,"data":1422,"type":42,"tunes":1423},{"text":611,"level":219},{},{"id":614,"data":1425,"type":226,"tunes":1426},{"text":616},{},{"id":619,"data":1428,"type":42,"tunes":1429},{"text":621,"level":219},{},{"id":624,"data":1431,"type":226,"tunes":1432},{"text":626},{},{"id":629,"data":1434,"type":226,"tunes":1435},{"text":631},{},{"id":634,"data":1437,"type":42,"tunes":1438},{"text":636,"level":219},{},{"id":639,"data":1440,"type":639,"tunes":1446},{"items":1441,"title":658},[1442,1443,1444,1445],{"id":643,"answer":644,"question":645},{"id":647,"answer":648,"question":649},{"id":651,"answer":652,"question":653},{"id":655,"answer":656,"question":657},{},{"id":661,"data":1448,"type":42,"tunes":1449},{"text":663,"level":219},{},{"id":666,"data":1451,"type":666,"tunes":1459},{"title":668,"entries":1452},[1453,1454,1455,1456,1457,1458],{"term":273,"anchor":671,"definition":672},{"term":278,"anchor":674,"definition":675},{"term":283,"anchor":677,"definition":678},{"term":288,"anchor":680,"definition":681},{"term":683,"anchor":684,"definition":685},{"term":687,"anchor":688,"definition":689},{},{"id":692,"data":1461,"type":42,"tunes":1462},{"text":694,"level":219},{},{"id":697,"data":1464,"type":705,"tunes":1467},{"link":699,"meta":1465},{"image":1466,"title":703,"description":704},{"url":702},{},{"id":708,"data":1469,"type":705,"tunes":1472},{"link":710,"meta":1470},{"image":1471,"title":713,"description":714},{"url":702},{},{"id":717,"data":1474,"type":705,"tunes":1477},{"link":719,"meta":1475},{"image":1476,"title":722,"description":723},{"url":702},{},{"id":726,"data":1479,"type":705,"tunes":1482},{"link":728,"meta":1480},{"image":1481,"title":731,"description":732},{"url":702},{},{"id":735,"data":1484,"type":705,"tunes":1487},{"link":737,"meta":1485},{"image":1486,"title":740,"description":741},{"url":702},{},{"id":744,"data":1489,"type":705,"tunes":1492},{"link":746,"meta":1490},{"image":1491,"title":749,"description":750},{"url":702},{},"Post erfolgreich abgerufen",{"items":1495,"source":1566,"manualIds":1567,"manualMatchedIds":1568},[1496,1503,1510,1517,1524,1531,1538,1545,1552,1559],{"id":1497,"slug":1498,"title":1499,"excerpt":1500,"featuredImage":1501,"publishedAt":1502},"472","why-more-context-can-make-ai-answers-worse","Perché più contesto può peggiorare le risposte dell'IA","Una finestra di contesto più ampia non garantisce una risposta migliore. Questo articolo spiega come la diluizione del segnale, le prove contrastanti, lo stato obsoleto, la sensibilità alla posizione e la compressione con perdita possano ridurre l'affidabilità dell'IA—e introduce un pratico Context Pressure Test.","\u002Fuploads\u002F2026\u002F09\u002Fwhy-more-context-can-make-ai-answers-worse-1790351615793-2ntv2v.webp","2026-09-25T11:51:00.000Z",{"id":1504,"slug":1505,"title":1506,"excerpt":1507,"featuredImage":1508,"publishedAt":1509},"478","what-is-rag-the-simplest-explanation-of-how-it-works","Cos'è il RAG? La spiegazione più semplice di come funziona","RAG sembra complicato, ma l'idea è semplice: prima che un'IA risponda, cerca prima informazioni utili da una fonte di conoscenza e fornisce tali informazioni al modello linguistico. Questa guida spiega RAG, LLM, stato, memoria e strumenti utilizzando un semplice modello mentale.","\u002Fuploads\u002F2026\u002F09\u002Fwhat-is-rag-the-simplest-explanation-of-how-it-works-1790377492124-khjagt.webp","2026-09-25T19:03:00.000Z",{"id":1511,"slug":1512,"title":1513,"excerpt":1514,"featuredImage":1515,"publishedAt":1516},"469","rag-failed-but-which-layer-actually-failed-a-diagnostic-method","RAG non riuscito — Ma quale livello ha effettivamente fallito? Un metodo diagnostico","Quando una risposta RAG è sbagliata, dare la colpa al recupero o al modello è troppo vago. Questo metodo diagnostico isola la copertura delle fonti, la costruzione della query, il recupero, il ranking, l'assemblaggio del contesto, la generazione, l'attribuzione delle evidenze e l'aggiornamento—così il guasto effettivo può essere riprodotto e corretto.","\u002Fuploads\u002F2026\u002F09\u002Frag-failed-but-which-layer-actually-failed-a-diagnostic-method-1790350847177-pior4c.webp","2026-09-24T19:39:00.000Z",{"id":1518,"slug":1519,"title":1520,"excerpt":1521,"featuredImage":1522,"publishedAt":1523},"476","mcp-vs-a2a-vs-ucp-vs-ap2-vs-a2ui-the-agent-protocol-stack-explained","MCP vs A2A vs UCP vs AP2 vs A2UI: Lo stack di protocolli degli agenti spiegato","MCP, A2A, UCP, AP2 e A2UI sono spesso presentati come standard per agenti concorrenti. Per lo più risolvono problemi di interoperabilità diversi. Questa guida mappa ciascun protocollo sul confine che effettivamente standardizza—e mostra come possano lavorare insieme in un unico sistema di produzione.","\u002Fuploads\u002F2026\u002F09\u002Fmcp-vs-a2a-vs-ucp-vs-ap2-vs-a2ui-the-agent-protocol-stack-explained-1790352625869-2ezle0.webp","2026-09-25T12:09:00.000Z",{"id":1525,"slug":1526,"title":1527,"excerpt":1528,"featuredImage":1529,"publishedAt":1530},"470","what-should-an-ai-agent-remember-forget-recompute-or-retrieve-again","Cosa dovrebbe ricordare, dimenticare, ricalcolare o recuperare di nuovo un agente IA?","Gli agenti a lunga esecuzione non dovrebbero ricordare tutto. Questo articolo fornisce un modello pratico di ciclo di vita per decidere cosa appartiene alla memoria durevole, cosa dovrebbe essere recuperato di nuovo, cosa è più sicuro ricalcolare e cosa dovrebbe scadere o essere sostituito.","\u002Fuploads\u002F2026\u002F09\u002Fwhat-should-an-ai-agent-remember-forget-recompute-or-retrieve-again-1790351131087-iehz28.webp","2026-09-25T09:43:00.000Z",{"id":1532,"slug":1533,"title":1534,"excerpt":1535,"featuredImage":1536,"publishedAt":1537},"363","front-und-backend-entwicklung","Sviluppo Front-end e Backend","Lo sviluppo front-end e back-end è una parte essenziale dello sviluppo web e comporta la creazione di applicazioni web e siti web. Lo sviluppo front-end si concentra sull'interfaccia utente, mentre lo sviluppo back-end è responsabile della programmazione e della gestione del lato server.","\u002Fuploads\u002F2026\u002F03\u002Ffront-und-backend-entwicklung-1774872219531-wyu4i1.webp","2023-04-12T11:11:00.000Z",{"id":1539,"slug":1540,"title":1541,"excerpt":1542,"featuredImage":1543,"publishedAt":1544},"364","tipps-fuer-die-verbesserung-der-seo-suchmaschinenoptimierung","Padroneggiare il Flusso di Lavoro SEO: Strategie di Ottimizzazione Essenziali per la Crescita Organica","Un flusso di lavoro SEO strutturato è fondamentale per una crescita organica sostenibile. Scopri le dieci strategie fondamentali, dalla ricerca di parole chiave e dall'ottimizzazione tecnica alla qualità dei contenuti e all'analisi delle prestazioni.","\u002Fuploads\u002F2026\u002F03\u002Ftipps-fuer-die-verbesserung-der-seo-suchmaschinenoptimierung-1774866098131-hwkzrg.webp","2024-01-26T06:35:00.000Z",{"id":1546,"slug":1547,"title":1548,"excerpt":1549,"featuredImage":1550,"publishedAt":1551},"466","the-gpu-is-not-the-product-future-proof-private-ai-architecture","La GPU non è il prodotto: architettura di IA privata a prova di futuro","L'infrastruttura di IA privata non dovrebbe essere progettata attorno a una sola GPU o a un solo modello. Un approccio più resiliente combina GPU veloci per l'inferenza, sistemi di IA ricchi di memoria, nodi di IA fisica e modelli cloud di frontiera opzionali dietro un livello di routing consapevole delle capacità.","\u002Fuploads\u002F2026\u002F09\u002Fthe-gpu-is-not-the-product-future-proof-private-ai-architecture-1790140878812-8hsl39.webp","2026-09-23T01:19:00.000Z",{"id":1553,"slug":1554,"title":1555,"excerpt":1556,"featuredImage":1557,"publishedAt":1558},"467","the-answer-validity-boundary-the-missing-layer-between-relevance-and-reliable-ai-answers","Il confine della validità della risposta: il livello mancante tra rilevanza e risposte AI affidabili","Una fonte può essere pertinente, autorevole e comunque errata per la domanda posta. Il livello mancante è l'applicabilità: le condizioni alle quali una risposta è valida e i cambiamenti che ne impongono una riconsiderazione. Questo articolo introduce l'Answer Validity Boundary come modello di progettazione delle fonti per esseri umani, ricerca AI e sistemi RAG.","\u002Fuploads\u002F2026\u002F09\u002Fthe-answer-validity-boundary-the-missing-layer-between-relevance-and-reliable-ai-answers-1790272901306-1g5jly.webp","2026-09-24T11:59:00.000Z",{"id":1560,"slug":1561,"title":1562,"excerpt":1563,"featuredImage":1564,"publishedAt":1565},"459","ollama-is-not-the-product-building-production-ready-open-llm-applications","Ollama non è il prodotto: costruire applicazioni Open-LLM pronte per la produzione","Eseguire un modello locale con Ollama è facile. Costruire un'applicazione Open-LLM pronta per la produzione è più difficile: richiede RAG, controllo degli accessi, astrazione del provider, valutazione, logging, disciplina di deployment e un livello applicativo controllato attorno al modello.","\u002Fuploads\u002F2026\u002F06\u002Follama-is-not-the-product-building-production-ready-open-llm-applications-1782679361640-h0usqf.webp","2026-06-28T16:39:00.000Z","fallback",[],[]]