Обновить

Почему AI не заменит разработчиков. Или заменит

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели9.9K
Всего голосов 6: ↑5 и ↓1+7
Комментарии12

Комментарии 12

Заменит, рано или поздно, нужно принять это, не на 100%, но на львиную долю. Когда появились автомобили конные извозчики исчезли, но появились водители. Нужно адаптироваться :)

Я не извозчик, я - водитель кобылы! (С) Утёсов.

Возьмем простой пример из области аутентификации. Реализовать обработку Refresh Token сегодня способен практически любой AI. Более того, скорее всего он предложит несколько вариантов реализации, соответствующих спецификации OAuth 2.0. Я недавно давал такую задачу ИИ-агенту для создания демо-приложения. В итоге я удалил ~30% его кода и часть переписал - он использовал хранение рефреш-токена в браузере, в обычных куках, создав критическую уязвимость. Потому ли, что он не знает OAuth 2.0 или OIDC, или принципов безопасности? Нет. Просто среди данных, на которых его обучали оказалось такое решение, может какое-то демо из открытых репозиториев, и что-то еще, я достоверно не угадаю. А общий вес этого решения оказался выше в рамках контекста моего агента.

Не верю. Или модель была очень слабая, или в постановке задачи не было задания уделить внимание безопасности. Модель уровня Fable и даже Opus при хорошем промпте наверняка все сделают так что не подкопаешься.

Не отрицаю, модель была слабая. И не вижу смысла мериться модельками. Суть поста в другом.

Вот это все про рутинный код который пишет AI устарело на пол года минимум.

Кейз 1. В моем пет проекте интервальные повторения для изучения иностранных слов не учитывают смысл слов, а я хочу чтобы учитывали. Мне нужно наваять модель для данных, встроить в существующие алгоритмы подготовки фраз и в алгоритмы повторений. Я на половину вообще не помню как это у меня работает и смутно представляю как будет работать. Я просто сажусь и начинаю обсуждать цели доработки с агентом. Он проясняет мне как что работает, как можно расширить, как могут работать повторения. В итоге я вылепливаю решение не видя кода вообще, обсуждая шаг за шагом что нужно реализовать и всё работает.

Кейз 2. Мне нужно сделать мультитенантную авторизацию на фреймворке который рассчитан на один тенант. Я знаю, что в другом проекте было что то похожее. Но мне не хочется неделю вникать в детали фреймворка и того решения. Я просто ставлю задачу "сделай такое как там, но под текущий проект" и получаю нормальное работающее решение буквально через 15 минут.

Потом я прошу его сделать аудит уязвимостей этого решения и получаю такой въедливый анализ на который у меня ушли бы дни размышлений.

Кейз 3. Я трачу год, чтобы написать сервис для запросов данных, основанный на тяжёлом фреймворке. Логика примерно на десяток тысяч строк, выстраданная шаг за шагом, с учётом всех нюансов существующего продукта и потребностей. Все хорошо, но жрет слишком много ресурсов. Решение - просто просим опус написать идентичный сервис но без фреймворка под те же тесты. Задача вообще не рентабельная для человека - адовой сложности новый код который надо пару месяцев писать а потом непонятно как сопровождать. Опус пишет это за 800$ на токены и три дня работы. И все, проблема решена.

И так далее

Мы входим в новую реальность, где при правильном подходе возможно даже невозможное.

Спасибо за комментарий! Обстоятельный и практичный, отличные наглядные кейсы, с цифрами, это ценно) Приятно общаться с людьми, которые аргументируют мнение.

Можно уточнить некоторые детали, ближе к содержанию статьи?

  1. Я правильно понял, что вы инди-разработчик и вайб-кодер, а не член командного проекта? И за все риски вы отвечаете только перед собой?

    Если вы все же член команды:

  2. Как у вас организован процесс приемки качества? Кто и на каком этапе отвечает за поставленный продукт? Кто отвечает за состояние и содержание кодовой базы? Какой масштаб ответственности у этих людей и какие объемы ущерба могут нанести их решения?

  3. Как реализовано масштабирование, поддержка, изменение требований?

  4. Насколько бизнесовая часть команды понимает и одобряет глубину погруженности разработчиков в кодовую базу? Они управляют этими рисками, или никто этими рисками не управляет?

  5. Если работа сводится с написанию промтов, может ли условный продакт (или его ассистент - недавно стажеры мне рассказывали и про такую вакансию, куда их приглашали) сделать то же самое?

Ваши ответы помогут мне улучшить продукты, над которыми я работаю.

Нет, я классический программист. Первый пример был про мой пет проект который пишется для развлечения и опыта. Вторые два примера - работа в энтерпрайз продукте который пилит 100 человек для нескольких тысяч заказчиков. Проект управляется так же как он управлялся 10 лет назад - по тем же практикам как любой подобный проект. Как с этим совмещать тот факт, что программисты почти перестали писать код руками последние пол года, мы без понятия. Формально процессы пока старые. Реально, ревью, например, практически утратило смысл. Просто команда достаточно опытная, чтобы не разрушить продукт экспериментами.

Продукт менеджеры конечно не могут участвовать в разработке промптами, потому что это люди которые меньше всех понимают что происходит с проектом в миллион строк кода благодаря всем новым возможностям разработки. Напротив, количество PM в проекте начали сокращать. С AI они успевают больше и их нужно меньше.

Спасибо за обратную связь! Хотел поднять вам карму, но хабр сказал нельзя поднимать выше 4-ки пользователю без публикаций. Рекомендую что-нибудь опубликовать, уверен найдется интересный кейс. Хорошего дня!

База. Особенно про ревью МР-ов на пару тысяч строк - прямо в больное место.

Сейчас реально началась какая-то эпидемия «промт-инжиниринга», когда человек нагенерировал с лопаты код, сам его до конца не понял, тесты вроде зелёные - и кидает в ревью. А ты потом сидишь, разбираешь этот оверинжиниринг и думаешь: «Блин, да тут работы на 20 строк было, зачем здесь три новых слоя абстракции и куча неявных зависимостей?!»

Спасибо за здравомыслие, а то от крайностей («завтра всех уволят» vs «ИИ это просто автокомплит») уже подташнивает.

Спасибо за обратную связь!

Мне как человеку, только вступающему в мир IT, эта статья сильно понравилась и дала какие-то надежды на то, что ИИ лишь инструмент в руках, знающего своё дело, человека и полная замена того, кто пишет код не задумываясь о его надобности

Спасибо за обратную связь! Все именно так.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации