Память, которая ничего не выбрасывает: хранение, ключ и порядок слоёв

Происхождение. Принципы памяти складывались из практики и серии инцидентов потери данных; каждый оставил правило. Материал собран из рабочих правил системы и диалогов, где эти правила рождались.


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

Принцип первый: не выбрасывать

Любое удаление у нас заменено на перемещение в отдельную зону «корзины», которую чистит только человек. «Мёртвый код», «дубликаты», «устаревшее» — всё туда, ничего в небытие. Причина проста: оценка «это не нужно» — сама источник ошибок. Удаление необратимо, перемещение стоит нуля. Не оценивай нужность — просто не удаляй.

У этого есть парный принцип на уровне загрузки данных: грузить всё, фильтровать при запросе. На входе — все записи, без порогов и отсевов. Желание что-то отбросить — повод поставить метку, а не удалить. Однажды фильтрация на загрузке стоила нам 41% записей: то, что выглядело шумом, оказалось нужным для анализа. Фильтр на входе необратим; фильтр на запросе — всегда можно переиграть.

Принцип второй: порядок слоёв

Данные живут слоями, и слои не равны. Ближе к первоисточнику — надёжнее. Транскрипт разговора надёжнее его пересказа; пересказ надёжнее сводки; сводка надёжнее заметки в памяти. При конфликте побеждает нижний слой — тот, что ближе к источнику. Производное — устаревшее или искажённое, пока не сверено с источником.

Из этого следует рабочее различение уровней обращения к памяти. Ориентация (где мы это обсуждали? что было?) — пересказа достаточно, ошибка самокорректируется следующим вопросом. Фундамент (изменение системы, документ, правило, которое унаследуют) — пересказа недостаточно, нужен первоисточник, причём до того, как начнёшь строить, а не на последнем шаге. Ловушка в том, что производная память выглядит авторитетно — «это же наши данные» — и чем она удобнее, тем сильнее соблазн пропустить источник. Экономика толкает к ошибке; правило её удерживает.

Принцип третий: ключ куётся при записи

Здесь — рабочая гипотеза, которую мы держим именно как гипотезу. Если хранить всё и никогда не выбрасывать, встаёт вопрос извлечения: как найти нужное в неотсеиваемом объёме? Хранение без извлечения бесполезно — неизвлечённые данные равны отсутствующим («если ты забыл и не обратился к ним — считай, что их нет»).

Наш подход ближе к образу из Борхеса, чем к базе с индексом: хранить всё — и ковать ключ в момент записи. Не строить один глобальный индекс поверх свалки, а при каждой записи закладывать связи, по которым к ней потом вернутся. Память тогда — не дерево с одним владельцем на файл, а граф: запись принадлежит многим отношениям сразу. Перемещать файлы — мыслить деревом (один владелец); ставить перекрёстные ссылки — мыслить графом. Принцип нейроструктуры: не перемещать нейроны, а создавать связи.

Это гипотеза о правильной архитектуре, не доказанный результат. Мы называем её так честно.

Принцип четвёртый: инъективность

Отдельный слой памяти мы строим как инъективный — такой, где у каждого элемента есть однозначный обратный путь к его источнику. Смысл: из любой производной записи можно вернуться ровно к тому, из чего она получена, без потерь и без догадок. Инъективность — это гарантия провенанса на уровне структуры, а не обещания: не «мы старались сохранить источник», а «обратное отображение существует и однозначно».

Почему это особенность системы

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

Границы

Честные оговорки. «Ключ при записи» и образ памяти по Борхесу — рабочая гипотеза об архитектуре, проверяется практикой, не заявлена как решённая. «Не выбрасывать» и «грузить всё» — принципы, оплаченные конкретными инцидентами, но их цена (рост объёма хранения) реальна и требует своей дисциплины — меток и слоёв доступа, а не удаления. Инъективность — свойство, к которому мы строим слой памяти; там, где обратное отображение ещё не гарантировано структурой, мы это помечаем, а не выдаём желаемое за сделанное.