Код
#статьи

Кодеры против машин: может ли ИИ заменить разработчиков

Обсуждаем главные страхи айтишников по поводу ИИ: будет ли работа, выживут ли джуны и как изменится индустрия с приходом ChatGPT.

Иллюстрация: Possessed Photography / Arseny Togulev / Mohamed Nohassi / Unsplash / Gorodenkoff / Shutterstock / Annie для Skillbox Media

Когда где-то появляется нейросеть чуть умнее чайника, журналисты сразу впадают в панику: «Всё пропало, шеф, скоро машины заберут у всех работу». Для усиления драмы в ход обычно идут старые байки из склепа: от головы профессора Доуэля до «Скайнета» и «Матрицы».

Но вот выходит ChatGPT — нейронка, которая общается и генерирует контент уже почти как человек. Маск и Возняк подписывают письмо с призывом остановить обучение продвинутых ИИ — мол, для человечества это добром не кончится. Выходит, всё же стоит напрячься?

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

Нейронка — друг человека

Пока разработчики настроены по отношению к нейросетям дружелюбно. На ИИ всё ещё нельзя переложить творческие и ответственные задачи, зато он может брать на себя рутину: искать ошибки в коде, обрабатывать логи и дополнять отдельные блоки кода. А ещё он часто ошибается — так что люди нужны как минимум для проверки его ответов.

Глеб Михеев


Директор по развитию образовательной платформы Skillbox Holding, руководитель программного комитета FrontendConf, спикер отраслевых конференций.


Искусственный интеллект — это пушка!

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

Во-вторых, на ИИ можно переложить интеллектуальную рутину и облегчить работу программистов. Я сам сейчас использую ChatGPT 4 — для гуглинга, написания простых текстов и работы с логами.

Если раньше логи приходилось разгребать вручную, теперь их можно анализировать с помощью нейросетей. Фактически мы автоматизируем рутинные задачи по локализации проблем.

Что ещё может сделать мультимодальная ML? На основании скриншота ошибки подсказать её причину и даже оценить степень её влияния на пользователя.

Но несмотря на все преимущества, нейросети не заменят разработчика, потому что единственное, что они делают хорошо, — предсказывают следующее слово в контексте. Да и выполнение рутины — не слишком большая интеллектуальная работа.

С другой стороны, после того, как мы автоматизируем рутину, сразу вырастет производительность труда разработчиков — соответственно, качество сервисов тоже улучшится.

Такое было в истории уже много раз — во время промышленных революций. Сначала изобрели паровой двигатель, потом электрический, потом произошла автоматизация, цифровизация… Все эти события повышали качество жизни.

130 лет назад появился первый автомобиль. Это была карета с двигателем, которая имела очень маленький запас прочности. Первые автомобили ломались, плохо ездили. Сейчас есть Maybach. Это настолько разные машины, что их невозможно сравнивать.

Сейчас в жизни происходит то, о чём писатели фантазировали десятилетия лет назад. 100 лет назад предсказывали, что благодаря электричеству люди смогут передавать голос и изображение на расстоянии. Что электронные машины смогут рисовать чернилами, как художники. Всё так и случилось.

Наши рутинные задачи скоро перестанут делаться руками. Мы просто будем нашёптывать задания в MLку, а она будет их выполнять. Прямо как в романе Сергея Лукьяненко «Императоры иллюзий». Там герой сидел за компьютером, показывал руками и что-то говорил в микрофон — так программировал.

В какой-то момент в игровой индустрии появилась процедурная генерация. Разработчик описывает процесс — например, как растёт трава, где будет лес, а где заболоченная местность. Нажали на кнопку — и трава появилась везде, где надо. Большие открытые миры вроде «Ведьмака» не случились бы без процедурной генерации.

Многие начали говорить о конце профессии дизайнера игр, но этого не случилось. Теперь художник делает мир 10×10 километров, генерирует его процедурно, а потом совершенствует вручную. Благодаря нейронкам он может заниматься только креативной частью работы: решать, как должна выглядеть карта, как сделать мир красивым и как добавить в него нарративную составляющую.

Скриншот: игра «Ведьмак 3: Дикая Охота» / CD Projekt RED

Подробнее о том, как работает процедурная генерация в играх, можно почитать здесь.

В отдалённой перспективе может не стать не только программистов, но и пилотов, военных, депутатов, водителей. Зато появятся десятки и сотни других востребованных профессий. Мир меняется очень быстро, но не так быстро, как люди это представляют.

