Когда играли с ИИ и проиграли...
Сегодня закончил технический аудит одного web-портала. Портал, судя по всему, прошёл весь естественный жизненный цикл AI-разработки:
1. Сначала всё было прекрасно. Владелец собрал проект с помощью ИИ. Быстро. Красиво. Работает. Ну а что может пойти не так?
2. Потом пришли первые 60 клиентов. И сервер внезапно обнаружил, что архитектура — это не то же самое, что «оно же запускается». Сервер начал задумчиво смотреть в горизонт. Пользователи — на страницу 503. Владелец — на разработчиков.
3. Началась эпоха вайбкодеров. За проект последовательно взялись четыре разработчика. Каждый приходил со своей миссией: — «Я знаю, как это оптимизировать». — «Тут вообще всё неправильно». — «Сейчас быстро поправим». — «Странно… почему после моей оптимизации перестало работать то, что работало вчера?» Каждый оставлял после себя немного кода, немного магии и изрядное количество костылей.
4. Работала система. Починили одно — упало другое. Починили второе — перестало работать третье. Починили третье — почему-то снова сломалось первое. И где-то в этот момент проект начал стремительно двигаться к состоянию максимальной энтропии. SOLID? Не слышали. Single Responsibility? Один класс вполне может отвечать за всё. Dependency Inversion? Зависимости сами как-нибудь инвертируются. Архитектура? А зачем? У нас же есть ChatGPT.
5. В итоге — полный рефакторинг. Не потому что так было запланировано. А потому что дальше уже было проще переписать, чем понять. И вот тут особенно забавно. Проект изначально создал ИИ. Потом люди начали исправлять то, что сделал ИИ. Потом другие люди начали исправлять исправления первых. А в конце пришёл я и начал исправлять последствия того, как люди исправляли то, что исправляли после ИИ.
Получился такой своеобразный DevOps-круговорот костылей в природе.
И ведь проблема вообще не в ИИ. ИИ — отличный инструмент. Но если дать ему задачу: «Сделай мне приложение» без архитектуры, ограничений, принципов, тестов и понимания того, что именно ты строишь, он с радостью сделает приложение. А потом ещё одно. А потом исправит первое. А потом оптимизирует второе. А потом объяснит, почему третий вариант «более масштабируемый». И всё это будет выглядеть очень убедительно. Пока не придут первые 60 клиентов. 😁
Главный вывод моего сегодняшнего аудита:
ИИ прекрасно умеет писать код. Но он совершенно не обязан остановить вас в тот момент, когда вы превращаете проект в архитектурный Франкенштейн. Поэтому проблема не в том, что проект написан ИИ.
Проблема начинается тогда, когда ИИ становится архитектором, разработчиком, ревьюером, тестировщиком и тимлидом одновременно — а человек просто нажимает Enter.
Ну и да… «Работает» — это ещё не архитектура. Иногда это просто первая стадия будущего рефакторинга. 😏
А вы уже сталкивались с такими проектами? Поделитесь опытом!
· 2 мин
В моей сфере разработок продукта руководители часто стали использовать ИИ)) это отличный инструмент, главное вливать ему "правильное дано" и проверять написанное.😁
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
коммент удалён