Комментарии 7
Автор, а Вы прорабатывали вопрос функционального разделения памяти? В системной архитектуре STM (краткосрочная) и LTM (долгосрочная) память - это не просто разные "хранилища", это разные механизмы управления вниманием и жизненным циклом данных.
Использование графа само по себе не делает систему "памятью". Граф - это структура данных (БЗ), а память - это процесс (забывание, приоритизация, вытеснение). Без этого разделения Ваша "активная память" неизбежно столкнется с двумя проблемами:
Информационный взрыв: как Вы планируете фильтровать шум, чтобы граф не раздул RAM до нерентабельных значений?
Деградация вывода: как Вы собираетесь отделять оперативные факты от устаревших связей без механизмов вытеснения, характерных для нормальной LTM?
Не кажется ли Вам, что попытка запихнуть эти функции внутрь трансформера - это просто создание очередного "черного ящика", который сразу сломается, как только контекст выйдет за рамки тепличного примера?
Спасибо за отличный вопрос! Кратко:
Да, вы абсолютно правы - текущая версия ближе к proof-of-concept, и явного разделения STM/LTM пока нет. Это слабое место.
Планы на ближайшее время:
Явное разделение STM (маленький быстрый буфер 32-64 слота) ↔ LTM (большой медленный граф 1024+ слотов)
Консолидация: лучшие слоты из STM переносятся в LTM через сон
Explicit forgetting: threshold pruning + active forgetting
Иерархическая компрессия + capacity-aware meta-policy
Информационный взрыв - решаю через чистку слабых связей, recency bias и external tier (FAISS) в перспективе.
Деградация от устаревших связей - temporal tagging, context-sensitive decay, interference modeling.
Чёрный ящик - борюсь модульностью, логгированием состояний и абляциями.
Всё это в активной работе - через 1–2 месяца выложу v0.2 с явным разделением и explicit forgetting.
Когда у Вас станет не 1024, а 1 000 000 слотов, простой threshold pruning (удаление по порогу) начнет вырезать редкие, но критически важные ассоциации. В классических КСС это решается жесткой типизацией связей. Как Вы планируете отличать "редкое, но важное" от "редкого и бесполезного" без внешней системы правил (онтологии)? Одной статистикой recency bias (приоритет недавнего) тут не обойтись - Вы просто получите систему с прогрессирующей амнезией на "старые данные".
Планирую решать без внешней онтологии (чтобы система оставалась self-supervised):
Value-based prioritization: Каждая связь/слот получит "value score" - на основе вклада в task performance (например, через градиенты или награду в RL стиле). Редкие, но полезные связи усиливаются, если они снижают loss в критических сценариях.
Abstraction layers: Иерархия - редкие слоты автоматически группируются в higher-level abstractions (через клстеризацию или автоэнкодер). "Редкое, но важное" поднимется на верхний уровень, где decay слабее.
Contextual recency: Не просто global recency bias, а per-context: для каждой задачи/эпизода своя "recency map" (чтобы избежать амнезии на старые данные в новых контекстах).
Simulation-based evaluation: В "dreaming" фазе симулировать гипотетические сценарии - если слот полезен в них, его value растёт.
Автор, огромное вам спасибо! Проапгрейдил память своему монстру с вашей подсказки.

Memory Is All You Need: Активная память для трансформеров — мой новый подход к долгосрочным зависимостям в ИИ