ai-agents-for-beginners

Меморија за AI агенте

Agent Memory

Када се разматрају јединствене предности креирања AI агената, углавном се говори о две ствари: способности да позивају алате за завршетак задатака и способности да се временом унапреде. Меморија је основа за креирање самоусавршавајућег агента који може створити боље искуство за наше кориснике.

У овој лекцији ћемо погледати шта је меморија за AI агенте и како можемо да је управљамо и користимо у корист наших апликација.

Увод

Ова лекција ће обухватити:

Разумевање меморије AI агената: Шта је меморија и зашто је битна за агенте.

Имплементација и чување меморије: Практичне методе за додавање меморијских способности вашим AI агентима, са фокусом на краткорочну и дугорочну меморију.

Како учинити AI агенте самоусовршеним: Како меморија омогућава агентима да уче из прошлих интеракција и побољшавају се временом.

Доступне имплементације

Ова лекција укључује два свеобухватна туторијала у ноутбук формату:

13-agent-memory.ipynb: Имплементира меморију користећи Mem0 и Azure AI Search са Semantic Kernel фрејмворком

13-agent-memory-cognee.ipynb: Имплементира структурирану меморију користећи Cognee, аутоматски градећи граф знања поткрепљен ембедингима, визуелизујући граф и интелигентно преузимање

Циљеви учења

Након завршетка ове лекције, знаћете како да:

Разликујете различите типове меморије AI агената, укључујући радну, краткорочну и дугорочну меморију, као и специјализоване облике као што су персона и епизодична меморија.

Имплементирате и управљате краткорочном и дугорочном меморијом за AI агенте користећи Semantic Kernel фрејмворк, искориштавајући алате као што су Mem0, Cognee, Whiteboard меморија и интеграцију са Azure AI Search.

Разумете принципе иза самоусовршавајућих AI агената и како робусни системи за управљање меморијом доприносе континуираном учењу и прилагођавању.

Разумевање меморије AI агената

У свом језгру, меморија за AI агенте се односи на механизме који им омогућавају да задрже и позову информације. Ове информације могу бити специфични детаљи о разговору, корисничким преференцама, прошлим акцијама или чак наученим обрасцима.

Без меморије, AI апликације су често бездржавне, што значи да свака интеракција почиње из почетка. То води до понављајућег и фрустрирајућег корисничког искуства где агент „заборавља“ претходни контекст или преференце.

Зашто је меморија важна?

Интелигенција агента је дубоко повезана са његовом способношћу да позове и искористи прошлe информације. Меморија омогућава агентима да буду:

Рефлективни: Уче од претходних акција и резултата.

Интерактивни: Одржавају контекст током текућег разговора.

Проактивни и реактивни: Предвиђају потребе или одговарају адекватно на основу историјских података.

Аутономни: Раде независније црпећи из сачуваног знања.

Циљ имплементације меморије је да агенти постану пoузданији и способнији.

Врсте меморије

Радна меморија

Размислите о овоме као о парчету белешке коју агент користи током једног, текућег задатка или процеса размишљања. Она садржи непосредне информације потребне за рачунање следећег корака.

За AI агенте, радна меморија обично бележи најрелевантније информације из разговора, чак и ако је комплетна историја ћаскања дуга или скраћена. Фокусира се на извлачење кључних елемената као што су захтеви, предлози, одлуке и акције.

Пример радне меморије

У агента за резервацију путовања, радна меморија може садржати тренутни кориснички захтев, као што је „Желим да резервишем путовање у Париз“. Овај специфични захтев се држи у непосредном контексту агента како би усмеравао текућу интеракцију.

Краткорочна меморија

Ова врста меморије задржава информације током трајања једног разговора или сесије. Она представља контекст тренутног ћаскања, омогућавајући агенту да се позове на претходне кораке у дијалогу.

Пример краткорочне меморије

