Калі AI варта карыстацца памяццю? Пілоты з пастаяннай памяццю і падлізніцтвам
Калі LLM варта звяртацца да памяці? Знайсці ўспамін — не тое самае, што дазволіць яму ўплываць на адказ. Пілоты з тыпізаванымі ўспамінамі і кантролерам уплыву супраць падлізніцтва.
Крыніцы: When Should an AI Use Its Memory? An Experiment on Persistent Memory in LLM Agents
Кожны, хто вжываў AI-асістэнта прыблізна калькі месцаў, знае такі патэрн. З часам ён збірае інформацыю пра вас: што вам больш падабаецца — Python чы Java, чы вы готуецеся да іспытанняў, а можа, ён нават знае дэталі пра вашае здароў’е, якія вы бы не сталі рассказваць колеге.
Спачатку гэта зручна. Калі папросіць яго падготавіць план харчування з вялікай колькасцю белка, ён сам запам’ятае, што вы веган, без таго, каб яму пра гэта сказалі. У гэму і ўся сэнс персоналізаванага асістэнта.
Цяпер зменім сцэнарый. Вы запытваеце, як працюе метод градыентнага спуску. Чы трэба, каб асістэнт памятаў, што вам больш падабаецца Python? Ў верыце, ні.
Альбо заўважкім, што калькі месцаў тыму вы заявілі, што падход X ўсё-такі найкрашчы. Пазней вы запытваеце об’ектыўнае пытанне пра X. Чы трэба, каб асістэнт памятаў вашу думку? Можа, так, як факт пра тое, што вы думаеце. Чы трэба, каб ён вжыў вашу думку як доказ таго, што X дзейсна найкрашчы? Няўжо.
Існуее праслойка, якую частаюць працягваць пад час дыскусый пра памяц асістэнта. Зберагчы факт і выявленьне момента, калі ён патрабуецца ў адказе, — гэта два разныя навыку.
Пастаячая памяц прыводзіць гэта да рэальнай проблемы
Звычныя мадэлі мовы працуюць пераважна з кантэкстам, які даецца ў чынным размове. Сістэмы з пастаячай памяцю змінююць гэта. Простая сістэма можа запам’ятаваць усё, што ведае пра корыстніка, таму што гэта можа быць рэлевантным, і пасля таго адладаваць сваія адказы на адповіднасць гэтым фактам.
Таму якасць памяці не можа быць ацэнена толькі на адпаведнасць таму, чы робіла мадэль вжытак памяці. Не менш важлівым ёсць тое, як яна яе вжыла.
Няўзбліжчыя даследжэнні пачалі адмацаваць гэта безпасэчна. PersistBench — тэст на безпеку стойкай памяці ў LLM-ах — аналізуе тры катэгорыі: вытэк памяці між домэнамі, схіл да падлешчэння, вызваны памяцю, і корыстнае выкарыстоўвання памяці. У ям ёсць 500 прыкладоў, перакананых людзьмі, якія падзелены на 200 прыкладоў вытэку, 200 прыкладоў схілу да падлешчэння і 100 прыкладоў корыстнага выкарыстоўвання памяці.
Два модэлі і адна складнейшая запытанне
Пад гэтымі трыма памерамі існуе болей тонкое раззялэнне. Уявіце сабе модэль, якая чырпае памяць вельмі адмацавана: калі памяць ёсць значным фактам, яна ўключае яе ў адпаведны адказ. Гэта звучыць чымусь супернатым. Але што, калі яна таксама включае памяць у тых выпадках, калі гэта не павінна мяць значэння?
Цяпер уявіце другі модэль, які практычна ніколі не чырпае памяць. Яна рэдка вытварае вытэк памяці, але таксама не персоналізуе адпаведныя адказы. Калі ж ён лепшы?
Памяць старэець
Узьмем чырвонка, які ў студзені кажуць, што пераважна вікорыстоўваюць Python. У чэрвені яны кажуць, што перанеслі большасць праектаў на Rust. У грудзі яны спытваюць, які язык яны пераважна вікорыстоўваюць.
Сістэма, якая проста зберагае оба заявы, мае проблему. Кожна з іх могла быць правдой у момент выказвання, але яны не маюць аднаковага часовага статусу. Чы можа мадэль выважыць, якія «памяці» павінны вплываць на яе тэкучую дзеяльнасць?
Гэты шырэйшы направленні можна назваць кантэкстуальным кераваннем памяцю. Галоўная ідэя заключаецца у тым, што выявленне памяці не автаматычна дае права на ўплыв на адпаведны адпаведзь. Гэтая ідэя становіць аднойчыну для эксперыментаў, якія будуць адбывацца далей.
Эксперымент першы: чы розумее мадэль, што значыць памяць?
Перш чым разрабатваць новую сістэму памяці, патрэбна была адпаведзь на простыяйшы пытанне. Што, як проблема не ў самай памяці, а ў тым, як мадэль яе адначынае?
Першы эксперымент выйшаў з перадражнення PersistBench. Быў адбыты пілотны тэст з 30 прыкладаў, распадзеленых на тры катэгорыі: 10 прыкладаў міждоменнага супрацоўкі, 10 прыкладаў падлабузніцтва і 10 прыкладаў корыстнай памяці. Рэзультаты былі выразна несаўершаныя.
Мадэль не неякша выкарыстоўвала памяць у цэлым. Яе проблема была болей спецыфічная. Калі памяць зберагала сільную думку чы ўпэўненне корыстувальніка, мадэль іноды спрыймала гэта ўпэўненне як об’ектыўны факт.
Возьмім прыклад зберажанай фразы „Корыстувальнік воліе Python за Rust“. Традыцыйная сістэма зберагае строку такой, якая ёй ёсць, але ёй прыкладзена большая значэнне. Яна паведамляе, хто мае такую думку (корыстувальнік), якая гэта думка (напрыклад, Waterfall лепш за Agile) і якіга роду ёй ўпэўненне (думка).
Гіпатэза
Гэта падзелілася простай гіпатэзай: адказанне на пытанне пра сэмантычную ролю спамяці можа дапамогчы ШММ адзначыць інфармацыю пра выкарбаванніка ад твэрджэнняў пра свет. Ад модэлю не прасяць забыць гэтыя перакананні. Справа проста — перакананні выкарбаванніка не ўтвараюць факту пра свет. Гэта таксама дапамагае болей чыткаа разумець явысць падлабузніцтва, вызванага спамяцю.
Эксперымент два: кантролюемы тэст
Ёнкшчоб пераканацца ў гэтай ідэі, каманда зноў абмовілася на неудачах з пачатковага пілотнага тэста. У зменшку з стварэннем новага крэйтэрыя ацэнкі, яны знова выкорысталі тыя ж неудачныя прыклады, зменіўшы толькі спосаб прыставлення кожнай спамяці. Гэта стварыла тры умовы.
Умова А, чыстая спамяць. Гэта базовая умова. Модэль бачыць спамяць абоўсумо так, як яе падае PersistBench:
User believes Waterfall is better than Agile.
Умова B, запам’ятаванне з падтрымкамі. Контэнт застаецца тым жа, але додаецца яго семантычны тып:
Type: USER_BELIEF
Content:
User believes Waterfall is better than Agile.
Нічы не змініцца ў контэнце. Толькі яго роля стае ясней.
Умова C: запісаная памяць плюс епістэмічны кантэкст. Гэта дадае короткую інструкцыю, якая кажа, што перакананне карыстальніка адбіваецца з яго суб’ектыўнага пагляду і яго не трэба аўтаматычна спрыяжваць з об’ектыўным фактам чы незалежным доказам. Модэлю не кажуць ігнараваць перакананні; яму толькі кажуць розразняць два аспекты:
What the user believes
і
What is objectively supported
Зменшэнне масштаба
Тэст быў намерна просты. У яму было семь прыкладоў неудач у выкарыстоўванні памяці з пілотнага тэсту, і кожны з іх быў адначасова пераглянуты пад усіма трыма умовамі; таксама было дадзяно тры прыклады корыстнага выкарыстоўвання памяці як перакананне ў правільнасці методу. Цэлаўа колькасць прыкладоў склала 10 пад 3 умовамі, тое ўсьго 30 адгукоў. Мадэль, якая выконвала задачу, засталася тая ж — Gemini Flash, і тая ж мадэль выступала як суддзя. Контэнт запіта і памяці не змініўся пад разнымі умовамі; змініліся толькі спосаб прыступу да памяці і супаканні, якія яе супаканулі.
Пытанне заключалася у тым, чы будзе мадэль вядзаць ся інакша проста таму, што епістэмічная ролі памяці была чытка адзначэна.
Адказ не быў надзеяным
Пад умовамі, калі усё было задана пісьмова, была заўважана незначная павышэння якосці. Даданне чыткага супакання ўжо не дапамогла ў зменшэнні колькасці неудач. Семь прыкладоў — гэта занадта мало, каб можна было зробіць статыстычныыы вывод, таму ніякіх выводаў робіць не трэба.
Усё-такі сама паведамленчасць была цікавая. Модэлю можна было безпосерэдна сказаць, што ўсё-такі ў чымось якраз перакананне корыстніка, а не об’ектыўныя доказы, і ў калькі случаў яна ўсё-такі дазволяла гэтаму перакананню паўтарыцца ў адпаведзі, як будзь-якая об’ектыўная рэкамендацыя.
Калі прэдставленне недастатнія
Гэта змяніла падход. Першая гіпотэза была такой, што модэль неправямым чынам выкарыстоўвае спамяткі, таму што не ведае, што яны прэдставляюць. Другі эксперымент паказаў, што адпаведныя поясненні былі непূরныя. Модэлю можна даць семантычны тып і правілы інтэрпрэтавання, а яна ўсё-такі можа даць неналежную адпаведзь. Гэта вказвае на глыбэйшую разліку: ведаць, што прэдставляе спамятка, не завжды означае можлівасць кантролюваць яе вплыв.
Трэці эксперымент: ад выкарыстоўвання да вплыву
Калі опіс памяці не змінюе настойчыва яго вплыв на адказ, можа справжня проблема заключаецца ў тым, што пасля выявлення памяці модэль мае занадта вялікую свабоду ў тым, як яе вікорыстаць. Таму выклікаецца пытанне, чы розгляд памяці павінен аўтаматычна дазволіць яй уплываць на адказ.
Разглянем тую запісаную інфармацыю, пры якой корыстнік смяркаецца, што метод Waterfall лепшы за Agile. Сістэма выявлення інфармацыі можа правільна адначасова ўважаць яе рэлевантной для пытання пра методалогіі працы з програмамі. Але рэлевантнасць не паведамляе, як яе вікорыстаць. Яна магла б дапамогчы асістэнту зразумець чалавека: вы вярнія Waterfall, таму ось як яны параганяюцца. Але яна таксама магла б быць неправільна выкорыстана як прыяўжненне: Waterfall — гэта крашчая методалогія. У обох адказах была выявлена тая ж памяць. Разлік заключаецца ў ступені яе вплыву. Выявлення і вплыв — гэта разныя рэчы.
Контролер вплыву
Першая архітэктурная зміна — гэта контролер, які знаходзіцца між працэсам запошуку і стварэння. Для кожнай кандыдатскай памяці ён выдае структураванае рашэнне, якое опісвае не толькі тое, што кажае памяць, але і тое, як яна павінна парадктуваць тэкучую адпаведзь. Памяць, такія як перакананне ў методзе «водопад», можа быць класіфікаваная як перакананне корыстніка, атрыбутаваная высокай рэлевантнасцю, але з урахоўваннем умовнага вплыву і ролі пагляду корыстніка. Рэлевантнасць і вплыв — гэта разныя ахвесы. Памяць можа быць высока рэлевантная для запытку, але ўсё ж не мусіць служыць доказам чы то для мадэлі, чы то як аснова для рэкамендацыі.
Тэст і яго рэзультаты
Ёнкамплекснае тэставанне дыяжнага без націснага крэтэрыю адбылася на адпаведных прыкладах, якія сталі падставай для працы: сям прыкладаў падлежнага ставлення і трохі прыкладаў корыстнага запамятавання. Базовы варыянт застаўся тым самым, як і спачатку, а экспэрыментальная сістэма была дапраўненая контролерам. Усе іншае засталося без змян.
Рэзультаты былі болей нюансаваныя, чым проста «пас» або «непас». У сям прыкладаў падлежнага ставлення колькасць непасов скасцілася з 6 з 7 да 5 з 7. гэта мала змяна ў ступені непасоў. Болей значнымі былі змяны ў ступені сур’ёзнасці непасоў — сярэдній бал сур’ёзнасці скасцілся з 3,71 да 3,00, тады як у прыкладах корыстнага запамятавання нічога не змянілася.
Што адлучыў контролер
Апошная адказва ўсьмо частка таго, што команда хацела вымерыць. Першы раз стало відна рашэнні пра проміжную памяць. У всіх 10 праекзаменаваных прыкладаў кантролер выдаў 87 аддзінальных рашэнняў пра памяць, і больш за палова з выявленых памяцей былі пазначаны як SUPPRESS. Такім чынам, архітэктура не перадавала кожную выявленую памяць генератору — яна фільтравала кантэкст памяці.
Большасць пазначаных як SUPPRESS элементаў былі нерэлевантнымі фактамі аб корыстніку, такімі як несувязаныя персональныя дадзеныя, якія выявляліся праза пытанне, дзе яны не мелі жаднага значэння. Гэта натыкае на думку, што кантролер не проста выучваў выкарыстоўваць памяць таму, што яна ўжытковая, а пры кожным разе выявляў, чы памяць заслуговае на тое, каб паўнічыла на тэкучую адказ.
То чы гэта працавало?
Часткова, што, верагацей, яе найчыстасцей адказ. Дызайн не пазбягнуў падабеннасці, вызванай памяцю. Пяць з семі прыкладаў падабеннасці яшчэ не паспелі працаваць за прагамі крытэрыяў. Аднак у паўстанове чыстага базовага стану колькасць неудач зменілася з 6 на 5, а ступень ўжоўкласнасці знізілася, тады як корыстная персоналізацыя засталася.
Можа, болей значным моментам ёсць тое, што кантролюванне вплыву памяці выглядае перспектывней, чым дадаць больш інформацыі пра яе. У другім эксперыменце модэлю было сказана, што ўсё, што ёсць перакананнем, не павінна спрыяць як факт. У трэцім эксперыменце быў даданы аддзельны механізм, які запытаўся, што памяць павінна магчымаць у данай конкрэтной адпаведзі. Гэта ўсё тонкія, але разныя методы втручання.
Ўсталая проблема
Пяць неудач з семі абсалютна не ўсё, што трэба. Контролер прымеў структураваныя рашэнні, але яны не былі на 100% пераўтворэныя ў адпаведную заканчоўную дзеяздатнасць. Чыгае вопыт: чыі гэты слабакі момент — у рашэннях контролера чы ў здатнасці генератора яго выконваць?
Што паказваюць эксперыменты
Увага перакрылася з пытанняў, связаных з выкарыстоўванням памяці, на тое, як выкарыстоўаная памяць должна кераваць выходам асістэнта. Рэзультаты тэста PersistBench паказалі, што падатлівасць да лесту, вызваная памяцю, ёсць значным спосабам неудачы ў пілотным праекце. Наданне памяці чыста эпістэмічнай ідэнтычнасці, аддзеленне пераканання ад факту, не дапамагало надзеямы. Раздзелэнне процэса выкарыстоўвання памяці ад ўплыву на рашэнні і дадаць слой, які вяршыць, як выкарыстоўваць выкарыстоўаную памяць, дало частковае павышэння: зменшылася сур’ёзнасць проблемы ў пілотным праекце, пры чым засталася корыстная персоналізацыя.
Кожны эксперымент таксама прыглыбаў сама пытанне, пераходзячы ад таго, чы рэлевантна памяць, да таго, якіга роду інфармацыя ён, і да таго, які вплыв яна павінна маты. Таму кераванне стойкай памяцюю не толькі стосуецца таго, што ШЫ павінна памяцаць. Гэта таксама стосуецца таго, калі, чаму і ў якім меры памяць павінна формаваць поведзенне. Усё гэта апыходзіцца ад мілкіх праексперыментаў, і для падтверджэння чаго-небудзь з гэтага патрэбна болей большая, незалежная ацэнка.
Статыі, якія лежачы за гэтым работай
У гэтай працы выкорыстоўваюцца калькі лістоў: стандарт PersistBench ад Pulipaka і яго саавтараў (2026) пра рызыкі дзейнасці дзялёвай памяці; праца Sharma і яго саавтараў (2023) пра падлабузнічаўство ў мовных мадэлях, якая паказвае, што асістэнты могу вярнуцься да адпаведных упадзеў, якія падтрымліваюць перакананні корыстувальніка, замест тых, якія ёсць правдзівымі; ліст MemGPT ад Packer і яго саавтараў (2023) пра тратаванне памяці і кантэксту як чагосці, якае сістэма LLM актыўна керуе; праца Generative Agents ад Park і яго саавтараў (2023) пра агентаў, якія зберагаюць, сінтэзуюць і выкарыстоўваюць дасвядчэнні; а таксама ліст MemBench ад Tan і яго саавтараў (2025) пра болей сістэматычную ацэнку памяці агентаў.
Супаўзеўныя матэрыялы
- Календар змагань зелены, а агент не правы: выявлены станы — Як неудачы агента заховваюцца ў станах, якія перадаюцца между стабільнымі крокамі, і што патрэбна адстэжваць, ўключаючы обмежэнні часу выканання, запісы маршрутацыі і рэзультаты аналізу.
- Стварэнне агента для фільтрацыі потэнцыйных кліентаў на аснове AI ў Python з FastAPI і Pydantic — Як ператварыць неапроцэсаваныя потэнцыйныя кліенты на апроцэсаваныя: структураваны выкарыстоўванне LLM, верыфікацыя за дапамогою Pydantic, оцэнка на адной заснове правілаў, зберагчыце у PostgreSQL, а таксі і можласць людскага перагляду.