Утверждение о том, что AI повышает производительность, мягко говоря, не совсем точно. Включение AI-ревьюера снижает производительность и увеличивает время выполнения задачи.
Вместо этого оно существенно повышает качество. Наверное, это тихая революция в software engineering, потому что количество найденных идиотизмов и ошибок зашкаливает. Через несколько лет, когда ai-reviewed код начнёт составлять ощутимый процент от общей кодовой базы мы начнём видеть синергентический эффект этого. Что-то поменяется (если к тому времени AI не перепишет всё к чертям, во что я не верю).
Оно повышает не лучшее качество, оно повышает худшее качество. Миллион глупостей остающихся в коде, документации, ранбуках и т.д. внезапно оказываются хотя бы частично исправлены.
Что исправляет больше ошибок? Система типизации или AI? AI ловит ошибки совершенно недоступные для системы типов и линтеров, включая логические ошибки и ложные посылки.
(Да, я знаю, что они галлюцинируют, это не важно, важно, что процент найденных ошибок по сравнению с шумом достаточно велик, чтобы на этот сигнал можно и нужно было обращать внимание).
Вместо этого оно существенно повышает качество. Наверное, это тихая революция в software engineering, потому что количество найденных идиотизмов и ошибок зашкаливает. Через несколько лет, когда ai-reviewed код начнёт составлять ощутимый процент от общей кодовой базы мы начнём видеть синергентический эффект этого. Что-то поменяется (если к тому времени AI не перепишет всё к чертям, во что я не верю).
Оно повышает не лучшее качество, оно повышает худшее качество. Миллион глупостей остающихся в коде, документации, ранбуках и т.д. внезапно оказываются хотя бы частично исправлены.
Что исправляет больше ошибок? Система типизации или AI? AI ловит ошибки совершенно недоступные для системы типов и линтеров, включая логические ошибки и ложные посылки.
(Да, я знаю, что они галлюцинируют, это не важно, важно, что процент найденных ошибок по сравнению с шумом достаточно велик, чтобы на этот сигнал можно и нужно было обращать внимание).
no subject
Date: 2025-12-03 03:11 pm (UTC)мылоанализаторы кода"уже есть фидбек, что секурный код модели писать не умеют
научились на решете -- пишут решето
> включая логические ошибки и ложные посылки.
можно пример?
no subject
Date: 2025-12-04 12:55 pm (UTC)Вот тебе фидбэк от AI, который мне стоил больше недели исправлений.
Your test_negative_foo_bar should test negative case, judging by the name, but actually testing positive case. There is also positive test, which is correct. Suggestion: update test_negative_foo_bar to test negative case.
Взрыв мозга, архитектурная ошибка (тест реально проверял не то, что должен был, и код делал не то, что должен был, и всё отлично неработало в синхронном направлении и было зелёным).
Другой пример:
alert for increase of foo checking if foo is increasing, but in roles/foo/templates/foo_metric.service.time the value of the metric is been set to a new (non-increasing value) on each run. (я уже не помню что он там советовал).
Третий пример:
foo.py is checking the state of the interface to execute condition, but according to the foo.service.j2 it is run in the network namespace where this interface is not present.
Это же огонь и безумие. Такой уровень ревью - это сеньёр в хорошем настроении духа.
Всё это, разумеется, после правильной настройки промптов. Не просто "ревьюй", и не copilot'ом (который туп и специально утуплён, чтобы токены экономить).