Галоўная / Артыкулы

Памяць агента: рабочая, эпізадычная, семантычная і працэдурная

Агент двойчы выпраўляў тую самую памылку, бо вынік нідзе не захаваўся. Рабочая, эпізадычная, семантычная і працэдурная памяць агента: што трымае кожная і як яна падводзіць.

Выдавец: REACTAPP.TOP13 хв чытання2888 слоў

Крыніцы: **Agent Memory Explained: Working, Episodic, Semantic & Procedural**

Агент для кодавання адзін раз вылечыў той самы баг у двух сесіях паспало. Ніхто яго прасіў пра гэта, і з мадэллю не было нічога пакрытага.

У першай сесіі агент узяў заявку BUG-142, выявіў прычыну нештасця ў парадку запуску міграцый, зменіў код, запустыў тэсты інтэграцыі і стаў свядомы таго, што яны прыйшлі. Потым сесія завершылася.

Перад наступной сесійю сістэма вычыстыла історыю размовы, каб зменшыць вітраты на токены. Гэта быў розумны выбар, адтыму, што перэгляд усе большай колькасці транскрыптаванняў коштуе грошаў, спрыяе затрымкам і плутае інструкцыі. Але знікла не толькі транскрыпцыя. Рэзультаты пройдзеных тэстаў заставаліся толькі ў старым вікні кантэксту. Не было жадных запісаў пра тое, што баг быў вылечаны, а сістэма контролю задач все ўсё паказвала BUG-142 як нераскрыты.

Так пачаталася другая сесія: быў адкрыты тыкет, і я зрабіў тое, чаго было патрэбна за ўмовамі тыкета. Я выявіў прычыну, дасяг таго жы заключэння і застосаваў той самы спасаб рашэння.

Мадэль не забыла, як рашаць гэту проблему. Сістэма не змогла зафіксаваць тое, што проблема была рашаная.

Гэтыя недастаткі перакрашваюць звычны вопыт. Уместа таго, каб спытацца, як даць агенту памяць, трэба спытацца, якія вядомасці павінны застацца пасля завершэння сесіі. Адпаведнае адказа ведае да чатыро окрэмых задач:

  • Рабочая памяць: задача, якая зараз выкананае.
  • Эпізодычная памяць: што сталося і калі.
  • Семантычная памяць: тое, што вядома як правда.
  • Процедурная памяць: як трэба выкананы працу.

Памяць — гэта не адна ентычна раса. Яе функція складаецца з прынеймна чатырох аспектаў, і большасць багоў у памяці вынікае з плутання ўсіх іх адзінам з другім. Гэты падзял запоўнены ідэямі кагнітывной наукі і бачыцца ў такіх даследжэннях, як CoALA (Cognitive Architectures for Language Agents), які опісвае мовных агентаў праз модульную памяць, структураваныя дзеяння і працэс прымэты.

Перш чым розглядаць эты чатырох аспектаў поштофарма, трэба адокрэміць две іншыя ідэі ад самай памяці: вікна кантэксту і автантычны стан прыемлівання.

Вікна кантэксту — гэта рабочая плошча

Кантэкст — гэта все, што мадэль можа бачыць пад час адной вычысленні. Зазвычай да гэтага належаць інструкціі сістэмы, апісанні інструментаў, няўжоныя паведамленні, запрашаныя дакументы, файлы, якія выконваюцца, рэзультаты работы інструментаў і чыргавы план. Гэта актывае рабоча прастор агента.

Гэта таксама тымчасова. Калі заканчываецца сесія, размова становіцца складнейшай або старыя паведамленні выкарыстоўваюцца для заполнення ліміту токенаў, і тады контэнт знікае, калі толькі прыкладна програма спецыяльна не зберагла яго ў іншым месцы. Мадэль не мае прыватных адгукаванняў пра пакульнія вызывы. Або прыкладна програма зноў вводзіць інфармацыю, або яна паў’язуе мадэль з зовнішнім сховішчам.

