Что происходит, когда AI‑системе нужно ответить не только «что я помню?», но и показать, какой именно исторический источник подтверждает ответ?
В SRX я экспериментирую с другим подходом к длинной истории: вместо передачи модели всего накопленного контекста система сначала находит нужную версию данных, восстанавливает её и проверяет по исходному источнику. Только после этого результат можно отдавать LLM для интерпретации.
Почему обычного поиска недостаточно
Представим, что параметр database.pool_size менялся так:
v1: 4
v2: 16
v3: принято решение перейти на 32
v4: решение отменено, значение возвращено на 16
Semantic search или RAG могут найти все четыре записи. Но системе всё равно нужно понять, какое состояние относится к нужной версии, какое решение позже отменили и можно ли восстановить исходный файл, на котором основан ответ.
Поэтому в SRX цепочка выглядит так:
storage
↓
retrieval
↓
state reconstruction
↓
verification
↓
answer
LLM здесь не должна сама «решать», совпали ли данные. Reconstruction, hash и verification остаются детерминированными.
LLM never creates metrics; LLM only interprets measured evidence.
Что уже проверено
Чтобы не ограничиваться синтетикой, SRX был проверен на реальной Git‑истории Vite. Система импортирует 50 first‑parent commits, восстанавливает выбранные исторические состояния и сверяет их с исходной Git‑историей.
Результат:
Imported real commits: 50
Persistence reload: PASS
Verified evidence: 4/4
SRX verification: PASS
bit-perfect vs git show: PASS
source SHA match: PASS
То есть выбранные исторические состояния восстановились побайтово и прошли проверку SHA-256.
Это ещё не доказательство качества retrieval. Но это подтверждает базовую вещь: исторический ответ можно связать с реально восстановленным и проверенным источником.
Что не сработало
Изначально я также проверял SRX как способ компактнее представлять изменения между версиями.
Результаты оказались гораздо слабее ожиданий. На части реальных данных структурные операторы вообще не дали выигрыша, а сильные baseline вроде zstd + reference оказались лучше.
Поэтому гипотезу «SRX как новый компрессор» я считаю закрытой.
Сейчас интереснее другой вопрос:
Можно ли восстановить только минимально необходимый фрагмент истории, получить правильный ответ и одновременно показать проверяемый источник?
Именно это направление сейчас выглядит для меня главным.
Что дальше
Следующий этап — измерить selective reconstruction: сколько истории действительно нужно восстановить для ответа, насколько точно выбирается нужное состояние и можно ли подтвердить его исходным источником.
Отдельно исследую, можно ли машинно описывать смысл изменения между версиями, а не только фиксировать байтовую разницу. Но здесь выводы будут только после отдельного эксперимента.
Проект открыт:
SRX — Semantic Reconstructive eXchange
GitHub: https://github.com/IgorRybakoff/srx
Последняя публичная доработка:
https://github.com/IgorRybakoff/srx/commit/9c7c515477d7dc3e10fcfd4c38cf9a57be6d60e0
Автор: Igor_Rybakoff


