ИИ в программировании — партнерство, а не замена
С развитием искусственного интеллекта все чаще звучат утверждения, что скоро он заменит труд программистов. Так ли это на самом деле, как изменится работа и образование ИТ-специалиста с усилением позиций ИИ? Своим мнением поделился Юрий Латин, генеральный директор Bell Integrator (чья компания уже более 20 лет занимается разработкой заказного ПО, в том числе собственных продуктов с использованием искусственного интеллекта, и имеет в штате более 3000 программистов).
— Вы считаете, что программисты по-прежнему останутся востребованными. Почему?
— Искусственный интеллект — это всего лишь новый инструмент, который расширяет возможности разработчиков, помогает в написании кода, тестировании, аналитике, но не заменяет их. Подтверждение тому — история самого программирования. Вспомните: сначала были низкоуровневые языки, написание кода на которых было сложным и трудоемким процессом. С развитием технологий появились более высокоуровневые, значительно упростившие процесс разработки и сделавшие его доступным для большего числа людей. Затем появилось объектно-ориентированное программирование, давшее возможность создавать объекты и использовать их многократно. Потом фреймворки, предоставившие разработчикам готовые решения для распространенных задач. Сейчас мы наблюдаем появление концепций no-code и low-code, которые позволяют людям без глубоких знаний программирования создавать приложения и веб-сайты. С каждым новым инструментом и подходом к программированию у людей возникали опасения, что профессия программиста может исчезнуть. Однако этого не произошло. ИТ-специалисты не только не исчезли, но и стали более востребованными, продуктивными, а их работа стала более сложной и интересной. А вновь появляющиеся инструменты позволили программистам сосредоточиться на решении более сложных задач, таких как архитектура систем, оптимизация и интеграция различных сервисов. Именно поэтому я считаю, что искусственный интеллект — это не конец профессии программиста, а лишь новый этап ее развития. ИИ не может полностью заменить творческий подход и критическое мышление, которые необходимы для разработки качественного программного обеспечения. Программисты не только пишут код, но и анализируют требования, проектируют архитектуру, тестируют и поддерживают приложения. Эти аспекты работы требуют человеческого интеллекта, интуиции и опыта, которые машинный интеллект не в состоянии воспроизвести, каким бы умным он не был. Вот почему сегодня на рынке труда по-прежнему наблюдается дефицит квалифицированных ИТ-кадров, а зарплата программиста растет быстрее, чем у кого бы то ни было.
— Допустим, вы используете ИИ в какой-то сложной программистской задаче. По вашем опыту, может ли он самостоятельно определить наиболее эффективный способ ее решения или адаптироваться к непредвиденным обстоятельствам и изменениям требований проекта в процессе разработки?
— Ключевое отличие между программистом и ИИ заключается в способности к абстрактному мышлению и пониманию контекста. Когда требования проекта изменяются, ИИ может лишь адаптировать отдельные компоненты, не видя общей картины, действуя исходя из тренировочного набора данных и готовых алгоритмов. Но это чаще всего приводит к ошибкам или неэффективности созданного решения. Кроме того, порой передать весь контекст задачи ИИ сложнее и дольше, чем решить ее самому. И только человек может оценить все архитектурные последствия решения, предусмотреть будущие изменения и потребности и выбрать оптимальный подход. Так что ИИ полезен как инструмент, а в конечном итоге именно человеческий опыт, интуиция и глубокое понимание бизнес-процессов определяют правильный способ. Поэтому гибридный подход, где программист взаимодействует с ИИ, формулируя задачу, проверяя результаты и направляя процесс разработки, является наиболее эффективным. Будущее программирования за тесным сотрудничеством между человеком и искусственным интеллектом, где сильные стороны каждого будут использоваться для достижения наилучших результатов. Это партнерство, а не замена.
— Кто в итоге будет нести ответственность за ошибки в работе программного обеспечения, созданного с использованием ИИ?
— В любом случае, это будет человек. Потому что за управление любым сложным техническим инструментом, будь то автомобиль или ИИ, отвечает тот, кто им управляет. Если происходит сбой сервиса на базе ИИ, то за это ответит служба сопровождения или разработчик решения. Интереснее вопрос с ошибочно принятым ИИ решением. Я считаю, что ни один важный процесс, автоматизированный на базе ИИ, не должен оставаться без финального ревью человеком, специалистом в данной сфере. Именно он в конечном счете и будет нести ответственность, как согласовавший решение, предложенное искусственным интеллектом. И такой подход уже практикуется в ряде сфер, где активно применяются ИИ-решения.
— А влияет ли развитие ИИ на структуру и содержание образовательных программ для программистов? Какие новые навыки и знания становятся наиболее востребованными сегодня?
— Образование будущего теперь должно подготовить специалистов не просто к использованию готовых инструментов, а к их созданию, адаптации и этичному применению в контексте быстро меняющегося технологического ландшафта. В программы вузов должны быть включены новые специализированные курсы, такие как машинное обучение, работа с данными, весь цикл разработки подобных систем, курсы по этике и безопасности ИИ. На первое место выходит изучение архитектур и областей применения нейросетей, навыков и подходов промпт-инжиниринга (умения формулировать эффективные запросы к генеративным моделям). Будущие ИТ-специалисты должны также учиться оценивать достоверность выдаваемых нейросетью данных, уметь выявлять возможные ошибки и предвзятости, а также разрабатывать методы проверки генерируемого кода и текста. В свою очередь, это потребует от них прочного фундамента в математике, математической статистике, знания специфики той отрасли, в которой будет применяться искусственный интеллект. Важно, чтобы в итоге будущие специалисты были готовы не только к решению текущих задач, но и к предвидению и предотвращению потенциальных проблем, связанных с использованием ИИ. Именно это сделает их ценными кадрами в любой организации, работающей в сфере высоких технологий.
— Используете ли вы ИИ в работе своей компании? Какие задачи ему доверяете?
— Мы используем большие языковые модели (LLM). На данный момент делегируем искусственному интеллекту рутинные, но достаточно трудоемкие задачи, которые раньше занимали значительную часть нашего времени и ресурсов. Но обязательно проверяем и при необходимости корректируем полученные результаты. У нас есть собственная разработка — платформа «Алькод», которая позволяет применять искусственный интеллект для автоматизации рутинных операций аналитиков, разработчиков и тестировщиков. Фактически любой наш специалист, который готов делегировать нейросети какую-то часть своих задач, может применять данный инструмент для улучшения продуктивности своей работы и повышения производительности. Вообще, на рынке аналогичные разработки со столь широким, как у нас, функционалом и возможностями пока мало кто предлагает. «Алькод» уже показал свою эффективность не только внутри Bell Integrator, но и у наших заказчиков. Тем не менее, мы продолжаем его совершенствовать, чтобы добиться еще лучшего результата и стать лидерами рынка в подобных решениях.