Vestige: FSRS алгоритм для памяти LLM - как работает и кому нужен | AiManual
AiManual Logo Ai / Manual.
30 Янв 2026 Инструмент

Vestige: как заставить маленькую LLM помнить инструкции с помощью алгоритма FSRS (как в Anki)

Обзор Vestige - слоя памяти для маленьких LLM на основе FSRS алгоритма из Anki. Как заставить Llama 3.2 1B помнить правила Rust и инструкции.

Когда маленькая модель забывает всё через 5 минут

Представьте: вы настроили локальную Llama 3.2 1B на правила Rust. Объяснили про ownership, borrowing, lifetimes. Модель кивает, отвечает правильно. Вы закрываете сессию, возвращаетесь через час - и она снова спрашивает, что такое mutable reference. Знакомо?

Маленькие LLM страдают синдромом золотой рыбки. Контекстное окно - их кратковременная память. Закрыл чат - забыл всё. Дообучать модель на каждом правиле? Слишком дорого. Хранить всё в промпте? Контекст переполнится. Vestige предлагает третью опцию: слой памяти, который работает как гиппокамп для нейросети.

💡
На 30.01.2026 Vestige поддерживает модели до Llama 3.3 3B включительно. Для более крупных моделей (Llama 3.1 70B, GPT-4o) подход менее эффективен - у них и так неплохая память.

FSRS: алгоритм из Anki для нейросетей

FSRS (Free Spaced Repetition Scheduler) - это не просто очередной алгоритм интервальных повторений. Это математическая модель, которая предсказывает, когда вы забудете информацию. В Anki он рассчитывает, через сколько дней показать карточку. В Vestige - через сколько токенов напомнить модели правило.

Компонент В Anki В Vestige
Память Ваш мозг Векторы активации LLM
Забывание Кривая Эббингауза Деградация внимания
Повторение Показ карточки Инжект в контекст

Вот как это работает на практике. Вы объясняете модели: "В Rust нельзя иметь две изменяемые ссылки на одну переменную". Vestige сохраняет это как "память" с начальной силой 1.0. Каждый раз, когда модель генерирует ответ, сила памяти уменьшается по формуле FSRS. Когда она падает ниже порога - правило автоматически добавляется в следующий промпт.

Почему это не просто кэш промптов

Первая мысль: "Так это же просто умный кэш!" Не совсем. Обычный кэш хранит текст. Vestige хранит векторы активации - паттерны, которые возникают в нейросети при обработке информации. Это ближе к тому, как работает память в биологическом мозге.

Важный нюанс: Vestige не заменяет RAG для работы с документами. Он для инструкций и правил, которые должны стать частью "личности" модели. Для справочной информации используйте классический RAG.

Пример с Rust правилами показывает разницу. В RAG вы бы искали в базе знаний параграф про borrowing. В Vestige модель "вспоминает" правило в момент, когда собирается нарушить его. Как внутренний голос программиста: "Стой, тут же будет двойной mutable borrow!".

Сравнение с альтернативами: что выбрать в 2026

На рынке памяти для LLM сейчас три основных подхода:

  • Контекстное окно (у всех моделей) - просто, но ограничено. Llama 3.3 держит 128K токенов, но цена внимания растет квадратично.
  • Внешняя память (как в SMART SLM) - отдельный векторный поиск. Хорошо для фактов, плохо для инструкций.
  • Дообучение - эффективно, но ведет к катастрофическому забыванию.

Vestige занимает нишу между ними. Он не требует перетренировки модели (в отличие от дообучения), но дает более глубокое запоминание, чем простое хранение в контексте. Плата за это - дополнительный latency в 15-30 мс на инжект памяти.

Кому реально нужен Vestige (а кому нет)

Технология не для всех. Вот типичные сценарии, где она работает:

Идеальные кандидаты

  • Локальные код-ассистенты на маленьких моделях. Когда не хватает денег на Copilot Enterprise, но нужна модель, которая помнит ваши code style правила.
  • Образовательные боты. Модель преподает Rust, Python, математику - и не забывает объясненные концепции между сессиями.
  • Персонализированные ассистенты. "Я не ем глютен", "Мой кот болеет, нужен совет ветеринара" - такие предпочтения идеально ложатся в память Vestige.

Плохие кандидаты

  • Большие модели (70B+). У них и так хорошая память, overhead от Vestige не оправдан.
  • Сценарии с strict latency требованиями. Финансовые трейдинг-боты, где каждый миллисекунд на счету.
  • Сильно мультимодальные задачи. Vestige 1.0 работает только с текстом, изображения и аудио не поддерживает.
💡
Если вы запускаете локальные LLM и сталкивались с проблемой "короткой памяти", попробуйте начать с практического гайда по избежанию ошибок. Там есть базовые техники управления контекстом, которые решают 80% проблем.

Как выглядит использование на практике

Допустим, вы делаете Rust-ассистента на Llama 3.2 1B. Без Vestige диалог выглядел бы так:

Вы: В Rust что такое lifetime аннотация?

Модель: Lifetime аннотации указывают, как долго ссылки действительны...

(проходит 50 сообщений)

Вы: А как связаны lifetime и borrowing?

Модель: Borrowing? Это что-то про заимствование денег?

С Vestige модель получает микро-напоминания. После объяснения borrowing, через N токенов (рассчитанных FSRS) в промпт автоматически добавляется: "Напомню: borrowing в Rust - это механизм заимствования ссылок без передачи владения". Неявно, без вашего участия.

Технические ограничения и подводные камни

Vestige - не серебряная пуля. Вот что бесит в текущей реализации (версия 0.8.3 на 30.01.2026):

  • Нет batch обработки. Каждое напоминание инжектится отдельно, что убивает throughput в production.
  • Параметры FSRS нужно подбирать вручную. Для Rust правил - одна кривая забывания, для кулинарных рецептов - другая. Универсальных настроек нет.
  • Конфликты с другими техниками. Если вы используете RLM для управления контекстом, могут быть race conditions.

И главное: Vestige не создаёт понимание. Он создаёт привычку. Модель не начинает "понимать" правила Rust лучше - она просто чаще их видит в промпте. Это как зубрёжка перед экзаменом: работает, но глубины нет.

Что будет дальше: прогноз на 2026-2027

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

К концу 2026 жду:

  1. Интеграцию с фреймворками reasoning. Чтобы память активировалась не по таймеру, а когда модель действительно "задумалась" о теме.
  2. Адаптивные кривые забывания. Модель сама будет учиться, как быстро она забывает разные типы информации.
  3. Поддержку мультимодальности. Чтобы помнить не только текст правил, но и примеры кода, диаграммы, скриншоты ошибок.

Не верьте хайпу про "нейросеть с вечной памятью". Биологический мозг тоже забывает - это feature, не bug. Идеальная память привела бы к информационному перегрузу. Vestige балансирует на грани: помнить достаточно, но не слишком много.

Попробуйте Vestige, если ваша маленькая модель страдает склерозом. Но не ждите чуда. Это костыль, хотя и очень умный. Настоящее решение придёт с архитектурными изменениями в самих LLM - возможно, в Llama 4 или следующем поколении open-source моделей.

А пока - учите модели как учили бы стажера. Повторяйте. Напоминайте. Терпите их забывчивость. В конце концов, даже люди с идеальной памятью редко становятся гениальными программистами. Иногда полезно забывать старое, чтобы учиться новому.