Нужно овладевать новыми технологиями, повышать производительность труда. И тогда вы станете ценным и актуальным профессионалом. Можно уже сейчас создать аккаунт и начать пользоваться ChatGPT, смотреть и учиться.

Пять лет назад плохой идеей было не давать ребёнку телефон, так как он мог вырасти не подготовленным к жизни в современном обществе. Сейчас нужно дать всем попробовать попользоваться нейронками. Кто не попробует, станет изгоем.

Делаю ставку на то, что через пять лет в описаниях вакансий будут писать: «Обязательно умение работать с Word, Excel и ChatGPT». Общество легко интегрирует новые технологии, нужно лишь не отставать от этого процесса.

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

Кирилл Толкачёв


СIO в JUG Ru Group.


Недавно на IT-фестивале TechTrain выступал Иван Ямщиков, ведущий подкаста «Проветримся!». Его исследовательская деятельность посвящена искусственному интеллекту. Ваня работает с бизнесом над применением ИИ в разных сферах, в том числе в области генеративного искусства, к которой и относится ChatGPT.

В Германии, где живёт Ваня, есть люди, настроенные против атомной энергетики. Они живут за счёт того, что выступают на конференциях и призывают пользоваться ветряками вместо атомных электростанций. Хотя с научной точки зрения их аргументы против ядерной энергетики несостоятельны.

На фестивале мы посмеялись над таким проявлением экологического донкихотства. В ходе обсуждения вспомнили, как появилось и постепенно распространилось книгопечатание. Благодаря этому труд писцов вышел на новый уровень. То же самое с ИИ — это некая адаптация, изменение ландшафта индустрии.

Человек должен фокусироваться на создании смыслов, а не на том, чтобы рисовать сотни новых иконок для онлайн-сервисов. Рутину можно передать новым инструментам, если научиться эффективно ими пользоваться.

Думаю, в ближайшем будущем нас ждут новые вакансии из разряда «Переговорщик с ChatGPT». Их задача будет в том, чтобы получить от чат-бота адекватный результат с минимальным количеством ошибок. Это похоже на работу журналиста — надо собрать информацию, провести фактчекинг и понятно донести аудитории.

Сейчас чат-бот ChatGPT похож на плохого журналиста, который строит «жёлтые» теории, никак не проверяя факты либо подтверждая их лжеисточниками. Чем вопрос уже, тем выше вероятность, что ChatGPT скажет ерунду. И самое страшное — сделает это уверенно, не моргнув глазом.

Упростят ли нейронки вход в профессию. Я не думаю, что это случится. Если начинающий разработчик попытается использовать нейросеть для прохождения собеседования, грамотный интервьюер его легко раскусит. Есть даже идея заносить таких кандидатов в чёрный список, чтобы другие компании не тратили своё время. Нечестность ломает взаимное доверие и никому не приносит пользы.

Можно ли заменить джуниора ChatGPT. Это зависит от того, чего ждут от джуна. Если суть работы в том, чтобы генерировать маркетинговые тексты без фактчекинга, то, конечно, эту работу может выполнять нейросеть.

Главная задача джуна — учиться и приносить пользу команде. Задача номер два — дать свежее мнение. Компании должны интересоваться тем, как новичок увидел процессы, спрашивать у него, что можно улучшить. Из нейросети такой фидбэк не вытащишь.

Что делать людям, которые боятся ИИ. Я бы посоветовал им побольше поработать с ChatGPT. Возможно, они поймут, что выглядят как борцы с атомной энергетикой. Если большинство людей пока в чём-то не разбираются, это не значит, что это нужно запретить.

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

Ещё на TechTrain был доклад Дмитрия Сошникова. Он рассказывал, как писал книгу с помощью искусственного интеллекта. Для неё нужны были иллюстрации — в частности, много изображений главного героя. По запросу «мужчина преклонного возраста в красном свитере» нейросеть всё время генерировала разных людей.

Но потом Дмитрию удалось натренировать нейросеть на образе определённого человека, то есть себя. В результате каждый раз генерировалось изображение главного героя, похожего на автора. Это яркий пример того, что, каким бы навороченным ни был инструмент, с ним нужно уметь обращаться.

От современного специалиста требуется не просто пойти и загрузить в интерфейс нейросети какой-то контекст. Мы должны уметь пользоваться этим инструментом профессионально.

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

Виктор Корейша


Руководитель отдела Message Bus в Ozon Tech, ведущий подкаста «Кода Кода».


Искусственный интеллект — удобный инструмент, который тем не менее не заменит разработчиков, так же как их не заменят более высокоуровневые языки программирования или более производительные IDE. Все эти инструменты лишь помогают разрабатывать эффективнее, быстрее, качественнее. Больше сосредотачиваться на том, что нужно сделать, чем на том как.

