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 приложенията често са безсъстояния (stateless), което означава, че всяко взаимодействие започва отначало. Това води до повтарящо се и досадно потребителско изживяване, при което агентът „забравя“ предходния контекст или предпочитания.

Защо паметта е важна?

Интелигентността на агента е дълбоко свързана с неговата способност да възстановява и използва минала информация. Паметта позволява на агентите да бъдат:

Рефлективни: Учейки се от минали действия и резултати.

Интерактивни: Поддържайки контекст в продължителен разговор.

Проактивни и реактивни: Предвиждайки нужди или реагирайки адекватно въз основа на исторически данни.

Автономни: Работейки по-независимо чрез използване на съхранено знание.

Целта на имплементиране на памет е да направи агентите по-надеждни и способни.

Видове памет

Работна памет

Мислете за това като за лист хартия, който агентът използва по време на една текуща задача или мисловен процес. Тя съдържа непосредствена информация, необходима за изчисляване на следващата стъпка.

За AI агенти работната памет често улавя най-важната информация от разговор, дори ако цялата история на чата е дълга или съкратена. Тя се фокусира върху извличане на ключови елементи като изисквания, предложения, решения и действия.

Пример за работна памет

При агент за резервация на пътувания, работната памет може да улавя текущото искане на потребителя, като например „Искам да резервирам пътуване до Париж“. Това конкретно изискване се държи в непосредствения контекст на агента, за да насочи текущото взаимодействие.

Краткосрочна памет

Този тип памет съхранява информация за продължителността на един разговор или сесия. Тя е контекстът на текущия чат, позволявайки на агента да се позовава на предишни реплики в диалога.

Пример за краткосрочна памет

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

Дългосрочна памет

Това е информация, която се запазва през множество разговори или сесии. Позволява на агентите да помнят потребителски предпочитания, исторически взаимодействия или общи знания за продължителен период. Това е важно за персонализацията.

Пример за дългосрочна памет

Дългосрочната памет може да съхранява, че „Бен обича ски и активности на открито, харесва кафе с планинска гледка и иска да избягва напреднали ски писти поради предишна контузия“. Тази информация, научена от предишни взаимодействия, влияе върху препоръките в бъдещи сесии за планиране на пътувания, като ги прави силно персонализирани.

Памет за персона

Този специализиран тип памет помага на агента да развие последователна „личност“ или „персона“. Позволява на агента да помни детайли за себе си или своята предназначена роля, правейки взаимодействията по-гладки и целенасочени.

Пример за памет за персона
Ако агентът за пътувания е проектиран да бъде „експерт по планиране на ски“, паметта за персона може да засили тази роля, влияейки на отговорите му да съответстват на тон и знания на експерт.

Памет за работен процес/епизодична памет

Тази памет съхранява последователността от стъпки, които агентът предприема по време на сложна задача, включително успехи и неуспехи. Тя е като запомняне на специфични „епизоди“ или минали преживявания, за да се учи от тях.

Пример за епизодична памет

Ако агентът опита да резервира конкретен полет, но това се провали поради недостъпност, епизодичната памет може да запише този неуспех, позволявайки на агента да опита алтернативни полети или да информира потребителя за проблема по-информирано при следващ опит.

Памет за обекти

Това включва извличане и запомняне на специфични обекти (като хора, места или предмети) и събития от разговорите. Позволява на агента да изгради структурирано разбиране на ключовите елементи, обсъдени.

Пример за памет за обекти

От разговор за минало пътуване, агентът може да извлече „Париж“, „Айфеловата кула“ и „вечеря в ресторант Le Chat Noir“ като обекти. В бъдещо взаимодействие агентът може да си припомни „Le Chat Noir“ и да предложи нова резервация там.

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

Докато RAG е по-широка техника, „Структуриран RAG“ се откроява като мощна паметна технология. Тя извлича плътна, структурирана информация от различни източници (разговори, имейли, изображения) и я използва за подобряване на точността, припомнянето и скоростта на отговорите. За разлика от класическия RAG, който разчита само на семантична прилика, Структуриран RAG работи със същинската структура на информацията.

Пример за структуриран RAG

Вместо просто съвпадение по ключови думи, Структуриран RAG може да парсира подробности за полет (дестинация, дата, час, авиокомпания) от имейл и да ги съхрани по структуриран начин. Това позволява прецизни заявки като „Какъв полет резервирах за Париж във вторник?“

Имплементиране и съхранение на памет

Имплементирането на памет за AI агенти включва систематичен процес на управление на паметта, който включва генериране, съхранение, извличане, интегриране, актуализация и дори „забравяне“ (или изтриване) на информация. Извличането е особено ключов аспект.

Специализирани инструменти за памет

Mem0

Един от начините за съхранение и управление на паметта на агент е чрез специализирани инструменти като Mem0. Mem0 работи като слой за постоянно съхранение на памет, позволявайки на агентите да припомнят релевантни взаимодействия, да съхраняват потребителски предпочитания и фактически контекст и да се учат от успехи и неуспехи с времето. Идеята е, че безсъстояйните агенти се превръщат в състояйни.

Той работи чрез двуфазов конвейер на паметта: извличане и актуализация. Първо, съобщенията, добавени към нишка на агент, се изпращат към услугата Mem0, която използва голям езиков модел (LLM), за да обобщи историята на разговора и да извлече нови спомени. След това LLM управление определя дали да добави, модифицира или изтрие тези спомени, съхранявайки ги в хибриден хранилищен формат, който може да включва векторни, графови и key-value бази данни. Тази система също така поддържа различни типове памет и може да включва графова памет за управление на връзки между обекти.

Cognee

Друг мощен подход е използването на Cognee, отворена семантична памет за AI агенти, която трансформира структурирани и неструктурирани данни в запитващи се графи на знание, подкрепени от ембединг. Cognee предоставя двойна архитектура на хранилище, комбинираща търсене по векторна прилика с графови връзки, позволявайки на агентите да разбират не само каква информация е подобна, но и как концепциите са взаимносвързани.

Отличава се с хибридно извличане, което смесва векторна прилика, графова структура и LLM разсъждения - от директно търсене на фрагменти до графово ориентирано отговаряне на въпроси. Системата поддържа жива памет, която се развива и расте, като остава запитваема като един свързан граф, поддържайки както краткосрочен сесионен контекст, така и дългосрочна постоянна памет.

Тетрадката с урок (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. Въпреки че се стремим към точност, моля имайте предвид, че автоматизираните преводи могат да съдържат грешки или неточности. Оригиналният документ на неговия изходен език трябва да се счита за авторитетен източник. За критична информация се препоръчва професионален човешки превод. Ние не носим отговорност за каквито и да е недоразумения или неправилни тълкувания, възникнали от използването на този превод.