Сгенерированный патч может быть правильным, хотя его правильность не будет доказана. В этом проблема. Агенты ИИ-кодирования становятся лучше в чтении кода, анализе ошибок и предложении исправлений. Но для отладки производственного программного обеспечения требуется, чтобы генерация кода...
Сгенерированный патч может быть правильным, хотя его правильность не будет доказана. В этом проблема.
Агенты ИИ-кодирования становятся лучше в чтении кода, анализе ошибок и предложении исправлений.
Но для отладки производственного программного обеспечения требуется, чтобы генерация кода не выполняла:
Вам необходимо установить, что на самом деле вышло из строя.
Полезный способ подумать об отладке:
Сигнал
↓
Доказательства
↓
Гипотеза
↓
Воспроизведение
↓
Исправить
↓
Валидация
Важный шаг находится посередине:
Репродукция.
Почему воспроизводство имеет значение
Представьте, что у вас есть такая ситуация:
Отчеты клиентов:
«Оплата не удалась».
Журналы:
Запрос на оплату дал неожиданный ответ.
ИИ-анализ:
«Вероятно, вызвано необработанным крайним случаем в логике повтора платежа».
ИИ генерирует:
Исправление условия повтора.
Патч выглядит разумно.
Но что мы знаем?
Мы знаем, что ИИ нашел правдоподобное объяснение.
Мы не обязательно знаем, что объяснение правильное.
Более сильный рабочий процесс:
Исходный код
↓
Воспроизведите сообщение о сбое
↓
Подтвердите неудачу
↓
Применить исправление
↓
Запустите то же воспроизведение
↓
Подтвердите, что ошибка исчезла
↓
Запуск регрессионных проверок
Сейчас мы тестируем что-то конкретное.
Основная причина все еще остается гипотезой
Это отличие