Другой вопрос — как изменится рынок разработки. Думаю, что многие проекты, для которых сейчас нужны большие команды, можно будет осуществлять силами нескольких человек. Это не обязательно означает, что разработчики станут меньше нужны, — возможно, они просто смогут брать больше проектов.

Изменятся и требования к квалификации. Как именно — пока непонятно. Но ключевым навыком точно будет способность взять на себя ответственность и довести проект до конца.

Анна Жаркова


Lead Mobile Developer в компании Usetech. Пишет нативные приложения под iOS (Swift, Objective-C) и Android (Kotlin, Java) и кросс-платформенные (Xamarin, Xamarin.Forms, Kotlin Multiplatform). В мобильной разработке больше восьми лет. Тимлид и ментор. Kotlin GDE. Преподаватель в Otus на курсах iOS Basic и Pro.


СсылкА


Я считаю, что искусственный интеллект не сможет написать полноценное приложение, самостоятельно сгенерировав код. Но он может стать неплохим инструментом автоматизации простых и рутинных задач. Например, переводить макеты из Figma в UI. Но писать и крепить бизнес-логику к такому UI должен разработчик.

Можно сэкономить много времени на генерации тестов. Также алгоритмы помогут проанализировать код на потенциальные утечки памяти и уязвимости. Лет 10–15 назад, когда эта тема переживала очередной виток популярности, как раз предлагалось использовать системы на основе нейросетей для этих целей.

В общем, если часть неприятных забот и рутины возьмёт на себя искусственный интеллект как инструмент, то разработчики просто переключатся на другие задачи.

Валерий Жила


Software Engineer, разрабатывает системы управления городской инфраструктурой для мегаполисов по всему миру. Основная деятельность — бэкенд, database engineering.


СсылкА


Обширный зоопарк готовых решений, SaaS, разнообразных фреймворков и высокоуровневых языков сделал наш труд эффективнее. Сколько труда нужно было вложить, чтобы выбить на перфокартах нужный код для инженерного калькулятора? А сейчас для этих целей есть десктопные приложения — бери и пользуйся.

Точно так же вижу расцвет ИИ-помощников в разработке. В перспективе следующего года у каждого человека с интернетом появится бесплатный или условно-бесплатный очень шустрый средненький мидл в любой области. Местами он будет пороть чушь, но в основном будет видеть общую картину и стабильно выполнять задачи. Результаты после него нужно будет тщательно перепроверить.

Разработчики не исчезнут, просто сегодняшний Senior Backend Developer станет Backend AI Orchestrator. Фокус перейдёт с написания в миллионный раз одних и тех же эндпойнтов на решение бизнес-задач.

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

Что касается денег, то они из индустрии никуда не уйдут. Сейчас начнётся золотой век предпринимательства во всех формах. Да, профессия очень изменится. И нужно быть готовым эволюционировать вместе с ней.

Александр Нозик


Директор Центра научного программирования МФТИ. Физик-программист, кандидат физико-математических наук, преподаватель.

Руководитель московской Kotlin User Group.


Ссылки


Искусственный интеллект, как в «слабом», так и «сильном» своём варианте, — это всего лишь система принятия решений. Но сейчас очень часто искусственным интеллектом называют модели для распознавания образов, например картинок.

Нейросети для распознавания образов и принятия решений есть в программировании уже давно. Например, умное автодополнение, умеющее выбирать имена переменных и ранжировать список, работает в IntelliJ IDEA уже пару лет. Аналогичные инструменты есть и в других средах.

Сейчас появились генеративные сети, которые могут не только вставлять имена переменных, но и писать целые куски программ и даже небольшие программы целиком, — тот же самый GitHub Copilot. Значит ли это, что программы могут писать программы и программисты не нужны? Конечно, нет.

Генеративные сети отлично работают, только пока вы даёте им типовые задачи. Если задача оказывается оригинальной, помощник может написать за вас небольшие кусочки кода, но ему точно не под силу решить всё целиком. История в чём-то похожа на всеобщее возбуждение по поводу no-code-разработки: всё замечательно, пока вы работаете по шаблону.

Это значит, что потребность в высококвалифицированных программистах никуда не денется. Разве что работать им, возможно, станет приятнее, потому что типовые задачи можно будет поручить машине. Значит, уменьшится потребность в джунах. Повысятся и требования к квалификации: мечта отучиться полгода на курсах и зарабатывать миллионы становится всё дальше.