Самэ гэтая прычына, чаму большы розмер вікна не адпавядае дзейснай довгастраўной памяці. Больша вікно кантэксту — гэта большая робочая плошчадка, а не шафа для дакументаў. Большыя кантэнты застаюцца віднымі падчас работы агента, але калі плошчадка спакоюецца, усё на яй знікае, калі толькі хтось упорана не зберагне важныя часткі раней.

У даным случае правільныя рашэнні засталіся на робочай плошчадцы, і нічто іх не падняла на першы план. Аднак проста зберагчы весь тэкст размовы не было б рашэнням, таму што была працягнута ўвага да іншай аспекты.

Памяць — гэта не тэкушчая правда сістэмы

Пораўняйце два твэрджэння. Адна з іх — гэта памяць: «BUG-142 быў вылечаны пад час вчорашней сесіі». Іншая — гэта стан прыкладнага програмнага забезпечэння: поле статусу квітанцы паказвае COMPLETED.

Яны асоўаны, але ўпаўнююць разныя ролі. Першая — гэта історычны запіс, які паказвае, што адбылася падзея. Другая — гэта тэкушчы істочнік правды для сістэмы контролю. Памяць фіксуе тое, што адбылася, тады як стан — тое, што існуе ў даны момент.

Разлік мае значэнне, таму што спомненні становяцца застарэлымі, залішаюцца непূрнымі або выявляюцца некорэктнымі. Уявіце, ўпраўляючы агент выкарыстоўвае запіс, у яком паведамляецца, што BUG-142 ў стані рашэння. Хоць гэты запіс могаў быць правым на момент напісання, ён нічога не паводзіць да сучаснасці. Перш чым дзеяць на адпаведнасць, агенту следуе запытаць сістэму трэйкінгу, пераглядзець рэпазітарый, запустыць неабходныя тэсты або спробаваць воспаліць проблему. Выкарыстоўваны спомненне — гэта тэза пра мінуласць, а не доказ пра настоячы час.

Первісны інцыдэнт зазнаў двух невяспамі. Не было зафіксавана жадна корыстная інформацыя пра завершанне рашэння, а статус задачы так і не быў апошнім часам адкорэгаваны. Калі гэта ўжо з’ясавана, мы можамы выявіць, што на самай працэ патрэбна была агенту зафіксаваць.

Рабочая памяць: задача, якая зараз рашаецца

Рабочая памяць храніць тое, што неабходна агенту для выканання тэкушчага заведама, і ўсё, што толькі. Для BUG-142 у яе можа ўключацца сам заведам, чынная гіпотэза (табліца залежнасцяў ініцыязуецца запошле), чынны крок (запуск набора інтэграцыі), апошня спазіраванне (тры тэсты міграцыі не працуюць) і файлы, якія выконваюцца.

Яна адпаведзае на практычныя запытанні. Кальвіна мета? Які крок выкананы? Што вернуў апошній вызов інструмента? Калікі файлы змянены? Што ўсё яшчэ не завершана?

У практыцы яна знаходзіцца ў запытанні, у об’екце стану агента, у пункце перапытку рабочага працэсу або ў базе дадзеных сесіі з короткім тымчасовым перыодам існавання. Яна тымчасовая і прыязначаная для аднаго заведама, і яе не прызначана як стойкая лог-файлавая база всаго, што навучыўся сістэма. Апісанне короткатэрміновай памяці ад IBM таксама схожае: недавняя інфармацыя выкарыстоўваецца для негайных рашэнняў і паставання контынуітэта канверсацыі.

Рабоча памяць таксама відрызняецца ад трох іншых тыпів. Епізодычна, семантычна і процедурна памяць можуць зберыгатыся на працягу кількох сеансів, тоды як рабоча памяць опісуе все, што ёсць актывнім у гэты момент, чы то даныя, які знаходзяцца у вікні, чы то елементы, які булі перэвірэні поблізу.

