ai-agents-for-beginners

Пам’ять для AI агентів

Пам'ять агента

Коли йдеться про унікальні переваги створення AI агентів, зазвичай обговорюють дві основні речі: здатність викликати інструменти для виконання завдань і здатність покращуватися з часом. Пам’ять є основою створення самовдосконалюваних агентів, які можуть забезпечувати кращий досвід для наших користувачів.

У цьому уроці ми розглянемо, що таке пам’ять для AI агентів, як її можна управляти та використовувати для покращення наших додатків.

Вступ

Цей урок охоплює:

Розуміння пам’яті AI агентів: Що таке пам’ять і чому вона важлива для агентів.

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

Створення самовдосконалюваних AI агентів: Як пам’ять дозволяє агентам навчатися на основі минулих взаємодій і покращуватися з часом.

Цілі навчання

Після завершення цього уроку ви зможете:

Розрізняти різні типи пам’яті AI агентів, включаючи робочу, короткострокову та довгострокову пам’ять, а також спеціалізовані форми, такі як пам’ять персонажа та епізодична пам’ять.

Реалізовувати та управляти короткостроковою та довгостроковою пам’яттю для AI агентів за допомогою фреймворку Semantic Kernel, використовуючи інструменти, такі як Mem0 і Whiteboard memory, та інтегруючи з Azure AI Search.

Розуміти принципи створення самовдосконалюваних AI агентів і як надійні системи управління пам’яттю сприяють безперервному навчанню та адаптації.

Розуміння пам’яті AI агентів

У своїй основі пам’ять AI агентів стосується механізмів, які дозволяють їм зберігати та відтворювати інформацію. Ця інформація може включати конкретні деталі розмови, уподобання користувача, минулі дії або навіть вивчені шаблони.

Без пам’яті AI додатки часто є безстанними, тобто кожна взаємодія починається з нуля. Це призводить до повторюваного та розчаровуючого досвіду для користувача, коли агент “забуває” попередній контекст або уподобання.

Чому пам’ять важлива?

Інтелект агента тісно пов’язаний зі здатністю згадувати та використовувати минулу інформацію. Пам’ять дозволяє агентам бути:

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

Інтерактивними: Зберігати контекст під час тривалої розмови.

Проактивними та реактивними: Передбачати потреби або відповідати відповідно до історичних даних.

Автономними: Працювати більш незалежно, використовуючи накопичені знання.

Мета впровадження пам’яті — зробити агентів більш надійними та здатними.

Типи пам’яті

Робоча пам’ять

Уявіть це як аркуш паперу, який агент використовує під час виконання одного завдання або процесу мислення. Вона утримує актуальну інформацію, необхідну для виконання наступного кроку.

Для AI агентів робоча пам’ять часто захоплює найбільш релевантну інформацію з розмови, навіть якщо повна історія чату довга або скорочена. Вона зосереджується на ключових елементах, таких як вимоги, пропозиції, рішення та дії.

Приклад робочої пам’яті

У агента з бронювання подорожей робоча пам’ять може утримувати поточний запит користувача, наприклад: “Я хочу забронювати поїздку до Парижа”. Ця конкретна вимога зберігається в контексті агента для керування поточною взаємодією.

Короткострокова пам’ять

Цей тип пам’яті утримує інформацію протягом однієї розмови або сеансу. Це контекст поточного чату, який дозволяє агенту посилатися на попередні репліки в діалозі.

Приклад короткострокової пам’яті

Якщо користувач запитує: “Скільки коштує переліт до Парижа?” і потім додає: “А як щодо проживання там?”, короткострокова пам’ять забезпечує, що агент знає, що “там” означає “Париж” у межах тієї ж розмови.

Довгострокова пам’ять

Це інформація, яка зберігається протягом кількох розмов або сеансів. Вона дозволяє агентам запам’ятовувати уподобання користувача, історичні взаємодії або загальні знання протягом тривалого часу. Це важливо для персоналізації.

Приклад довгострокової пам’яті

Довгострокова пам’ять може зберігати, що “Бен любить кататися на лижах і займатися активним відпочинком, любить каву з видом на гори і хоче уникати складних лижних трас через минулу травму”. Ця інформація, отримана з попередніх взаємодій, впливає на рекомендації в майбутніх сеансах планування подорожей, роблячи їх максимально персоналізованими.

Пам’ять персонажа

Цей спеціалізований тип пам’яті допомагає агенту розвивати послідовну “особистість” або “персону”. Вона дозволяє агенту запам’ятовувати деталі про себе або свою призначену роль, роблячи взаємодії більш плавними та зосередженими.

Приклад пам’яті персонажа

Якщо агент з планування подорожей призначений бути “експертом з лижного планування”, пам’ять персонажа може підкріплювати цю роль, впливаючи на його відповіді, щоб вони відповідали тону та знанням експерта.

Пам’ять робочого процесу/епізодична пам’ять

Ця пам’ять зберігає послідовність кроків, які агент виконує під час складного завдання, включаючи успіхи та невдачі. Це схоже на запам’ятовування конкретних “епізодів” або минулого досвіду для навчання.

Приклад епізодичної пам’яті

Якщо агент намагався забронювати конкретний рейс, але це не вдалося через недоступність, епізодична пам’ять може записати цю невдачу, дозволяючи агенту спробувати альтернативні рейси або інформувати користувача про проблему більш обґрунтовано під час наступної спроби.