У генеративных сетей отсутствует внутреннее представление о том, как работает программа. Это значит, что сеть может сшить разные куски кода, и этот код будет работать, но без модели. Поддерживать такой код будет невозможно, только переписать заново. Шутка «генерируем код сеточкой за пять минут, а потом неделю разбираемся, почему он не работает» — уже совсем не шутка.

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

Наиль Гафуров


Тимлид, исследователь в сфере искусственного интеллекта.


Пока что кто-то должен рассказывать искусственному интеллекту, что разрабатывать и как. В идеале этот человек должен знать особенности этого ИИ, знать предметную область, для которой разрабатывает программу. И в итоге 8 часов в день, пять дней в неделю писать искусственному интеллекту, что и как разрабатывать.

Есть термин «синтаксический сахар» — возможности языка программирования, не влияющие на поведение программы, но упрощающие её разработку. Видимо, теперь появится синтаксический торт.

А если искусственный интеллект начнёт сам решать, что разрабатывать, нас будут волновать совсем другие вопросы :)

Доля скептицизма

Есть и более пессимистичные прогнозы: джунов нейронки лишат работы, артистов — гонораров, студентов — самостоятельного мышления, а спецов по кибербезу — спокойного сна. Давайте эти мысли тоже разберём, чтобы жизнь совсем мёдом не казалась.

Андрей Ситник


Ведущий фронтенд-разработчик в в Evil Martians. Разрабатывал российский Groupon, сайт «Брейнвошинга», atata.com и даже немного «Хабрахабр». Создал «Автопрефиксер», PostCSS, «Браузерслист», «Логакс» и Nano ID.


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

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

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

Обидно, что джуны могут остаться без денег, в то время как экономика начнёт производить только больше продукта. Из-за нейросетей может усилиться разрыв между богатыми и бедными.

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

Евгений Антонов


Тимлид, IT-консультант. Более 15 лет в IT-индустрии. Ведёт телеграм-канал «Тимлид Очевидность» и подкаст «Кода Кода».


СсылкА


На мой взгляд, искусственный интеллект будет помогать программистам — как Copilot или ChatGPT. Но нередки истории, когда нейросеть под видом довольно правдоподобных валидных решений выдавала решения с изъянами. Поэтому каждый ответ надо просмотреть и исправить — то есть всё-таки необходимо вмешательство компетентного человека.

Разработчик действует в команде, где есть свои сложные коммуникации, взаимозависимости, вносятся изменения в условия задачи, архитектуру и прочее. Под эти требования искусственному интеллекту, на мой взгляд, ещё не скоро удастся подстроиться.

Иной раз заказчики такое в требованиях приносят, что не только ChatGPT не сдюжит, но и сам «Скайнет» не разберётся :) А в итоге оказывалось, что и делать ничего не надо, лишь обстоятельно поговорить с человеком, понять его проблему и предложить более подходящее решение.

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

С другой стороны, область искусственного интеллекта сейчас переживает такой бурный старт, что бежать с ней в ногу получается не у всех. И как только остальной бизнес смекнул, что рискует никогда не догнать инноваторов, сразу появились инициативы затормозить развитие технологии. Такая вот теория заговора 🙂

Александр Кучук


Выпускник МФТИ. Пишет на Java, преподаёт в Высшей школе экономики


СсылкА


В глобальной перспективе кодогенерация, сдобренная кусочками логики, сможет нас заменить. Если ИИ разовьётся настолько, что научится эмулировать мысль, то определённо заменит. Все мы смотрели фильмы про системы вроде Д. Ж.А.Р.В.И.С.

Но в ближайшее время ничего такого не произойдёт. Сейчас искусственный интеллект — это помощник для самых простых задач. Лично для меня это умный Google или Stack Overflow — можно быстро найти ответ на вопрос или готовое решение.

Следующий уровень — можно будет что-то зарефакторить, подправить и быстренько проверить маленький кусок кода. Это всё ещё роль помощника программиста. Но уж точно не замена, потому что заменить мысль пока невозможно, несмотря на то что мысли у некоторых абсолютно бредовые — но уж какие есть 🙂

Писать код — не самая главная задача программиста. Нужно ещё думать о его поддержке, о читабельности — обо всём том, о чём сейчас говорят на конференциях. И пока искусственный интеллект не сможет организовать всё это, он не заменит разработчиков.

Студенты очень любят использовать ChatGPT, чтобы сгенерировать ответы на домашние задания. В большинстве случаев получается плохо: если присмотреться, сразу видно что писала нейросеть, а не человек. Образование от этого страдает, но это уже другой вопрос.