Ако корисник пита „Колико кошта авион до Париза?“ а потом настави са „А шта је са смештајем тамо?“, краткорочна меморија осигурава да агент зна да „тамо“ значи „Париз“ унутар истог разговора.

Дугорочна меморија

Ово су информације које остају сачуване кроз више разговора или сесија. Омогућава агентима да памте корисничке преференце, историјске интеракције или опште знање током дужих периода. Ово је важно за персонализацију.

Пример дугорочне меморије

Дугорочна меморија може чувати да „Бен воли скијање и активности на отвореном, воли кафу с погледом на планину и жели да избегне напредне скијашке стазе због прошлог повређивања“. Ова информација, научена из претходних интеракција, утиче на препоруке у будућим сесијама планирања путовања, чинећи их изузетно персонализованим.

Меморија персоне

Ова специјализована врста меморије помаже агенту да развије доследну „личност“ или „персону“. Омогућава агенту да памти детаље о себи или својој намењеној улози, чинећи интеракције флуиднијим и фокусиранијим.

Пример меморије персоне
Ако је туристички агент дизајниран као „стручњак за ски планирање“, меморија персоне може појачати ову улогу, утичући на његове одговоре да буду у складу с тоном и знањем стручњака.

Радни ток / Епизодична меморија

Ова меморија чува низ корака које агент предузима током сложеног задатка, укључујући успехе и неуспехе. То је као памћење специфичних „епизода“ или прошлости ради учења из њих.

Пример епизодичне меморије

Ако је агент покушао да резервише одређени лет, али то није успело због недоступности, епизодична меморија може забележити овај неуспех, омогућавајући агенту да покуша алтернативне летове или да информише корисника о проблему на информиранији начин при следећем покушају.

Меморија ентитета

Ово се односи на издвајање и памћење специфичних ентитета (као што су људи, места или ствари) и догађаја из разговора. Омогућава агенту да изгради структурирану представу кључних елемената који су разматрани.

Пример меморије ентитета

Из разговора о неком прошлом путовању, агент може издвојити „Париз“, „Ајфелов торањ“ и „вечера у ресторану Le Chat Noir“ као ентитете. У будућој интеракцији агент може поменути „Le Chat Noir“ и понудити нову резервацију тамо.

Структурирани RAG (Retrieval Augmented Generation)

Док је RAG шира техника, „Структурирани RAG“ је истакнут као моћна меморијска технологија. Она извлачи густе, структуиране информације из различитих извора (разговора, мејлова, слика) и користи их за побољшање прецизности, потражње и брзине у одговорима. За разлику од класичног RAG-а који се ослања само на семантичку сличност, Структурирани RAG користи унутрашњу структуру информација.

Пример Структурираног RAG-а

Уместо само поклапања кључних речи, Структурирани RAG може направити парсање детаља лета (одредиште, датум, време, авио-компанију) из мејла и сачувати их на структуриран начин. Ово омогућава прецизна питања као што су „Који лет сам резервисао за Париз у уторак?“

Имплементација и чување меморије

Имплементација меморије за AI агенте укључује систематски процес управљања меморијом, што укључује генерисање, складиштење, проналажење, интеграцију, ажурирање, па чак и „заборављање“ (или брисање) информација. Проналажење је нарочито критичан аспект.

Специјализовани алати за меморију

Mem0

Један од начина да сачувате и управљате меморијом агента је коришћење специјализованих алата попут Mem0. Mem0 функционише као перзистентни меморијски слој, омогућавајући агентима да позивају релевантне интеракције, чувају корисничке преференце и фактички контекст, и уче из успеха и неуспеха током времена. Идеја је да бездржавни агенти постану државни.

Ради путем двофазне меморијске цевоводне обраде: извлачење и ажурирање. Прво, поруке додате у нит агента се шаљу ка сервису Mem0, који користи Велику Језичку Модел (LLM) да сажме историју разговора и извуче нове успомене. Након тога, фаза ажурирања под покровитељством LLM-а одређује да ли ће додати, изменити или избрисати ове успомене, чувајући их у хибридној бази која може укључивати векторске, графичке и базе кључ-врeдност. Овај систем такође подржава различите типове меморије и може интегрисати графичку меморију за управљање везама између ентитета.

