Добавить в корзинуПозвонить
Найти в Дзене
Цифровая Переплавка

🧠 YAMS — как «долгая память» для больших языковых моделей может изменить подход к работе с ИИ

В эпоху, когда большие языковые модели (LLM) вроде ChatGPT, Claude или Llama всё активнее интегрируются в рабочие процессы, одна из главных проблем — память. Как сохранить контекст между сессиями, не перегружая модель гигабайтами текста? Как быстро находить нужный фрагмент из тысяч сохранённых документов? На эти вопросы отвечает YAMS — Yet Another Memory System - Очередная система хранения данных. YAMS — это система постоянного хранилища, оптимизированная для LLM и любых приложений, которым нужно быстро и безопасно хранить большие массивы данных. Идея проста: создать "внешнюю память" для ИИ, где каждая единица информации сохраняется в структурированном и легко доступном виде. В основе лежат: Я вижу в YAMS несколько архитектурных решений, которые выгодно выделяют его среди аналогов: Большие языковые модели не хранят состояние между запросами. Если вам нужно, чтобы модель «помнила» разговор или проект, приходится передавать контекст при каждом запросе — это дорого и медленно. YAMS решает
Оглавление
Графическая иллюстрация, отражающая ключевые технологии системы памяти для LLM: мозг с соединёнными линиями, база данных, отпечаток пальца, значки SHA-256, сжатия, поиск и управление файлами, символизирующие дедупликацию, семантический поиск и высокопроизводительное хранение данных.
Графическая иллюстрация, отражающая ключевые технологии системы памяти для LLM: мозг с соединёнными линиями, база данных, отпечаток пальца, значки SHA-256, сжатия, поиск и управление файлами, символизирующие дедупликацию, семантический поиск и высокопроизводительное хранение данных.

В эпоху, когда большие языковые модели (LLM) вроде ChatGPT, Claude или Llama всё активнее интегрируются в рабочие процессы, одна из главных проблем — память. Как сохранить контекст между сессиями, не перегружая модель гигабайтами текста? Как быстро находить нужный фрагмент из тысяч сохранённых документов? На эти вопросы отвечает YAMS — Yet Another Memory System - Очередная система хранения данных.

🚀 Что такое YAMS

YAMS — это система постоянного хранилища, оптимизированная для LLM и любых приложений, которым нужно быстро и безопасно хранить большие массивы данных. Идея проста: создать "внешнюю память" для ИИ, где каждая единица информации сохраняется в структурированном и легко доступном виде.

В основе лежат:

  • 🧩 Контент-адресуемое хранение (SHA-256) — каждый объект получает уникальный хэш, что гарантирует целостность данных.
  • 📦 Дедупликация на уровне блоков с Rabin-отпечатками — повторяющиеся фрагменты сохраняются только один раз.
  • 📉 Сжатие (Zstandard или LZMA) — уменьшает размер хранилища без заметной потери скорости.
  • 🔍 Поиск — два уровня: полнотекстовый (SQLite FTS5) и семантический (векторный, для поиска по смыслу).
  • 🔄 Журнал записи — защита от потери данных при сбоях.
  • Высокая производительность — более 100 МБ/с при потокобезопасной работе.

🛠 Технические детали, которые впечатляют

Я вижу в YAMS несколько архитектурных решений, которые выгодно выделяют его среди аналогов:

  • 🛡 Rabin fingerprinting — в отличие от простой блочной дедупликации, этот метод адаптивно находит границы блоков по содержимому, что улучшает эффективность на текстовых и бинарных данных.
  • 📂 Встроенный полнотекстовый поиск через SQLite FTS5 — позволяет обойтись без отдельного поискового движка вроде Elasticsearch, что снижает сложность развертывания.
  • 🧮 Векторный поиск — фактически, это база знаний с семантическим индексом. Для LLM это критично: можно искать «по смыслу», а не только по ключевым словам.
  • 🔌 CLI + MCP сервер — разработчики могут работать с системой как из командной строки, так и подключать напрямую к Claude Desktop и другим MCP-совместимым клиентам.

💡 Почему это важно для LLM

Большие языковые модели не хранят состояние между запросами. Если вам нужно, чтобы модель «помнила» разговор или проект, приходится передавать контекст при каждом запросе — это дорого и медленно.

YAMS решает проблему так:

  • 💾 Контекст хранится локально и при необходимости частями подгружается в модель.
  • 🧠 Формируется долговременная «память» — можно вернуться к обсуждению или коду спустя месяцы.
  • 🔍 Можно искать по смыслу, а не прокручивать сотни страниц логов.

🔬 Пример из практики

Представим, что у вас есть LLM-бот, который помогает в разработке. Вместо того чтобы каждый раз отправлять ему все прошлые куски кода и обсуждения, вы:

  1. 💾 Сохраняете важные изменения через yams add.
  2. 🏷 Добавляете теги вроде auth-module, bugfix, meeting-notes.
  3. 🔍 При следующей сессии ищете только релевантные куски: yams search "JWT expiration".
  4. 📤 Подгружаете результат в LLM, экономя токены и ускоряя отклик.

🧭 Моё мнение

YAMS — это не просто утилита хранения, а ключевой элемент будущей архитектуры LLM-приложений. В ближайшие годы интеграция таких систем в пайплайн работы ИИ станет стандартом — как Git для кода.

Отдельно радует, что проект написан на C++20 с упором на производительность, а для интеграции с Python и Docker уже есть готовые решения. Это значит, что YAMS можно будет использовать и в исследовательских прототипах, и в продакшене.

Если разработчики добавят:

  • 📡 Облачную синхронизацию (для работы на нескольких устройствах),
  • 🧩 API для прямого доступа к embedding-моделям,
  • 📊 Веб-интерфейс для визуального управления памятью,

— это станет практически «жёстким диском» для ИИ, который можно подключить к любому проекту.

🔗 Источники и ссылки: