Использование AI замедляет разработку
Я недоумеваю каждый раз, когда слышу этот тейк. В этот четверг на нашем внутреннем митапе в Додо, во время обсуждения доклада, я в очередной раз услышал эту мысль — от тех же людей и с той же аргументацией, что и раньше. И если раньше я пытался «бороться» с этим, показать им красоту и эффективность такого подхода, то сейчас я уже просто принял это.
Сначала я искренне полагал, что дело в тулах — типа технологии ещё не настолько продвинуты, чтобы угодить запросам некоторых людей. И я их прекрасно понимал, пока state-of-the-art моделями были дорогие и непослушные Claude.
Правда, после выхода GPT-5 ничего не поменялось: те, кто успешно применял AI в разработке, продолжили применять его, а те, кто не использовал — продолжили бухтеть, только теперь уже на GPT-5.
Почему так? Почему одни трубят о том, что AI-assisted разработка ускоряет их, а другие либо утверждают, что с таким подходом невозможно решить ни одну задачу, либо говорят, что код на выходе неподдерживаемый, либо же ссылаются на «те самые исследования», в которых говорится, что подобная разработка на самом деле снижает производительность разработчиков?
Лично я пришёл к выводу, что это просто skill issue конкретных людей. Если даже Линус Торвальдс согласен принимать код, сгенерированный AI, то оправдания насчёт качества такого кода кажутся мне абсолютно неуместными (и нет, это не значит, что любой сгенерированный код можно не глядя пушить в прод). А что касается «тех самых исследований» — у меня ещё запланирован большой пост на эту тему. А если бы AI действительно не был способен решать задачи, мы бы с вами вообще не собрались здесь.
Причём я считаю, что самое важное преимущество использования AI — это даже не усиление уже имеющихся навыков, а то, что он позволяет тебе стать:
немного девопсом,
немного бэкендером,
немного фронтендером,
немного дизайнером,
немного менеджером,
немного (подставь своё).
Мне сложно даже перечислить, сколько улучшений AI принёс в мой Developer Experience: позволил локально запускать E2E-тесты, помог перевезти легаси-фронтенд написанный Angular (с которым я знаком только благодаря поддержке этого самого проекта) на современный стек (речь об обновлении 50+ зависимостей, некоторые из которых перестали существовать, пока проект не поддерживали, и семи мажорных версий Angular), а также улучшить имеющиеся и создать новые GitHub-джобы.
И ни одно из этих улучшений не было бы возможно, если бы я занимался ими самостоятельно. Одни — потому что я не знал, как это сделать, а обучение заняло бы кучу времени. Другие — потому что они просто требовали бы слишком много времени на реализацию. В продуктовой разработке зачастую просто не хватает ресурсов, чтобы закрывать такие задачи (хотя менее важными они от этого не становятся).
Если подводить итог:
1. Да, использовать AI нужно уметь. Это полноценный отдельный скилл, и качество ответов напрямую зависит от уровня вашего понимания LLM.
2. Да, со временем ситуация будет улучшаться: LLM будут становиться умнее, а значит — будут выдавать более толковые ответы, вне зависимости от вашего уровня владения LLM. Но есть проблемы, которые в ближайшее время решены не будут, и главная из них — проблема контекста (речь как об обогащении запроса контекстом, так и о размере контекстного окна, а также о росте количества галлюцинаций с увеличением контекста в рамках чата).
Проблемы работы с контекстом сейчас полностью лежат на пользователе. И умение работать с контекстом — это базовый минимум, которому нужно обучиться, чтобы успешно использовать AI для решения своих задач.
Post #18
140