Может ли искусственный интеллект выполнять анализ кода?

Итак, я задался следующим вопросом —

Насколько предсказуемо программирование?

Поскольку такие инструменты, как GitHub Copilot, довольно хорошо справляются с написанием кода, несомненно, рецензирование тоже должно быть возможным. А если подумать, то рецензирование запросов на исправление в основном сводится к подбору шаблонов.

TLDR: Да, это возможно, причем с сумасшедшей точностью.

Хорошо, давайте сначала добавим немного контекста. В среднем, большая часть кода (около 65%) сливается без каких-либо исправлений/изменений в результате рецензирования.

Большинство команд стремятся отправлять код небольшими инкрементальными запросами на обновление, но независимо от того, насколько безопасным кажется то или иное изменение, приходится ждать рецензирования.

Но почему?

Если ИИ сможет точно предсказать, какие изменения будут одобрены людьми, он сможет сэкономить разработчикам тонну времени.

Если отбросить экономию времени на рецензирование, то меня очень волнует вот что:

Если мы перестанем штамповать каждый PR, мы сможем уделять больше внимания самым сложным.

Как + демонстрация

Во время хакатона на работе мы создали Codeball — искусственный интеллект для проверки кода, который одобряет безопасные Pull Requests, которые одобрил бы человек.

Мы обучили его на более чем 1 млн. Pull Requests, поэтому он видел тонны моделей неудач (дерьмовый код) и успехов (приличный код), что делает его действительно хорошим в определении разницы.

Вы можете поиграть с ним на сайте codeball.ai, где вы можете провести «исторические» тесты на репозиториях GitHub, чтобы увидеть, что сделал бы ИИ.

Результаты и что дальше

Люди тестировали Codeball на всевозможных запросах на исправление, и в результате точность составила около 99%. Процитируем комментарий из ветки Hacker News:

Codeball — это как строгий бармен, который обслуживает вас только тогда, когда он абсолютно уверен, что вы достаточно взрослый. Вы все еще можете быть старше, но Codeball вас не обслуживает.

Вы можете добавить Codeball в свой репозиторий как GitHub Action (это занимает около 2 минут).

Спасибо за чтение!
~ Кирилл

Оцените статью
Procodings.ru
Добавить комментарий