Іі короткій тэрмін існування не ёсць недоліком. Як тылькі задачы віконане, рыдко бувае прычына зберыгаты кожну проміжну гіпотэзу, напівзапісаній фрагмент, невдалій командній запіт чы покінуту думку. Проблемі вінікаюць тоды, колі важлівій рэзультат існуе лішэ тут. У гэтым віпадку зніклі дві рэчы: рэзультат проходжэння тэсту і факт віправлення BUG-142. Сістэма розглядала значушчый рэзультат як тымчасовій простыр для зберыгання.

Рабоча памяць підтрымуе выканання завдань. Яна ніколі не повінна буты едынім запісом завершэноі працы.

Епізодычна памяць: запіс падзей

Епізодычна памяць зберыгае конкрэтныя досвіды. Епізод — гэта не просто факт. Ён відбуваецца в певной сітуацыі, зазвычай з часам, дзеянням і наследкам.

Для BUG-142 корысным епізодам можна запісаць як кароткій структурованы запіс:

  • Падзея: BUG-142 відтворыўся пад час ініцыялізаціі міграцыі.
  • Кантэкст: табелю залежнасцяў не было доступна пад час запуску службы.
  • Дзеяння: зменены парадак выканання міграцый.
  • Наследак: тэсты інтэграціі працавалі.
  • Доказ: commit a7f43d2.
  • Час: 8 верасня 2026 года, 14:20.

Такі запісы паведамляюць будучым агентам, што такая сітуацыя вялікі час траплялася раней. Яны дапамагаюць ухіліцца ад павтарэння працы, прыносяць прыклады і паказуюць, якія з поперадніх спроб былі эфектывныя, а якія — ні. CoALA разлічае эпізодычную і сэмантычную памяць, таму што запіс адпаведнага досвіду служыць іншай мэты, чым узагальненыя знанья.

Эпізод таксама не ўзаемна зв’язаны з історыяй чату. Транскрыпцыя можа містыць сотні паведамленняў, рэзультатаў работы інструментаў, спекуляцый, паследжэнняў і павтарэнняў. Можна паставіць простую адзначку ў самым лог-файле, напрыклад „Нам, верагодна, трэба пераканаліць парадак ініцыялізацыі“, пад структураваным эпізодам: пераканаленне парадку ініцыялізацыі залежнасцей вырашыла проблему BUG-142, а тэсты сталі паспешнымі пасля зберагання версіі a7f43d2. Другі варыянт набагато лёгкій у пошуку і значна корыстней для выпанення пазнейшых задач.

Эпізодычная памяць можа выклікваць проблемы двума спосабамі. Сістэма можа запам’ятаваць самы чын, але забыць яго рэзультат. Простая запіс «Прабавана: зменены парадак міграцыі» заставляе будучага агента не ведаць, чы робіць спробу знову. Або агент можа выкарыстаць інформацыю, якая была успішна шэсьць месцаў таму, калі архітэктура ужо змянілася. Эпізодычная памяць зберагае мінулое і не опісвае настоўшчыну, таму кожны эпізод павінен мець свой час, кантэкст, доказы і рэзультат.

Семантычная памяць: што ведае агент

Эпізод фіксуе тое, што адбылася. Семантычная памяць фіксуе тое, што было вывучана з яго.

Эпізод BUG-142 можа дастаць факт, які можна выкарыстаць знову: служба міграцыі патрэбуе, каб табелі залежнасцей існаваў да пачатку ініцыялізацыі. Гэта ужо не стосуецца адной сесіі дыбагавання. Цэлае загальнае тверджэнне пра сістэму.

Тыповыя элементы включаюць інфармацыю пра тое, якая база дадзеных выкорыстоўваецца службай, ліміт частоты запытаў API, правілу пра тое, што ідэнтыфікаторы кляўэнтаў не павінны быць у логах, архітэктурную мадэль рэпазітарыя, прывязанасць карыстальніка да краткіх тэхнічных адказоў і трэбаванне пра тое, каб скрыпты міграцыі заставаліся сумеснымі з пакульнай версіяй. Семантычная памэць аб’ёмліва факты, канцэпцыі, абмежэння, зв’язкі і прывязанасці. Яна зазвычай мае дзейніцу жыцця, але павінна заставацца можлівай да перасмотру, адколі факты і прывязанасці зміняюцца.

