Все чаще мы слышим в последнее время о том, что искусственный интеллект в будущем заменит программистов — что кодеры станут новыми “синими воротничками”, что золотой век программирования закончился.
Еще в декабре 2017 года исследователи из Окриджской национальной лаборатории написали статью, в которой предполагалось, что ИИ, машинное обучение и обработка естественного языка фундаментально изменят программирование к 2040 году до такой степени, что большая часть кода будет писаться машинами.
Однако будущее наступило гораздо быстрее. Уже сейчас модель GPT-3 от OpenAI может писать внятный код просто по текстовому описанию. Вот, например, простой уже работающий генератор приложений на основе React:
I built a todo list app simply by describing it to GPT-3.
It generated the React code for a fully functioning app within seconds.
I'm becoming more impressed and aware of its capabilities every single day. pic.twitter.com/QGrClar03s
— Sharif Shameem (@sharifshameem) July 18, 2020
Все это ставит перед нами основополагающие вопросы. Может ли самая востребованная и оплачиваемая работа сегодня стать никому не нужной? Убьет ли ИИ программирование?
Но, кажется, перефразируя Марка Твена: «Слухи о смерти программирования несколько преувеличены».
Компьютерное программирование, безусловно, сильно изменится благодаря искусственному интеллекту, машинному обучению и обработке естественного языка. Наступит день, скорее всего еще до 2040 года, когда мы сможем излагать инструкции на английском языке или в сокращенной его форме, и компьютер сможет переводит их в единицы и нули, которые он сам понимает. Нам не нужно будет использовать непонятный большинству язык программирования для составления инструкций, или, по крайней мере, не придется делать это так все время.
По сути, мы сможем разговаривать с компьютером, и он сам поймет, что ему нужно делать.
Программисты уже сегодня используют некоторые элементы этой парадигмы. Большинство сред разработки (IDE) содержит инструменты автодополнения кода. Эти инструменты завершения кода сегодня довольно просты, поскольку они просто просматривают списки наиболее вероятных ключевых слов, чтобы следовать тому, что вы уже набрали в текущей строке. Но уже создаются расширенные инструменты, которые предлагают завершение строки на основе контекста, целые блоки кода на основе уже написанного. Такие инструменты обучаются на миллионах открытых проектов и, по прошествии нескольких лет, весьма вероятно, что они смогут понимать то, что хотят “программисты”, на естественном языке.
Но программирование — это не только сам язык. Программирование — это способ мышления. Любой может выучить иностранный язык достаточно хорошо, чтобы понимать, что говорит другой, при условии, что оппонент говорит достаточно медленно и оперирует ограниченным словарным запасом. Скорее, способность формулировать идеи на этом языке — надлежащим образом, убедительно, творчески — это то, что отличает беглость от компетентности.
Точно так же есть кодеры, которые могут написать программу, если вы дадите им алгоритм, пошаговый план решения поставленной проблемы. Однако хорошие программисты успешны в первую очередь именно в разработке алгоритмов, в решении задач, и они делают это настолько хорошо, что преобразование их идей в код становится тривиальным даже для компьютера.
По мере того как компьютерные системы становятся все более и более разнообразными и сложными, включая мириады устройств, которые обмениваются данными по разнородным сетям, используя различные протоколы и взаимодействуя с бесчисленным множеством других систем и служб, задача организации всей их деятельности станет слишком сложной для нас, простых смертных. К счастью, ИИ сможет в этом нам чтобы помочь. Но программисты, которые будут указывать ему что делать, несомненно останутся.
Если вы хотите сами разрабатывать ИИ и быть делать код, который пишет код, пройдите курс «Профессия Data Scientist» от SkillFactory. За два года обучения по 6 часов в неделю вы освоите востребованные навыки в Data Science и соберёте портфолио проектов. Ритейл, киберспорт, путешествия, образование, медицина — грамотный специалист по Data Science нужен вне зависимости от индустрии.
Курс подходит разработчикам любого уровня, в том числе и начинающим. В конце курса вы станете Middle дата сайентистом и сможете работать по специальности.
Искусственный интеллект это будущее, которое уже здесь. Будущее в том числе и программирования.