TraceCoder: код ИИ-агентов стал объяснимым и проверяемым

Современные ИИ-агенты для написания кода часто работают как черный ящик: разработчик видит итоговую программу, но не знает, почему модель выбрала то или иное решение и как код менялся в процессе исправления ошибок. Это создает проблемы с доверием и безопасностью при использовании таких инструментов в продакшене.

Исследователи предложили систему TraceCoder, которая делает процесс генерации кода прозрачным и проверяемым. Концепция опирается на три взаимодополняющих механизма, позволяющих отследить происхождение каждой строки кода.

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

Второй механизм — браузерный инструмент визуализации, который отображает историю в виде исходного кода с тепловой картой и аннотациями при наведении курсора. Разработчик может быстро увидеть, какие строки были изменены и в какой момент.

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

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

При этом три из десяти фрагментов кода получили запись о событии исправления. Для сравнения, при использовании Gemini 2.0 Flash как единственного провайдера на подмножестве из 20 задач этот показатель составил 21%. Три подробных кейса демонстрируют, как система объясняет, какие именно сбои в тестах повлияли на финальные строки программы.

Авторы отмечают, что TraceCoder делает внутреннее повествование автоматизированной генерации кода воспроизводимым и пригодным для аудита. Это важное свойство для доверия и ответственности при внедрении таких систем в промышленные среды. Концепция может быть интегрирована в существующие инструменты разработки, повышая их прозрачность.