В прошлом месяце я применил предложенное ИИ исправление к циклу повтора, не проверив его должным образом. Изменение выглядело понятным: меньше строк, более четкое наименование, а мой набор тестов остался зеленым. Чего я не заметил, так это того, что модель перенесла сон за пределы...
В прошлом месяце я применил предложенное ИИ исправление к циклу повтора, не проверив его должным образом. Изменение выглядело понятным: меньше строк, более четкое наименование, а мой набор тестов остался зеленым. Чего я не заметил, так это того, что модель вынесла спящий режим за пределы условного запроса, поэтому каждый успешный запрос теперь оплачивается задержкой, которая раньше применялась только к повторным попыткам. Тесты пройдены, потому что ни один тест никогда не рассчитывал время этого пути.
Этот опыт изменил мое отношение к предложениям по проверке кода ИИ. Само по себе предположение является гипотезой, а не ответом, а гипотезы заслуживают экспериментов. В этом посте описывается установка эксперимента, который я сейчас провожу над каждым нетривиальным предложением: изолированная копия репозитория, поведенческий зонд, который отказывается принимать «нулевые тесты», выполненные как успешные, статическое сканирование и состязательный второй проход модели. Все это работает на бесплатном доступе к модели и бесплатном размещенном сервере, поэтому нет оправдания стоимости звонка для пропуска второго мнения.
Что на самом деле не так с предлагаемыми различиями
Очевидный мусор легко отвергнуть. Внушения, которые причиняют вам боль, имеют три общие черты:
Они локально разумны, но нарушают инвариант, который живет за пределами фрагмента, в котором была показана модель.
Они меняют поведение в крайнем случае — short-cir