Разлік з эпізодычной памэцю ўсунуты і важны запамятаць. У эпізодычнай версіі пішацца, што BUG-142 адбыўся вчора, таму што пад час запуску не была наявна табліца залежнасцей. У семантычнай версіі пішацца, што для ініцыялізаціі спачатку павінна існаваць гэтая табліца. Адна памятае самы дзейства, другая — урок, які з ягоў можна вывучыць.

Ягоя выразныя недагоды — гэта застарэласць. Падазроўваючы, што каманда пазней застосуе новы механізм ініцыялізацыі, які больш не залежыць ад табелі. Якшча сістэма памяці проста дадае новы факт, агент можа атрымаць які-небудзь з іх: адны кажа, што табеля павінна існаваць спачатку, а другі — што гэта вялікага значэння не мае. Тады памяць стае безясной. Застарэлы факт можа быць горшым, чым яго няма, таму што агент будзе дзейваць на ўсуперак яму з упэўненасцю.

Таму семантычная памяць патрэбуе шляху для корэкцыі, з адказамі на калькі пытанняў. Хтось павінен кераваць апдэйтамі фактаў. Яй патрэбны імяваны выклікчык і дата пасляпэўнай перакананні. Калі з’яўляецца новая версія, старую трэба пазначыць як заменёную, а потым альбо адмахнуць, альбо заставіць як історыю. Гэта належыць да справжней інжынерыі памяці. Наразе галоўная мысль у тым, што семантычная памяць зберагае знанні, якія можна практычна воспаліць, а не проста запіс пра які-небудзь падзею.

Працэзуальная памяць: як выконваецца работа

Працэзуальная памяць паведамляе агента, як выконваць заданне. У ёй зберагаюцца навыкі, працэсы працы, правілы функціонавання і методы, якія можна павтараць.

На аднойчыну з проблемай каманда можа стварыць працэз: перш чым запускаць ініцыялізацыю міграцыі, пераканацца, што табелі залежнасцей ў наявнасці; запусціць тэсты інтэграцыі міграцыі; зафіксаваць рэзультат; апдэйтаваць сістэму назірання за заданнямі; прыкрэпіць рэферэнс коміту; падтвердзіць, што проблема больш не відтвораецца.

Гэта не ўсё тое, што являецца фактам, хоць вырашаецца з яго. Семантычны факт — гэта тое, што табліца павінна існаваць да пачатку ініцыялізаціі. Процедурны правіл — гэта перакананне ў ее наявнасці пры ініцыялізаціі. Семантычная памяць адпаведзяе на запітанне, што ўсё правда, а процедурная памяць — што трэба рабіць. Іншыя прыклады: анулюванне неудачнай разгрузкі, расследаванне проблемы з платэжам, якія тэсты павінны пройсці перш чым баг будзе закрыты, як адгукнуцца на прыемку коду, калі трэба запрашваць падтрымку людзя і які інструмент павінен быць выкарыстаны перш чым працаваць з данымі у працэйнай асяроддзі.

Разлічныя способы рэалізацыі включаюць частыя інструкцыі і версійаваныя карточкі інструкцый, а таксама пакаваныя навыкі, візначэнні рабочых практык, чысты код або шаблоны, выучаныя за дапамогою практыкі. CoALA дае процедурам сваё месца ў памэці агента, якое з’ѐднана як з можлівасцямі мадэлі, так і з явным кодам агента.

З-за гэтаго процедуры трэба версіяваць як програмна аплярацыя, а не складваць як історыю размов. Калі арганізацыя зменяе свой працэс развёртывання, агент не павінен браць пяць старых процедурак і спадзявацца, калькі з яых ёсць актуальным. Кожна аплярацыя, якае працуе ў працоўнай сітцы, павінна вказваць, хто яе адпаведальны, калькі ў яе версія, з калі яна дыючая, што ў яе включаецца, калькі яе заменяе і як вядома, што яна ўсё ўжо працуе.

