- PVSM.RU - https://www.pvsm.ru -

SRX: восстановить нужный фрагмент и проверить его

Что происходит, когда 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 [1]

Последняя публичная доработка:
https://github.com/IgorRybakoff/srx/commit/9c7c515477d7dc3e10fcfd4c38cf9a57be6d60e0 [2]

Автор: Igor_Rybakoff

Источник [3]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/python/458677

Ссылки в тексте:

[1] https://github.com/IgorRybakoff/srx: https://github.com/IgorRybakoff/srx

[2] https://github.com/IgorRybakoff/srx/commit/9c7c515477d7dc3e10fcfd4c38cf9a57be6d60e0: https://github.com/IgorRybakoff/srx/commit/9c7c515477d7dc3e10fcfd4c38cf9a57be6d60e0

[3] Источник: https://habr.com/ru/articles/1086182/?utm_source=habrahabr&utm_medium=rss&utm_campaign=1086182