В августе 2021 г. компания по разработке искусственного интеллекта OpenAI выпустила Codex — новую систему, которая автоматически преобразует в код простые английские фразы. Codex основан на GPT-3, революционной платформе глубокого обучения. Она владеет почти всеми общедоступными письменными текстами, созданными человечеством до 2019 года.
«Заменит ли он программистов?» — cамый частый вопрос, который задают о Codex. Вдруг 12-значные долларовые вклады мировых держав в обучение айтишников окажутся напрасными? Томас Смит, ранний бета-тестер GPT-3 и Codex, испытал систему и отвечает на вопрос в этой статье.
Спойлер: нет. Если вы разработчик или ваша компания тратит кучу денег на IT-специалистов, можете вздохнуть спокойно. Codex в ближайшее время не заменит людей, зато может сделать их более эффективными.
Почему Codex не отнимет у тебя работу?
Несколько лет назад Томас Смит работал над проектом правительственной базы данных с аналитиком и разработчиком высокого уровня из крупной американской консалтинговой фирмы. Их задачей было разобраться, как госучреждение использует базу данных для назначения грантов организациям и предложить улучшения.
В начале совместной работы у Томаса было много стереотипных представлений о работе коллеги. Томас воображал, как тот, ссутулившись за ноутбуком, будет весь день кодить в R или генерировать блестящие формулы в Mathematica, чтобы понять базу данных клиента. Представлялись безумные каракули в стиле «Игр разума», регрессионный анализ и бесконечные часы у монитора за написанием километров кода Python.
Вместо этого коллега-разработчик начал взаимодействие с клиентом и потратил несколько дней, чтобы изучить процесс предоставления грантов. Он встречался с отдельными сотрудниками, акционерами, представителями организации. Только после нескольких месяцев такой работы он наконец сел за аналитику, используя R и различные графические библиотеки. Фактически написание кода и анализ заняли всего два дня. Результаты были точными, программа работала блестяще. Клиент был в восторге.
Позже он пояснил, что на самом деле написание кода и анализ занимает около 1% его времени. Остальное тратится на работу с клиентами, изучение их проблем, выбор правильного ПО и математических моделей, сбор и очистку фактических данных и представление результатов. В большинстве случаев, кодирование и математика сами по себе являются крошечной, почти механической частью процесса разработки.
«Полразработчика» и ошибки в коде
Согласно Tech Republic, написание реального кода часто занимает менее половины, а во многих случаях всего 20% времени разработчика. Даже если бы такие системы как Codex работали идеально, они заменили бы максимум половину работы живого человека, а часто и меньше четверти. Если кто-то не научит Codex сидеть с клиентами, завоевывать доверие, понимать проблемы и разбивать их на решаемые составные части — делать то, что делал коллега Томаса во время совместного проекта, — система не будет угрожать опытным разработчикам в ближайшее время.
В анонсе Codex учёные OpenAI признают это. По их словам, «инженеры не тратят весь день на написание кода». Большая часть времени уходит на совещания с коллегами, написание проектных спецификаций и обновление существующих программных стеков. Создатели Codex ожидают, что система может «несколько снизить общую стоимость производства программного обеспечения», позволив разработчикам «быстрее писать хороший код». Но они сомневаются, что это отнимет рабочие места. Учёные предполагают, что автоматизация рутинной работы сделает разработку доступной более широкому кругу людей. Это также может создать новую специальность — prompt engineering, т.е. разработку текстовых подсказок, которые позволяют системам ИИ вроде Codex творить чудеса.
Другие эксперты не так оптимистичны. Как отмечает журналист Стивен Леви в Wired, Codex не украдёт работу у отдельных разработчиков. Но если это сделает каждого разработчика намного более эффективным, компании могут обойтись меньшим количеством специалистов. Если раньше для проекта требовалось десять разработчиков, при использовании Codex понадобится только восемь. Это приведёт к чистой потере двух рабочих мест.
Когда-нибудь это может стать реальностью, но этот день наступит нескоро. Учитывая что в 2020 году спрос на разработчиков во всем мире вырос на 25%, несмотря на пандемию, реальная угроза рабочим местам со стороны Codex кажется минимальной. По крайней мере, на данный момент. Если ведущие компании станут обходиться меньшим количеством разработчиков, это сделает их доступными для компаний среднего уровня или стартапов, что приведет к улучшению программного обеспечения на всех уровнях технологической экосистемы. В настоящее время стартапам часто сложно привлечь талантливых разработчиков. Если бы мировые Гуглы и Фейсбуки переманили меньшее количество ведущих разработчиков, новые инновационные компании могли бы получить больше талантливых специалистов.
Также важно помнить, что предположение основано на идее, что Codex или подобные ему системы могут писать код так же, как человек. На данный момент это невозможно. OpenAI признает, что при запуске код Codex содержит ошибки или просто не работает в 63% случаев. Написание совершенного кода в 37% случаев — большое дело для машины. Тот день, когда не-программист сможет сесть за Codex, написать спецификацию и запустить работающее программное обеспечение, ещё далеко.
Полностью заменить разработчика не получится (комментарий команды @GetMeIT_bot)
Если попытаться делать прогнозы, вероятно, в ближайшие 10 лет Codex не удастся заменить кодера, тестера, аналитика и даже менеджера. Сначала замещение коснётся более простых в автоматизации профессий — специалиста по документообороту, продавца, обслуживающего персонала. Стремление к замене human в отделе human recourses, хотя бы частично, логично: машины освободят людей для более квалифицированного и интеллектуального труда, стимулируя развитие талантов. Но что касается инженеров, позиций, где требуется новаторский, необычный подход к решению задач, — это не линейный путь, который легко повторить. Похожие noCode системы существуют уже не первый год. Когда-то про них говорили, что они заменят программистов. В итоге, где сейчас noCode? На хакатонах, в школах, в простых пет проектах. А что в компаниях? Как много из них находится в недостатке айти персонала? От 500 тысяч до 1 млн человек — это показатель по России. Если бы Codex мог закрыть этот гигантский пробел в короткие сроки, он бы спас рынок. Тем не менее, вопрос о реорганизации системы образования и подготовке огромного количества технических кадров обсуждается не только IT-элитой, но и на государственном уровне. Открываются корпоративные университеты, на это выделяются серьёзные бюджеты. Значит, мировое IT-сообщество всё ещё делает главную ставку на живого человека в своих прогнозах на ближайшие несколько лет.
Технологичные кентавры vs авиация
Вот почему многие в техническом сообществе считают Codex не столько генератором нового кода, сколько мощным инструментом помощи разработчикам. На вопрос, заменит ли Codex разработчиков ПО, футурист Дэниел Джеффрис ответил: «Нет шансов. Вероятно, пройдут годы, прежде чем у нас появится механизм, который сможет генерировать стабильно хороший стандартный код и продуманный новый код».
Джеффрис считает, что такие системы как Codex создают «кентавров, гибридов людей и ИИ, работающих вместе, чтобы делать что-то быстрее и лучше, чем каждый из них мог бы по отдельности». Кентавры уже доказали свою ценность в таких играх как шахматы, где пары из людей и машин неизменно превосходят как людей-гроссмейстеров, так и компьютеры без оператора. Кентавр из человека и искусcтвенного интеллекта мог бы работать быстрее, чем отдельный разработчик, зато был бы гораздо точнее и лучше приспособлен к реальным задачам, чем система вроде Codex в одиночку.
Популярный репозиторий кода Github произвел фурор, когда запустил Copilot — платформу поддержки кода на базе Codex. Copilot работает как автокоррекция на стероидах, предоставляя код для выполнения целых функций или автозаполнение повторяющегося кода по типу разработчика. Если кентавры действительно являются будущим искусственного интеллекта, то название системы вводит в заблуждение. В авиации второй пилот — это полностью квалифицированный пилот, который при необходимости может взять на себя управление самолетом от капитана. С другой стороны, автопилот может управлять самолетом автоматически в определённых условиях (например, при крейсерском движении по прямой и горизонтальной плоскости), но должен передать управление пилоту-человеку, когда ситуация становится рискованной (например, при посадке в плохую погоду).
Copilot GitHub действительно больше похож на автопилота, чем на настоящего второго пилота. Он может писать код самостоятельно, когда задачи простые и повторяющиеся, но как только они становятся сложными, требуется вмешательство человека. «Как разработчик, — говорит Github на своей странице о Copilot, — вы всегда главный». В конечном счете, это не критика Copilot или Codex. В авиации автопилоты — невероятно полезные системы.
На конкретном коммерческом рейсе самолет может находиться на автопилоте до 90% времени. Но что очень важно, за системой всегда следят пилоты-люди. Без их 10% участия самолеты терпели бы крушение гораздо чаще. Пилоты уже являются опытными, безопасными и эффективными кентаврами. Они могут служить примером для подобных кентавров в мире разработки ПО. Вероятно, отсюда и авиационная метафора GitHub и OpenAI.
Выводы
Если в ближайшие несколько лет Codex резко не улучшится, разработчикам бояться нечего. Однако учитывая потенциальный прирост эффективности, компаниям и отдельным разработчикам стоит начать изучать технологии кентавров уже сегодня. Если вы разработчик, освежите в памяти навыки prompt engineering и подайте заявку на доступ к Copilot и Codex. Получайте опыт заранее. Если вы возглавляете IT-компанию, начните думать о том, как использование кентавров может сделать ваши процессы разработки более эффективными. А если вы преподаете информатику или программирование, знакомьте студентов с системами ИИ и применением кентавров уже сегодня, чтобы они были готовы работать с такими платформами как Codex или Copilot, когда выйдут на рынок труда.
Сегодня Codex проигрывает, когда ему противостоит опытный разработчик. Однако по мере совершенствования подобных систем, люди, которые будут комбинировать свои навыки с продвинутым ИИ и превратятся в кентавров, могут стать мощной и непобедимой технологической силой.
Комментарии (11)
unibasil
18.09.2021 08:13+2Разработчикам бояться нечего ещё по одной простой причине — с каждым годом доля рабочих legacy проектов всё увеличивается, и поддерживать их, внося необходимые исправления, никакому AI в обозримом будущем будет не под силу, там и человеку на порядок сложнее, чем весело и задорно написать что-то с нуля. Так что без работы мы точно не останемся.
bazilxp
18.09.2021 10:02С Игрой ГО также думали.. В принципе если говорить о средствах , есть области где "боты" будут отжигать. Полноценная замена да не случится именно сейчас, в будущем посмотрим
rg_software
18.09.2021 20:48+1Ну так только наивные люди про го думали. Это такая же дискретная игра с полной информацией, как и шахматы, только пространство поиска больше. А тут совсем другого характера задача. Я бы этот ИИ воспринимал как умный поиск по гитхабу с автовставкой. Ну, кому-то пригодится, конечно.
GetMeIT Автор
20.09.2021 15:54Скорее всего, по началу там будет совсем базовый функционал. Будет предлагать, как что-то можно переписать, затем будет предлагать, как можно улучшить. И только потом научится сам писать хорошо если что-то рабочее.
gsaw
18.09.2021 13:47+1Я так думаю понадобятся специалисты могущие так написать ТЗ, что бы это понял Codex и смог хотя бы с вероятностью в 99% сделать из этого рабочий код. И тогда возникает вопрос, а зачем, если есть программисты и структурированные языки программирования? Хрен редьки не слаще, все равно слабое звено человек. Как человек понял, так и выйдет.
Вот если бы встроить Codex в какое нибудь IDE. Типа умных сниппетов. Да и то, есть куча генераторов кода из спеков. Код нынче писать вообще плевре дело. Та же Intellj просто творит чудеса, только начинаешь набирать, а там уже готовые куски кода.
Это как с тремя законами робототехники. Пока робот не сможет понимать человека, вряд ли он сможет принимать решение основываясь на правиле "не навреди". А если робот понимает человека, то чем он хуже человека?
Так и тут, если Codex сможет понять заказчика, то да, я умываю руки, а до тех пор я думаю дорога ещё далека.
GetMeIT Автор
20.09.2021 17:56+1Нужно будет ему давать такое ТЗ, которого в нашем мире ещё никто никогда не писал. Т.е. не просто задача Файнмена "объясни ребенку термин", а объясни улитке/кузнечику/моллюску всю абстракцию, а потом куда должен крутиться каждый отдельный болтик. Чтобы реализовать такое, нужно потратить не меньше времени, чем на само написание кода. Так что пока такие системы не научатся понимать "заказчика-обывателя", который будет писать в ТЗ "сделай красиво и чтоб работало" — спим спокойно.
5ombi3
20.09.2021 15:54Сомневаюсь что codex сильно разовьется даже за 5 лет, но автоматизировать 70% работы линейного персонала всегда хорошо. Поглядим
GetMeIT Автор
20.09.2021 19:09+1Наверное, это вопрос лет 15. Так же как и в вопросах развития кибернетики. Т.е. основная задача — помоги программе научиться понимать запрос человека. А чтобы этого достичь, ещё много чашек кофе нужно выпить :)
romankonstant
Кажется, Илон Маск вышел из openai три года назад
GetMeIT Автор
Вы правы, Илон Маск был одним из основателей. Это переводной материал, мы старались сохранить текст максимально близко к оригиналу. Но в данном случае действительно лучше избегать разночтений, поэтому благодарим, что вы обратили на это наше внимание.