У даным інцыдэне безпаслужнае наявнасць процедуры прабачылася безпаслужна. Агент выправіў код, але жадныя правіла не вымагалі ператварыць гэты успех у апошню версію аплярацыі. Там, што не было, — гэта не перагляд усіх размов. Гэта была стацыонарная інструкцыя на кшталт: як толькі тэсты пройдуць, запісаць рэзультат і закрыць заявку. Гэта ўсё ў тым самым процедурным прасвечы.

Адна баг, пяць способаў яе апісання

Таксанамію лёгкая пазнакоміцца, якшо запісаць той самы баг пяцьма разамі.

  • Рабочая памяць: «Наразы лагодзіцца BUG-142; наступны крок — тэсты інтэграціі». Яна дазволяе продаваць чынную працу.
  • Эпізодычная памяць: «У першай сесіі BUG-142 быў вылагодзены за дапамою зміны парадку залежнасцяў, і тэсты праходзілі». Яна зберагае певны дазнаўчы кантэкст.
  • Семантычная памяць: «Служба міграцыі патрэбуе табелю залежнасцяў пры ініцыялізацыі». Яна зберагае вядомасці, якія можна выкарыстоўваць знову.
  • Працэдурная памяць: «Перад ініцыялізацыей міграцый, пераканайцеся ў правільнасці табелю і запустыце тэсты інтэграціі». Яна зберагае методы, якія можна павтараць.
  • Автантыфікаваны статус: статус COMPLETED, commit a7f43d2, тэсты PASSED. Яна фіксуе тое, што прылада вважае правдзей.

Яныя ўзаемна спадзяюцца і не можна іх заменіць аднаю другай. Эпізод не заменяе запіса задання, а запіс задання не мае ў сабе всіх даных, якія былі апрануты пад час інцыдэту. Гэты факт не візначае всю процедуру адлучэння бягаў, а процедура не дазволяе падтвердзіць, што конкрэтны баг быў вылечаны. Не можна спадзявацца, што рабочая памяць застанецца актуальной пасля завершэння сесіі.

Сістэма не толькі не змогла запам’ятаць адну рэч, але і не змогла пераканаць завершаныя задання у правільныя, стойкія фарматы.

Кожны тып выклікае проблемы по-свойму

