GraphRAG и персистентная контекстная память внедряются в AI-чат-боты, чтобы разговор сохранялся даже после обновления страницы или открытия новой вкладки браузера. Разработчики утверждают, что такая комбинация устраняет проблему «забывчивости при закрытии вкладки», которая раздражала пользователей большинства разговорных ассистентов.
Почему старый подход не справляется
Большинство чат-ботов полагаются на стандартную технологию Retrieval-Augmented Generation (RAG). Конвейер извлекает фрагменты текста, похожие на текущий вопрос, передает их языковой модели и возвращает ответ. Для поиска одного факта — «Какая столица Франции?» — этот метод работает хорошо.
Но RAG рассматривает каждый ввод пользователя как изолированный запрос. Когда последующий вопрос зависит от того, что было сказано несколько минут назад, у модели нет памяти об этом контексте. В результате чат-бот просит вас повториться или дает ответ, игнорирующий предыдущие детали. Проблема не в недостатке интеллекта, а в отсутствии состояния (state).
GraphRAG: превращение плоского текста в сеть
GraphRAG меняет этап извлечения данных. Вместо списка несвязанных фрагментов текста он строит граф:
- Узлы (Nodes) представляют сущности, такие как люди, продукты или события.
- Ребра (Edges) фиксируют связи между ними: кто что поставляет, какой проект зависит от какого компонента и т. д.
Поскольку граф кодирует связи, система может выполнять многошаговые рассуждения (multi-hop reasoning): она может проследить цепочку фактов через несколько документов, чтобы ответить на запрос, который поставил бы в тупик поиск по плоскому тексту. Она также может генерировать резюме целых подграфов, предоставляя пользователям краткий обзор темы, а не набор разрозненных выдержек.
Контекстная память: запоминание разговора
Персистентная контекстная память добавляет временной слой поверх графа. Она делится на три части:
- Краткосрочная память хранит текущий пошаговый диалог, чтобы пользователю не приходилось повторять мысль, высказанную несколько предложений назад.
- Долгосрочная память записывает отдельные факты о пользователе на протяжении нескольких сессий: предпочтительный язык, повторяющиеся проблемы или предыдущие покупки.
- Избирательная память решает, что именно стоит сохранять, отсеивая слова-паразиты и нерелевантную болтовню, чтобы избежать раздувания хранилища.
Когда пользователь возвращается после закрытия вкладки, долгосрочное хранилище может подтянуть нужный контекст, позволяя чат-боту продолжить с того места, где закончилась последняя сессия.
Когда использовать каждый инструмент
- Используйте стандартный RAG для простых проверок фактов, где цена упущенной связи невелика.
- Внедряйте GraphRAG, когда цена неверного ответа высока или когда ответ требует связывания информации, разбросанной по нескольким документам.
- Добавляйте контекстную память, если приложение должно узнавать вернувшихся пользователей или поддерживать личную нить разговора в течение дней или недель.
Создание этих уровней — это не задача типа «подключил и забыл». Индекс GraphRAG необходимо обновлять по мере изменения исходных данных, а хранилищу памяти нужны политики, балансирующие между релевантностью и стоимостью хранения. Избыточное сохранение — запись каждого сказанного слова — быстро замедляет поиск и топит модель в информационном шуме.
Компромисс
Контекстная память решает проблему забывчивости. Обратная сторона — операционная: поддержание живого графа и кэша избирательной памяти требует постоянных инженерных усилий.
На что обратить внимание
Итог: GraphRAG обеспечивает реляционную основу (backbone), в то время как персистентная контекстная память служит временным связующим звеном (glue). Вместе они позволяют чат-ботам удерживать нить разговора между вкладками и сессиями, превращая раздражающий сброс в бесшовную беседу.
