Обратная связь об ошибках может стирать доказательства: новая методика аудита контрактов в Верус
Исследование, опубликованное на arXiv, демонстрирует парадокс в области верифицируемого программирования: немедленная коррекция кода на основе обратной связи от ИИ может скрывать критические нарушения исходного поведения программы. Авторы предлагают фазово-разделенный подход, который отделяет аудит полноты спецификации от процесса исправления ошибок, повышая успех восстановления контрактов с 62,5% до 81,3%.
# Когда обратная связь об ошибках стирать доказательства: Фазово-разделенный аудит полноты в Verus
В области формальной верификации существует тонкий баланс между тем, чтобы программа работала согласно написанному контракту (спецификации), и тем, чтобы она выполняла истинное намерение разработчика. Исследование, представленное в статье *When Correctness Feedback Erases Evidence: Phase-Separated Completeness Auditing in Verus* (arXiv:2610.20676), выявляет troubling обратную сторону текущих подходов к генерации кода с помощью ИИ: система, исправляющая ошибки, часто удаляет именно те свидетельства, которые нужны для проверки полноты спецификации.
Авторы исследования, включая независимого исследователя Адарша Агравала, провели эксперимент на 12 задачах, реализованных на языках Verus и Rust, используя четыре различные семьи языковых моделей. Результаты показали, что использование механизма обратной связи о корректности (как в системе IntentShield) значительно снижает способность обнаружить программы, которые формально удовлетворяют контракту, но наружают реальное поведение.
Парadox эффективности и полноты
Ключевое открытие работы заключается в явлении «обратного эффекта». Когда система ИИ получает обратную связь о том, что программа нарушает условие, она начинает генерировать исправления. Однако эти исправления часто делают код еще более неспособным к детектированию скрытых нарушений целостности спецификации. Иными словами, процесс «исправления» устраняет доказательства того, что спецификация была неполной или неточной.
В сравнительном эксперименте независимое открытие контрпримеров без обратной связи принесло значительно больше доказательных свидетельств (certified witnesses) — 59,0%, по сравнению с всего 27,1% при использовании циклов коррективной обратной связи IntentShield. Разница более чем в два раза подчеркивает критическую важность разделения фаз аудита.
*«Полный аудит и исправление корректности имеют противоположные краткосрочные цели. Сохраните и сертифицируйте признанное провал еще до его устранения»*, — заключают авторы.
Исследователи также проанализировали влияние формата итеративного контроля. Оказалось, что основная часть разрыва в производительности обусловлена именно содержанием обратной связи, а не количеством независимых перезапусков системы. Преимущество независимого поиска сохранялось во всех протестированных моделях и выдержало проверку даже после исправления ошибок парсера.
Разделение фаз и усиление контрактов
Авторская методика предполагает выполнение двух независимых фаз: сначала аудиторская фаза без корректирующей обратной связи, которая выявляет и сертифицирует контрпримеры, а затем фаза исправления контрактов на основе найденных недостатков.
Этот подход дает измеримые практические результаты. Контракты, пересмотренные с использованием свидетельств из фазы без обратной связи (Phase-Revised), достигли уровня успешной реализации на уровне 81,3%. Для сравнения, когда используются ослабленные контракты без глубокого аудита (IS-Revised), показатель успеха падает до 62,5%. Контракты, исправленные напрямую на основе ошибок (Direct-Revised), оказались немного ближе к второму показателю, что подтверждает гипотезу о том, что прямая коррекция ухудшает качество спецификации.
Тем не менее, исследователи отмечают важный нюанс: большинство сертифицированных свидетельств, найденных в ходе независимого аудита, впоследствии не проходили тесты на удержанных (held-out) наборах данных. Это указывает на то, что ИИ может находить узкие, специфичные для конкретного контекста уязвимости, которые не являются системными. Тем не менее, само существование этих свидетельств позволяет уточнить контракт, делая его более надежным.
Ограничения и границы применимости
Важно понимать, что результаты этого исследования имеют четкую эмпирическую границу. Уникальные эффекты, наблюдаемые в рабочем процессе Verus и Rust, не воспроизводятся в имеющихся оценках для других систем верификации, таких как Dafny и Lean. Это указывает на специфичность методов и инфраструктуры Веруса при работе с определенными типами моделей.
В заключение, работа подчеркивает необходимость пересмотра стандартных протоколов взаимодействия человека и ИИ при верификации кода. Слепая погоня за тем, чтобы код «работал» в ответ на каждую ошибку, может привести к потере ценной диагностической информации. Сохранение и анализ первоначальных провалов перед их исправлением становится ключевым этапом в создании надежных систем.
Исследование было принято к публикации на NeurIPS 2026 в рамках воркшопа *AI for Verifiable Coding*.