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. Несмотря на наши усилия обеспечить точность, автоматические переводы могут содержать ошибки или неточности. Оригинальный документ на его родном языке следует считать авторитетным источником. Для получения критически важной информации рекомендуется профессиональный перевод человеком. Мы не несем ответственности за любые недоразумения или неправильные интерпретации, возникающие в результате использования данного перевода.