Как новые достижения в области ИИ повлияют на программирование
Кажется, что чем быстрее развивается ИИ, тем больше дизайнеров, писателей, переводчиков, дикторов и других специалистов становятся невостребованными. Неудивительно, что разговоры на эту тему коснулись и программирования.
Изучение компьютерных наук считается одной из самых надежных стратегий получения высокооплачиваемой работы: по данным Бюро статистики труда (BLS), к 2032 году занятость разработчиков ПО вырастет на 25%.
Этот список не является исчерпывающим. Каждый может найти ИИ собственное применение. Даже LLM (большая языковая модель), вроде ChatGPT, которая не была специально разработана для кодинга, способна помогать в решении базовых задач программирования.
Незнание языков означает незнание функций компьютера, а это создает дополнительные неточности. Неудивительно, что, по данным GitClear, рост использования кода, сгенерированного ИИ, приводит к снижению его качества.
Логично сравнить программирование с рисованием. Ведь рисование — это творческий процесс, а искусственный интеллект пока еще не может достичь того уровня креативности, который могут предоставить художники.
Программирование также требует креативности. Для создания сложных проектов недостаточно обработать сотни строк кода. Для этого необходима креативность, которой обладает лишь человек.
Тот факт, что ИИ может создавать картины, не привел к тому, что творческие люди прекратили заниматься искусством. Исходя из этой логики, наличие ИИ для программирования не должно привести к деградации обучения в этой сфере.
Кроме этого, сторонники мнения о вытеснении программистов искусственным интеллектом вполне могут действовать в своих интересах.
Например, ранее упомянутые высказывания Хуанга могут иметь корыстный умысел. Подобными тезисами он создает шумиху вокруг ИИ, продвигая ИИ-продукт Nvidia Inference Microservices и располагая к себе доверие акционеров компании.
Чтобы оставаться востребованными на рынке, программистам необходимо научиться взаимодействовать с ИИ, а не отвергать его. В этом могут помочь образовательные курсы, мониторинг последних разработок в области ИИ, а также различные статьи в этой тематике.
Кстати, последние часто публикуются у нас на сайте. Подписывайтесь на рассылку, чтобы не пропустить новые материалы!
Несмотря на такой позитивный прогноз, развитие ИИ вносит свои коррективы. Например, согласно исследованию международной консалтинговой компании McKinsey & Company, ИИ может автоматизировать от 60% до 70% времени сотрудников.
С одной стороны, такая тенденция увеличит эффективность работы, с другой — уменьшит количество сотрудников, необходимых для выполнения одной задачи. Процессы, которые выполнялись условно 10 работниками, будут доступны для 4, что повысит риск сокращений.
Действительно, после появления ChatGPT, GitHub Copilot и других инструментов на базе искусственного интеллекта среди программистов возникли переживания о собственном будущем. Источником некоторых из них стал генеральный директор Nvidia Дженсен Хуанг.
В феврале 2024 года в Дубае прошел Всемирный правительственный саммит. Во время своего выступления CEO Nvidia Дженсен Хуанг заявил, что дипломы программистов могут уйти в прошлое. По его словам, детям не стоит изучать программирование, так как оно будет автоматизировано с помощью ИИ.
Хуанг объяснил, что обучение программированию когда-то было важнейшей задачей, но в современном мире это не имеет большого значения.
Генеральный директор Nvidia Дженсен Хуанг на сцене Всемирного правительственного саммита. Источник: reuters.com
По его мнению, супер-ИИ будут направлять команды более мелких ИИ для помощи в кодировании. Таким образом, программисты станут кем-то вроде дирижеров оркестра: будут нести ответственность за внутреннее взаимодействие ИИ.
Способы применения ИИ в программировании
Использование ИИ в программировании подразумевает автоматизацию задач, которые традиционно выполнялись людьми. Например, тестирование ПО, отладка, оптимизация и генерация кода, а также разработка No-code и Low-code.
С помощью ИИ программисты могут оптимизировать рабочий процесс, уменьшить количество ошибок и сосредоточиться на творческих аспектах программирования.
Автоматизация задач. Инструменты искусственного интеллекта автоматизируют повторяющиеся и механические задачи, вроде выполнения базовых SQL-запросов, анализа данных и оптимизации Data Science-проектов.
Исправление ошибок. ИИ — идеальный союзник для устранения ошибок. После сканирования кода ИИ предлагает способы его оптимизации и алгоритм исправления неточностей.
Перевод кода. Иногда разработчики работают с несколькими языками программирования (например, в целях их совместимости или для переноса кодовых баз, написанных на устаревшем языке). Перевод отнимает время и требует понимания как исходного, так и целевого языков. В итоге этот процесс становится ресурсозатратным.
Инструменты, помогающие в программировании:
- DeepCoder — инструмент, разработанный Microsoft Research. Собирает информацию из открытых баз данных и создает код с нуля. Пользователь лишь описывает идею своей программы, а DeepCoder ее создает;
- Diffblue — дочерняя компания Оксфордского университета. Инструменты ИИ Diffblue Playground и Diffblue Cover автоматизируют написание модульных тестов для Java;
- Visual Studio IntelliCode — инструмент завершения кода, разработанный Microsoft. Рекомендует наиболее вероятный метод или функцию, основываясь на предыдущем действии разработчика.
Этот список не является исчерпывающим. Каждый может найти ИИ собственное применение. Даже LLM (большая языковая модель), вроде ChatGPT, которая не была специально разработана для кодинга, способна помогать в решении базовых задач программирования.
Почему ИИ не заменит программистов
Программирование развивает критическое мышление и умение глубоко разбираться во внутренней работе ПК. А знание языков программирования помогает думать, как компьютер, и понимать, какие процессы в нем происходят.
Незнание языков означает незнание функций компьютера, а это создает дополнительные неточности. Неудивительно, что, по данным GitClear, рост использования кода, сгенерированного ИИ, приводит к снижению его качества.
Логично сравнить программирование с рисованием. Ведь рисование — это творческий процесс, а искусственный интеллект пока еще не может достичь того уровня креативности, который могут предоставить художники.
Программирование также требует креативности. Для создания сложных проектов недостаточно обработать сотни строк кода. Для этого необходима креативность, которой обладает лишь человек.
Тот факт, что ИИ может создавать картины, не привел к тому, что творческие люди прекратили заниматься искусством. Исходя из этой логики, наличие ИИ для программирования не должно привести к деградации обучения в этой сфере.
Кроме этого, сторонники мнения о вытеснении программистов искусственным интеллектом вполне могут действовать в своих интересах.
Например, ранее упомянутые высказывания Хуанга могут иметь корыстный умысел. Подобными тезисами он создает шумиху вокруг ИИ, продвигая ИИ-продукт Nvidia Inference Microservices и располагая к себе доверие акционеров компании.
Заключение
Сложно сказать, сможет ли ИИ полностью заменить программистов. Однако темпы развития этой технологии показывают, что такой сценарий все же имеет ненулевую вероятность: да, наверное, не через год и не два, но это возможно.
Чтобы оставаться востребованными на рынке, программистам необходимо научиться взаимодействовать с ИИ, а не отвергать его. В этом могут помочь образовательные курсы, мониторинг последних разработок в области ИИ, а также различные статьи в этой тематике.
Кстати, последние часто публикуются у нас на сайте. Подписывайтесь на рассылку, чтобы не пропустить новые материалы!