Слои памяти ИИ ассистента: горячая и холодная

Слои памяти ИИ ассистента: горячая, тёплая, холодная. Зачем память делят на уровни, как факты переезжают между ними и почему это ускоряет ответы.

Слои памяти ИИ ассистента: горячая и холодная

Память ИИ ассистента делят на уровни по той же причине, по которой Вы не держите все бумаги на одном столе: часть нужна каждый час, часть раз в год, и обращаться с ними одинаково неудобно и дорого. Обычно уровней три. Горячий слой: то, что нужно прямо сейчас, лежит ближе всего к модели и достаётся мгновенно. Тёплый слой: контекст последних недель, текущие клиенты и проекты. Холодный слой: архив, который не мешает, но и не теряется. Знания переезжают между слоями по мере того, как Вы к ним обращаетесь: частое поднимается наверх, забытое опускается в архив, откуда его в любой момент достаёт вопрос. Такое разделение придумали не для красоты. Оно решает три задачи разом: ответы про текущее приходят быстро, старое не теряется, а платить за огромный контекст при каждом запросе не приходится.

Почему всё сразу в одну кучу не складывают

Соблазн понятный: раз память это база, пусть держит всё в одном месте и достаёт по запросу. На деле у такого подхода два неудобства, и оба практические.

Первое: скорость. Чем больше записей одинаково близко к модели, тем дольше среди них искать и тем больше лишнего подмешивается в ответ. Ваш вопрос про завтрашнюю встречу не должен продираться сквозь переписку трёхлетней давности. Второе: цена и объём внимания модели. Всё, что ассистент подкладывает в окно, оплачивается как токены и занимает место, которого у окна конечное количество. Свалить туда весь архив значит и переплатить, и утопить нужное в шуме.

Разделение по слоям убирает оба неудобства. Верхние уровни маленькие и быстрые, нижние большие и дешёвые. Ассистент по умолчанию смотрит наверх, где лежит актуальное, и спускается в архив только когда вопрос этого требует. Это та же логика, по которой Вы держите текущие дела на столе, папки месяца в ящике, а старые договоры в шкафу: не потому что шкаф хуже, а потому что тянуться к нему каждую минуту незачем.

Три слоя: горячий, тёплый, холодный

Горячий слой (hot) это то, что в работе сегодня: активный разговор, открытый проект, факт, к которому Вы вернулись пять минут назад. Он живёт ближе всего к окну и достаётся без задержки. Тёплый слой (warm) это контекст последних недель: клиенты, с которыми Вы сейчас ведёте дела, недавние договорённости, свежие документы. Холодный слой (cold) это архив: завершённые проекты, прошлогодняя переписка, всё, что редко нужно, но выбрасывать нельзя.

Границы между слоями подвижны, и это главное. Факт не приписан к уровню навсегда. Клиент, о котором Вы вспомнили после полугода тишины, поднимается из холодного слоя в тёплый сам, потому что Вы снова к нему обращаетесь. Проект, который Вы закрыли и больше не трогаете, постепенно опускается в архив. Память ведёт себя как живой стол: то, чем Вы заняты, само оказывается под рукой, а остывшее уходит вглубь, не пропадая.

Аналогия с человеком тут честнее, чем кажется. У Вас есть блокнот на сегодня и архив на годы, и Вы не путаете их ролями. Ассистент со слоями памяти устроен так же: блокнот отвечает быстро, архив хранит долго, и одно перетекает в другое по мере жизни дела.

Откуда взялась идея слоёв

Разделение памяти на быстрые и медленные уровни не выдумка маркетологов, а приём, заимствованный у операционных систем. Проект MemGPT (Packer et al., 2023) прямо провёл эту параллель: у компьютера есть быстрая оперативная память и медленный диск, и система создаёт видимость большого объёма, перемещая данные между быстрым и медленным хранилищем. Авторы научили языковую модель управлять собственной памятью так же: держать в основном контексте только нужное, а остальное убирать во внешнее хранилище и поднимать обратно, когда оно понадобилось. В их работе это два уровня, основной контекст и внешний, но принцип масштабируется на сколько угодно слоёв.

Вторую половину картины дал проект Generative Agents (Park et al., 2023). Его авторы населили небольшой городок двадцатью пятью агентами и дали каждому поток памяти: полную запись пережитого обычным языком. Ключевой вопрос был не как хранить, а как доставать нужное из растущего архива. Ответ: агент оценивает каждое воспоминание по трём признакам разом. Свежесть (насколько давно это было), важность (насколько событие значимо само по себе) и релевантность (насколько оно относится к текущему вопросу). Из этих трёх оценок складывается решение, что поднять в рабочий контекст, а что оставить лежать. Плюс модель периодически перечитывает накопленное и сворачивает его в выводы поверх сырых записей.

Сложите обе идеи, и получится ровно то, что Вам нужно от рабочей памяти: уровни по скорости из MemGPT и умный подъём нужного из Generative Agents. Слои сами по себе бесполезны, если ассистент не умеет решать, что из какого слоя достать. Как знания вообще попадают из базы в ответ, мы разбираем в обзоре темы память ИИ ассистента.

Что многоуровневая память даёт Вам на практике

Вся эта механика для Вас невидима, и так и задумано. Вы не выбираете слой и не двигаете факты руками. Виден только результат: про текущего клиента ассистент отвечает мгновенно, а про дело двухлетней давности вспоминает уверенно, просто на долю секунды дольше. Между этими двумя случаями лежит вся работа слоёв, которую Вам не приходится замечать.

Так устроена «Вечная память» у Хермес: три слоя (hot, warm, cold) поверх векторной базы на сервере клиента. Актуальное держится наверху и отвечает быстро, архив лежит внизу и почти ничего не стоит в хранении, а знания переезжают между уровнями по мере того, как меняется Ваше дело. Ночью память ещё и пересобирается: накопленное за день сжимается в устойчивые факты, дубли сворачиваются, важное поднимается в верхние слои, чтобы утром ответы приходили из уже упорядоченного архива, а не из сырого лога вчерашнего дня. Как это собрано целиком, от переноса Ваших заметок в первый день до устройства самого сервера, описано на странице продукта.

Проверить разницу можно одним вопросом. Спросите своего текущего ассистента о детали проекта, который Вы закрыли полгода назад. Ассистент со слоями памяти достанет её из холодного слоя. Ассистент без памяти промолчит: у него нет архива, из которого доставать, только окно, которое давно очистилось.

частые вопросы
Сколько слоёв памяти у ИИ ассистента?

Обычно три, по частоте обращения. Горячий слой держит то, что нужно прямо сейчас, ближе всего к модели. Тёплый слой хранит контекст последних недель: текущих клиентов и проекты. Холодный слой это архив, к которому Вы обращаетесь редко, но он никуда не исчезает. Число слоёв не догма, а удобная рамка: суть в том, что часто нужное и почти забытое хранятся по-разному.

Чем слои памяти отличаются от контекстного окна?

Окно это рабочая память модели на одну сессию, оно очищается при новом разговоре. Слои памяти живут во внешней базе и переживают и сессию, и смену модели. Когда Вы задаёте вопрос, ассистент достаёт нужное из подходящего слоя и подкладывает в окно. Окно отвечает за «прямо сейчас», слои памяти за «всё, что было». Одно не заменяет другое, они работают вместе.

Ассистент отвечает медленнее, если факт лежит в холодном слое?

Чуть медленнее, но разница обычно в доли секунды и на глаз почти незаметна. Смысл слоёв как раз в том, чтобы частые запросы про текущие дела обслуживались мгновенно из верхних уровней, а редкое доставалось из архива по мере надобности. Забытый прошлогодний проект поднимется из холодного слоя тем же вопросом, что и вчерашняя задача из горячего.

источники (2)
  1. MemGPT: Towards LLMs as Operating Systems · arXiv, Packer et al. · 2023
  2. Generative Agents: Interactive Simulacra of Human Behavior · arXiv, Park et al. · 2023
Подключить  Честная цена 

Ещё в этой теме

Память ИИ-ассистента: как она устроена и почему обычный ИИ забывает
01

Контекстное окно и память ИИ: в чём разница и почему это важно Контекстное окно это рабочая память модели на одну сессию, а долговременная память ИИ живёт во внешней базе. Разбираем разницу на примерах и цифрах.

02

Эмбеддинги простыми словами: как ИИ находит смысл в числах Эмбеддинги простыми словами: как ИИ превращает фразу в вектор чисел и находит похожий смысл, и почему на этом держится память ассистента. С примерами.

03

Одна память для всех ИИ: как подключить Хермес к сервисам Одна память для всех ИИ: включаете функцию в кабинете, получаете адрес и ключ, подключаете Claude, ChatGPT и Perplexity к памяти Хермес за пару минут.

Ассистент, который помнит Ваше дело

Хермес работает в Telegram и браузере, а её память живёт на Вашем сервере в РФ. Один тариф, 14 дней на то, чтобы передумать.