Пам’ять сутностей

Ця пам’ять включає вилучення та запам’ятовування конкретних сутностей (наприклад, людей, місць або речей) і подій з розмов. Вона дозволяє агенту створювати структуроване розуміння ключових елементів, які обговорюються.

Приклад пам’яті сутностей

З розмови про минулу подорож агент може вилучити “Париж”, “Ейфелева вежа” і “вечеря в ресторані Le Chat Noir” як сутності. У майбутній взаємодії агент може згадати “Le Chat Noir” і запропонувати зробити нове бронювання там.

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

Хоча RAG є ширшою технікою, “Структурований RAG” виділяється як потужна технологія пам’яті. Вона вилучає щільну, структуровану інформацію з різних джерел (розмов, електронних листів, зображень) і використовує її для підвищення точності, відтворення та швидкості відповідей. На відміну від класичного RAG, який покладається лише на семантичну схожість, Структурований RAG працює зі структурою інформації.

Приклад структурованого RAG

Замість простого зіставлення ключових слів, Структурований RAG може аналізувати деталі рейсу (пункт призначення, дата, час, авіакомпанія) з електронного листа і зберігати їх у структурованому вигляді. Це дозволяє точні запити, такі як “Який рейс я забронював до Парижа у вівторок?”

Реалізація та зберігання пам’яті

Реалізація пам’яті для AI агентів включає систематичний процес управління пам’яттю, який охоплює створення, зберігання, вилучення, інтеграцію, оновлення і навіть “забування” (або видалення) інформації. Вилучення є особливо важливим аспектом.

Спеціалізовані інструменти пам’яті

Один із способів зберігати та управляти пам’яттю агента — це використання спеціалізованих інструментів, таких як Mem0. Mem0 працює як постійний шар пам’яті, дозволяючи агентам згадувати релевантні взаємодії, зберігати уподобання користувача та фактичний контекст, а також навчатися на успіхах і невдачах з часом. Ідея полягає в тому, що безстанні агенти перетворюються на станні.

Він працює через двофазний конвеєр пам’яті: вилучення та оновлення. Спочатку повідомлення, додані до потоку агента, надсилаються до сервісу Mem0, який використовує велику мовну модель (LLM) для підсумовування історії розмови та вилучення нових спогадів. Потім етап оновлення, керований LLM, визначає, чи слід додати, змінити або видалити ці спогади, зберігаючи їх у гібридному сховищі даних, яке може включати векторні, графові та ключ-значення бази даних. Ця система також підтримує різні типи пам’яті і може включати графову пам’ять для управління відносинами між сутностями.

Зберігання пам’яті за допомогою RAG

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

Це дозволяє вам базувати відповіді агента на ваших власних даних, забезпечуючи більш релевантні та точні відповіді. Azure AI Search можна використовувати для зберігання спогадів про подорожі користувача, каталогів продуктів або будь-яких інших знань, специфічних для домену.

Azure AI Search підтримує функції, такі як Структурований RAG, який відмінно справляється з вилученням і вилученням щільної, структурованої інформації з великих наборів даних, таких як історії розмов, електронні листи або навіть зображення. Це забезпечує “надлюдську точність і відтворення” порівняно з традиційними підходами до розбиття тексту та вбудовування.

Створення самовдосконалюваних AI агентів

Звичайний шаблон для самовдосконалюваних агентів передбачає введення “агента знань”. Цей окремий агент спостерігає за основною розмовою між користувачем і основним агентом. Його роль полягає в тому, щоб:

  1. Визначати цінну інформацію: Вирішувати, чи варто зберігати будь-яку частину розмови як загальні знання або конкретне уподобання користувача.

  2. Вилучати та підсумовувати: Виділяти основне навчання або уподобання з розмови.

  3. Зберігати в базі знань: Зберігати вилучену інформацію, часто у векторній базі даних, щоб її можна було вилучити пізніше.

  4. Доповнювати майбутні запити: Коли користувач ініціює новий запит, агент знань вилучає релевантну збережену інформацію і додає її до запиту користувача, забезпечуючи важливий контекст для основного агента (подібно до RAG).

Оптимізації для пам’яті

Управління затримкою: Щоб уникнути уповільнення взаємодії з користувачем, спочатку можна використовувати дешевшу, швидшу модель для швидкої перевірки, чи варто зберігати або вилучати інформацію, викликаючи більш складний процес вилучення/зберігання лише за необхідності.

Обслуговування бази знань: Для зростаючої бази знань менш часто використовувану інформацію можна перемістити до “холодного сховища” для управління витратами.

Є ще питання про пам’ять агентів?

Приєднуйтесь до Azure AI Foundry Discord, щоб зустрітися з іншими учнями, відвідати години консультацій і отримати відповіді на ваші запитання про AI агентів.


Відмова від відповідальності:
Цей документ було перекладено за допомогою сервісу автоматичного перекладу Co-op Translator. Хоча ми прагнемо до точності, будь ласка, майте на увазі, що автоматичні переклади можуть містити помилки або неточності. Оригінальний документ мовою оригіналу слід вважати авторитетним джерелом. Для критичної інформації рекомендується професійний людський переклад. Ми не несемо відповідальності за будь-які непорозуміння або неправильні тлумачення, що виникли внаслідок використання цього перекладу.