Cognee

Још један моћан приступ је коришћење Cognee, отвореног семантичког меморијског система за AI агенте који претвара структуиране и неструктуиране податке у претраживе графове знања подржане ембедингима. Cognee пружа двоструку архитектуру продавнице која комбинује претрагу сличности вектора са графичким везама, омогућавајући агентима да разумеју не само које информације су сличне, већ и како се концепти међусобно повезују.

Изузетан је у хибридном проналажењу које спаја сличност вектора, структуру графа и LLM размишљање — од претраге необрађених делова до граф-свестног одговарања на питања. Систем одржава живу меморију која се развија и шири, док остаје претражива као један повезани граф, подржавајући и краткорочни сесијски контекст и дугорочну перзистентну меморију.

Туторијал у ноутбуку Cognee (13-agent-memory-cognee.ipynb) приказује изградњу овог јединственог меморијског слоја, са практичним примерима уноса различитих извора података, визуализације графа знања и упита са различитим стратегијама претраге прилагођеним одређеним потребама агента.

Чување меморије са RAG

Поред специјализованих алата за меморију као што је Mem0, можете искористити робусне сервисе претраге као што је Azure AI Search као позадину за чување и проналажење успомена, нарочито за структурирану RAG.

Ово вам омогућава да у основу одговора вашег агента укључите своје податке, обезбеђујући релевантније и прецизније одговоре. Azure AI Search се може користити за чување корисничких успомена о путовањима, каталога производа или било ког другог доменског знања.

Azure AI Search подржава могућности као што је Структурирани RAG, који изузетно добро извлачи и проналази густе, структуиране информације из великих скупова података као што су историје разговора, мејлови или чак слике. Ово омогућава „суперчовечанску прецизност и потражњу“ у поређењу са традиционалним приступима делења текста и ембединга.

Како учинити AI агенте самоусовршеним

Уобичајени образац за самоусовршавајуће агенте укључује увођење „агента знања“. Овај посебан агент посматра главни разговор између корисника и примарног агента. Његова улога је да:

  1. Идентификује вредне информације: Одреди да ли је неки део разговора вредан чувања као опште знање или конкретна корисничка преференца.

  2. Извуче и сажме: Дестилује суштинско учење или преференцу из разговора.

  3. Сачува у бази знања: Перзистентно чува ове издвојене информације, често у векторској бази, како би их могао касније пронаћи.

  4. Обогати будуће упите: Када корисник иницира нови упит, агент знања преузима релевантне сачуване информације и додаје их у кориснички промпт, пружајући кључни контекст примарном агенту (слично RAG-у).

Оптимизације за меморију

Управљање латенцијом: Да би се избегло успоравање интеракција са корисником, може се користити јефтинији, бржи модел за прву проверу да ли је информација вредна чувања или проналаска, а само у случају потребе позивати сложенији процес извлачења/проналажења.

Одржавање базе знања: За растућу базу знања, информације које се ређе користе могу се преместити у „хладни складиште“ ради уштеде трошкова.

Имате још питања о меморији агената?

Придружите се Azure AI Foundry Discord да бисте се упознали са другим ученицима, учествовали у канцеларијским сатима и добили одговоре на ваша питања о AI агентима.


Ограничење одговорности:
Овај документ је преведен коришћењем AI преводилачке услуге Co-op Translator. Иако тежимо прецизности, имајте у виду да аутоматски преводи могу садржати грешке или нетачности. Изворни документ на његовом оригиналном језику треба сматрати ауторитетом. За критичне информације препоручује се професионални људски превод. Не сносимо одговорност за било каква неспоразума или погрешна тумачења која произађу из коришћења овог превода.