Нет замены программисту… Пока

Чтобы заменить программистов, ChatGPT надо стать человеком — как минимум чтобы вникнуть в хотелки заказчиков, которые порой и сами-то не понимают, чего их душеньке угодно. На этом моменте нейросеть может сломаться — в отличие от программистов.

Григорий Петров


DevRel в Evrone. Участвовал в создании Radmin, продвигал интерактивное телевидение NPTV, программируемую телефонию Voximplant.

Евангелист сообщества MoscowPython и нейрофизиолог-любитель.


СсылкА


Ценность разработчика в том, что он может создавать сложные инженерные системы: знает, как применять типовые приёмы и внедрять новые фишки, чтобы проект не развалился через полгода под весом собственной тяжести.

Чем здесь может помочь ChatGPT? Безусловно, он может по текстовому описанию писать код, так же как 30 лет назад машины научились превращать в код английские слова.

Чего ChatGPT сделать не сможет, так это встроить код в существующий проект, потому что для этого с проектом придётся разобраться:

  • почитать код, из которого он состоит;
  • почитать тикеты и комментарии, чтобы понять, почему сделано так, а не иначе;
  • поговорить с людьми — огромное количество информации в коде отсутствует просто потому, что программисты, которые писали код, не знали, как отразить в нём тысячи часов обсуждений на совещаниях, у кулера и в барах.

Чтобы нейросеть могла заменить человека, она должна стать человеком. То есть обладать человеческими возможностями общения с людьми, памятью, механизмами внимания. Она должна понимать, как устроен наш окружающий мир. В ChatGPT и других современных чат-ботах пока такой понималки нет.

Глафира Жур


Accessibility Driven Team Lead в SpurIT, Google Developer Expert for Web. Организатор Accessibility Club Minsk и митапов MinskCSS и MinskJS.


Несмотря на прогнозы, нас, фронтендеров, до сих пор не заменили генераторы кода из Figma и Photoshop. Хороший верстальщик тоже всё ещё на вес золота, и дальше будет так же. Качественный интерфейс пока что может сделать только человек.

Зато нейросети хорошо справляются с простыми, рутинными задачами — например, я на днях сгенерировала с помощью ИИ сценарий 10-минутного видео. Чтобы написать такой самостоятельно, нужно посидеть, постараться, потратить время.

Также никто не будет отправлять ChatGPT разбираться с багом в легаси. Эту задачу отдадут опытному разработчику, который всё это написал или унаследовал от других людей. Пока существует ПО в том формате, в котором мы привыкли, — есть предыдущие версии, надо что-то поддерживать и так далее, — никто не заменит людей ещё очень долго.

Даже если полностью с нуля писать софт на ChatGPT, всё равно это будет делать целая команда, а не один человек. Собирать код в рабочее решение придётся по кусочкам. Как обычно, где-нибудь потеряется запятая, и вы будете 17 часов ковыряться все вместе, искать, где же её не хватило.

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

Кстати, такая профессия действительно существует — называется промпт-инженер. Почитать о ней подробнее можно в нашей большой статье про ChatGPT, в разделе «Промпт-инженер — профессия будущего».

Мы уже думали о том, что новые студенты, приходя на наши курсы, могут попытаться делать тестовые задания с помощью ChatGPT. С ходу определить, что код был сгенерирован, сложно — это можно понять, только если поток студентов большой. Например, если из 200 работ 10 окажутся одинаковыми, сразу будет виден масштаб «списывания».

Мы попробовали сгенерировать финальный код к нашим тестовым заданиям и получили неплохой результат только к двум из трёх. Третье задание оказалось неподъёмным для ИИ — уж слишком человеческое: нужно было отрефакторить очень плохо написанный CSS-код. Машине не всегда понятно, почему решение плохое, если оно работает.

Скорость, с которой развиваются нейронки, довольно высока. Так что, возможно, они уже скоро научатся выдавать очень изящные решения. Всё зависит от нас: мы сами отдали нейросети свой код, а она собирает из него свой. Это всё равно результат наших действий.

Резюме: искусственный интеллект — это прикольно, интересно. Что-то он заменит, но комплексные задачи — вряд ли. Мы будем программировать на более «человеческом» языке. По сути, ChatGPT будет превращать наши слова в код — своего рода язык программирования над языком программирования.

Больше интересного про код — в нашем телеграм-канале. Подписывайтесь!

Научитесь: Профессия Data Analyst Узнать больше
Понравилась статья?
Да

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies 🍪

Ссылка скопирована