ИИ против процессов
Тут в отпуске в одной тёплой стране встретил толпу русских айтишников, гуляющих свой корпоратив, мирно обсуждающих римскую империю. Я их спросил: "Пацаны, вайбкодите?"
А один из них ко мне подскочил и резко пояснил меня криком: "Без удовольствия!"
Ладно, мемы в сторону, олды все равно не помнят, но вечером в лобби один из них показывает на коллегу и говорит: "вот этот, блин, любит повайбкодить. Выкатит пр на сто файлов, и как это ревьюить?"
И это, конечно, вообще не надуманная проблема. Пулл-реквесты и до агентов не были идеальным решением, а теперь разработчики по всему миру попали в ситуацию, где они, прямо говоря, нормально ревьюить эти тонны нейрослопа не способны.
В результате начинается какой-то кружок творческой самостоятельности. Понимая, что адекватное ревью всего этого нейрослопа - это утопия, народ городит ИИ-ревью, комбинируя его с поверхностным ревью глазами. Решает ли это проблему? Скорее, нет.
Что ещё сломалось?
Поверх наслаивается и другая беда: для большинства команд мира и, особенно, РФ автоматический регресс - это какая-то фантастика недостижимая. Как правило, разработчик в процессе реализации, скорее всего, вносит какую-то деградацию и хорошо, если все корнер-кейсы своей фичи сделает без ошибок, что уж говорить про регресс существующего функционала.
Это означает, что тот, кто рожает наибольшее количество нейрослопа, тот и больше всех ломает существующий функционал, вызывая негатив всей команды как в свой адрес, так и в адрес агентской разработки, в целом.
Не очень способствует такая обстановка и рефакторингу с чистотой кода. Работает - не трогай. В итоге, неудивительно, что все не очень любят чувака, который пр за пром выкатывает нейрослоп, который он вряд ли сам хорошо смотрел, с десятками изменённых файлов, полных костылей и новых багов. Я и до ИИ слышал, как подобных охотников за тасками в джире называли говнофиксерами. Теперь же, пока ии фигачит, все вокруг отсматривают огромные пры таких перформеров, фиксят их баги и утопают в тоннах нейрослопа.
Что ещё в этой системе перестаёт работать? Ручное тестирование. Как только ии берётся на вооружение, таски начинают закрываться, как из пулемёта. Те, что просачиваются сквозь бутылочное горлышко ревью, попадают в бутылочное горлышко тестирования. Что усугубляет беду? Больше правок - больше багов. Больше нейрослопа - ещё больше багов. К чему это все приводит? К недотестиованности и срывам релизного расписания.
Какие ещё проблемы? Вообще типовая беда фича-веток на большом объёме изменений - это, конечно, мерж-конфликты. И вот тут есть нюанс: агенты очень легко мержат конфликты, снимая эту головную боль, но проблема тут в том, что они при этом легко могут внести деградацию. И без тестов вы это не отловите.
К чему это я? Типовые командные процессы даже без ИИ работали с большими нареканиями. Сейчас это выглядит так, будто этому приходит конец - оно просто становится несовместимо с ИИ.
Как быть то?
Первые полгода я в этом канале писал практически исключительно про экстремальное программирование, автотесты и тдд, дизайн и архитектуру, про рефакторинг, разработку без фича-веток и пулл-реквестов. Вопреки интуиции, это устойчивые процессы разработки, которые позволяют держать хорошие темпы и качество годами.
Вообще говоря, эти идеи не являются какой-то дикой экзотикой, это, как раз, наоборот самый мейнстрим среди лидеров индустрии, хоть, к сожалению, по разным причинам не ставший мейнстримом во всей индустрии.
Но именно тут лежит ключ к разрешению озвученных проблем: автоматический регресс, рефакторинг и отказ от PR, в принципе.
До ИИ, если вы начали разработку без автоматического регресса, то он у вас уже не появится никогда. Теперь с ИИ все иначе. Волевым решением вы с помощью ИИ собираете все поведение системы, которое задокументировано и не задокументировано. Потом с помощью же ИИ разрабатываете тестовую модель на основе имеющейся + собранного поведения. И с помощью ии пишете тесты. И после больше никогда не пишите код без тестов. Все. Только ревьюить результат на каждом шаге не забывайте.
Post #150
825
- ❤ 7
- 👍 3