Одна из самых раздражающих особенностей современных ИИ-агентов — отсутствие памяти между сессиями. Агент может неделю помогать с проектом, знать его архитектуру и контекст, но при открытии нового чата снова представляется с нуля. Разработчик под ником dev993848 опубликовал на GitHub проект Sediment Palace, предлагающий решение без баз данных и сложной инфраструктуры.

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

Метафора позаимствована из геологии. Память разбита на пять директорий: 01_Shallow для свежих наблюдений (живут 7 дней по умолчанию), 02_Sediment для того, что оказалось нужным (до 60 дней), 03_Bedrock для кристаллизованного знания с decay_days: 36500 — фактически постоянного хранения, плюс архив и системный журнал. Каждый файл — markdown с YAML-фронтматтером, где хранятся два ключевых параметра: density (оценка агентом ценности записи от 0 до 1) и streak (счётчик обращений, растёт при регулярном чтении и падает при игнорировании).

Каждая запись хранит параметры density (ценность 0–1) и streak (частота обращений), которые определяют её судьбу при метаболизации.

Сгенерировано AI
Сгенерировано AI · Источник: Habr AI

Судьбу записей решает операция metabolize. Она обходит все файлы и применяет правила: запись из Shallow с density выше 0,5 и достаточным возрастом уходит в Sediment; с density ниже 0,5 и отрицательным streak — в архив; из Sediment в Bedrock попадают записи старше 30 дней с density от 0,8 или streak от 5. Перед первым запуском можно проверить, что произойдёт, через параметр dry_run — он показывает результат без реальных изменений.

Транспортный слой реализует Model Context Protocol — JSON-RPC 2.0 поверх stdin/stdout. Это стандарт, который поддерживают Claude Code, Cursor и любой кастомный агент через официальный SDK. Набор инструментов включает write_memory, read_memory, search_room, metabolize, purge_memory и recover_journal — последний восстанавливает незавершённые операции после аварийного завершения процесса. Атомарные записи через временный .tmp-файл с последующим replace() и файловые замки через O_CREAT | O_EXCL защищают от повреждения данных при конкурентном доступе или сбоях.

Автор прямо указывает на контекст: в 2025 году уже выходил проект «memory palace для AI» с громкими заявлениями о 30-кратном сжатии через специальный язык AAAK, который впоследствии оказался связан с мемкоином и поддельными бенчмарками — расследование вышло на Хабре. Sediment Palace позиционируется как противоположность: никаких бенчмарков, никаких монет, единственная внешняя зависимость — pyyaml. Код открыт, форкается и читается без специальной подготовки.