Перейти к основному содержимому

Память и поиск

Эта страница объясняет функции памяти, которые помогают модели помнить долгие диалоги: скользящую память диалога, активируемые по ключевым словам записи памяти и векторный поиск по памяти.

Память диалога

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

Перед отправкой вы можете точно увидеть, что содержит текущий промпт: живой предпросмотр контекста показывает выбранный токенизатор, лимит контекста и зарезервированное место под ответ, исключённые блоки, суммаризированные блоки и применённую стратегию. О выборе стратегии см. Настройки.

Записи памяти

Записи памяти — долгоживущие фрагменты знаний, которые сохраняются между чатами независимо от отдельного диалога. У каждой записи есть:

  • Scopeglobal или привязка к персонажу.
  • Activation keywords — нечувствительное к регистру подстрочное сравнение с контекстом диалога.
  • Content — текст, внедряемый при срабатывании записи.

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

Векторный поиск по памяти

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

Стратегия выбирается в настройках генерации, а плагины могут добавлять дополнительные стратегии через SDK. Любая стратегия по-прежнему соблюдает итоговый контролируемый хостом бюджет токенов — плагины не могут его обойти.

Выбор стратегии

Доступные стратегии: truncate (отбрасывает старейшие незащищённые группы), summarize (сжимает исключённую историю), vector-recall (сохраняет блоки с высокой релевантностью, ужимает по релевантности и возрасту) и manual (исключает конкретные сообщения из промпта, не удаляя их из истории). В ручном режиме у каждого сообщения появляется действие исключения или восстановления, а пары tool-call/tool-result всегда обрабатываются вместе. Об элементах управления на уровне сообщений см. Чат, а о связанной модели активации по ключевым словам — Лорбуки.