Журнал · Rit.work

Кодовым агентам стоит проверять факты, а не изменения целиком

Проверка каждого утверждения отдельно сокращает ложные удаления из памяти кодового агента по сравнению с оценкой всего изменения.

Rit.work
Студия разработки
23 сентября 2026 г.2 мин чтения

Материал подготовлен автоматически по первоисточникам: ссылки на них — в конце статьи.

Обычная проверка изменений заставляет память кодового агента забывать сведения, которые остались верными. В нерецензированном препринте Thomson Reuters, где все числа получили сами авторы, доля обоснованных удалений достигла 79% против 29% при оценке диффа целиком. Значит, систему обновления памяти стоит строить вокруг отдельных утверждений, а не общего вердикта о коммите.

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

Разницу создала именно формулировка задачи. Когда модели показывали утверждение, но продолжали спрашивать о сохранении поведения, доля обоснованных удалений росла лишь на 1–2 процентных пункта. Когда вопрос меняли на «верно ли это утверждение после коммита», прирост составлял 49–65 пунктов. Модель читает один и тот же контекст, но общий вопрос толкает её удалять сведения обо всех потенциально затронутых частях системы.

Истину определяли исполнением тестов: утверждением служила тестовая функция, которая проходила до изменения и с тем же текстом проверки переставала проходить после него. Работу проверили на пяти моделях и 23 небольших Python-библиотеках; дополнительно тесты переписали как текстовые заметки, и преимущество сохранилось. Результат пока не переносится автоматически на крупные монорепозитории, другие языки и память из расплывчатых заметок.

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

Источники

Пауза в чтении

Похоже на вашу задачу?

Расскажите, что собираете. За полчаса разложим на этапы и назовём сроки — это бесплатно и ни к чему не обязывает.

Rit.work

Студия разработки

Собираем мобильные приложения и помогаем командам получать от AI реальную пользу. Основатель и команда, работаем удалённо — с клиентами в России и за рубежом.

Ко всем материалам
Понравилось? Обсудим вашу задачу