Калі усё зберагаць у аднам неразмежаваным сховішчы, дыягнастыка стае складнай. Лепшая запытацца, якая інформацыя не была апранута правільна.

  • Рабочая памяць перастае функцыонаваць, калі агент пасля перзапуску втрачае свой чырговы план, зазвычай таму, што прыгрызок задання застаўся толькі ў вікні або локальным процэсе.
  • Эпізодычная памяць не функцыонуе, калі агент павтарае эксперымент чыста перадзялаў вядомую працу, таму што пакананыя подзеі, дзеяння чыста рэзультаты не былі захаваны чыста не былі выкарыстаны.
  • Семантычная памяць не функцыонуе, калі агент адмаўляеся выкарыстоўваць застарэлы факт, таму што факт змяніўся чыста старая версія ніколі не была заменена.
  • Процедурная памяць не функцыонуе, калі агент завершае тэхнічную працу, але прыгнаўшы паэтапную дзеяння, таму што алгорытм работы быў відсутны, застарэлы, неясны чыста недоступны.
  • Автарытатны стан не функцыонуе, калі агент дзейнае на парадоксальны статус задання, таму што дакумент з правдай не быў апошнім чыста не быў перакананы.
  • Кожная праца патрабуе своія правілы ўсёга: хто можа пісаць, як запрашваюцца даны, як дуго ўсё зберагаецца, як лікуюцца адказы і як ацэнюецца якасць. Вектарны індэкс можа дапамагчы запрашваць розныя віды памяці, але індэкс не вяршыць рашэння пра тое, які тып мае кантэнт. Практычна правіла: класыфікуйце інформацыю перад тым, як выбраць тэхналогію зберагачвання.

    Короткі чарт класыфікацыі

    Калі агент зустрэчае інформацыю, запытайце пра гэтае па парадку.

    1. Чы робіцца гэта толькі для часовага выканання? Рабочая памяць. Гэта можа быць чырговы план, найняўэжэйшы рэзультат інструмента або тымчасовая гіпотэза.
    2. Чы гэта конкрэтная подыянне, якае адбылася? Эпізодычная памяць. Напрыклад, неудачна рэалізацыя вчора, спроба рэмонту, якая не паводзілася, або дызайн, які корыстувач адхіліў.
    3. Чы гэта знання, якое можна вярнуць у практыку? Сэмантычная памяць. Архітэктура, прыярытэты, абмежэнні домены, бізнес-вызначэнні.
  • Гэта рабочы працэс, правілу чыра навык? Процедурная памяць. Працэдура развёртвання, чарта пераконтроўкі, правіла вжытку інструментаў чыра шлях апранасу проблем.
  • Гэта чыр ныякі адпаведны джэрэла інфармацыі? Автантывны статус прыкладнення. Статус заявкі, залішак на рахунку, статус развёртвання, інвентар, статус затверджэння.
  • Адна сітуацыя часта заўсёды заслуговае на калькі разных апісанняў. Неудачнае развёртванне можа стаць прыкладам (гэта не выйшла у 14:20), фактам (сервіс X патрэбуе версію схемы 17), працэдурой (перакантролюйце сумаспаднасць схемы пры развёртванні) чыра змянай статусу (развёртванне было анульваўана). Гэта не марнае дуплікацыя, адколі кожны фармат адпаведае на іншы вопыт.

    Што павінен быў зрабіць інструмент

    Кантэкст ніколі не патрабав вячнае існаванне. Усё, што патрабавалася апаратура, — гэта спрыяць досягненню важлівых рэзультатаў пры завершэнні сесіі: запісаць эпізод, выявіць факты, якія моглі існаваць, дадаць або адкорэктаваць інструкціі, а таксама задаць статус заявкі разам з доказамы віканання і тэстаў.

    Калі гэта ўжо рэалізавана, можна без пагрозы для даных завершыць старую розмову. Чысты транскрыпт можа быць відправлены, калі ўсё, што варта было зберагчы, ужо пераканвертавана ў фарматы, якія павінны застацца. Кантэкст можа знікнуць, але важлівыя рэзультаты не павінны з’яўляцца разам з ям.

    Куды гэта ведае

    Класыфікацыя — гэта пачатак, а за ёю прыходзяць сложнейшыя інжынерныя запітанні. Чаму ўсё гэта трэба зберагчы? Дзе павінен находзіцца кожны тып інформацыі, і хто можа яго зменяць? Калі ён атрымліваецца і як ён прабраўся ў сістэму? Калі ён апдэйтаваецца і калі выгоршчваецца? Што адбываецца, калі два істочнікі інформацыі суперсчываюцца, і як можна выявіць, чыім чынам памяць павышыла карэктар агента?

    Гэтыя запітанні складаюць сабою інжынерыю памяці, і ні адна з іх не можа быць належна адпаведзена до таго часу, пакуль інформацыя не будзе класыфікаваная. Таму, перш чым выбраць базу дадзеных у вектарнай фарматы, фрэймворк памяці чы стратэгію атрымання інформацыі, спытайцеся, якога роду інформацыю прагне зберагчы агент.

    Мэтаем не ў тым, каб агент запамятаваў усё. Гэта ў тым, каб запярэдзіць прытрыманню корысных дадзеных у такой форме, якая паслужыць для ўжытку. Далей следуе жыцёвы цыкл, які пераходзіць памяць: адчування, выкарыстоўванне, прымэтка пра тое, што застаўіць, зберагчыце, адзыскванне, включэнне ў кантэкст, перакананне, дзеянне і нарэшце апдэйтаванне чы забывчасць.