В мире, где используются все более мощные инструменты кодирования с использованием искусственного интеллекта, создание программного обеспечения обходится дешево — по крайней мере, так принято считать, — оставляя мало места традиционным компаниям-разработчикам программного обеспечения. Как говорится в отчете одного аналитика, “vibe coding позволит стартапам копировать функции сложных SaaS-платформ”.
Обратите внимание на заламывание рук и заявления о том, что компании-разработчики программного обеспечения обречены.
Проекты с открытым исходным кодом, использующие агентов для преодоления давних ограничений на ресурсы, по логике вещей, должны были бы одними из первых воспользоваться преимуществами эры дешевого кода. Но это уравнение не совсем соответствует действительности. На практике влияние инструментов ИИ-кодирования на программное обеспечение с открытым исходным кодом было гораздо более неоднозначным.
По мнению отраслевых экспертов, инструменты ИИ-кодирования вызвали столько же проблем, сколько и решили. Простота в использовании и доступность инструментов для кодирования с использованием искусственного интеллекта привели к появлению большого количества плохого кода, который угрожает завалить проекты. Создавать новые функции стало проще, чем когда-либо, но поддерживать их так же сложно, что грозит дальнейшим фрагментированием программных экосистем.
В результате получается более сложная история, чем простое изобилие программного обеспечения. Возможно, предсказанная неминуемая смерть инженера-программиста в эту новую эру искусственного интеллекта преждевременна.
Во всех проектах с открытыми кодовыми базами отмечается снижение среднего качества предоставляемых материалов, что, вероятно, является результатом того, что инструменты искусственного интеллекта снижают барьеры для входа.
“Для людей, которые плохо знакомы с кодовой базой VLC, качество запросов на слияние, которые мы видим, является ужасным”, - сказал Жан-Батист Кемпф, генеральный директор организации VideoLAN, которая курирует VLC, в недавнем интервью.
Кемпф по-прежнему с оптимизмом смотрит на инструменты ИИ-кодирования в целом, но говорит, что они лучше всего подходят “для опытных разработчиков”.
Аналогичные проблемы возникли в Blender, инструменте 3D-моделирования, который с 2002 года поддерживается как открытый исходный код. Генеральный директор Blender Foundation Франческо Сидди (Franceso Siddi) сказал, что вклады, сделанные при содействии LLM, как правило, “отнимают время у рецензентов и влияют на их мотивацию”. Blender все еще разрабатывает официальную политику в отношении инструментов для кодирования ИИ, но, по словам Сидди, они “не обязательны и не рекомендуются для участников или основных разработчиков".
Поток запросов на слияние стал настолько большим, что разработчики с открытым исходным кодом разрабатывают новые инструменты для управления им.
Ранее в этом месяце разработчик Митчелл Хашимото запустил систему, которая ограничивала доступ к GitHub только “гарантированным” пользователям, фактически закрывая политику открытых дверей для программного обеспечения с открытым исходным кодом. Как отметил Хашимото в своем анонсе, “Искусственный интеллект устранил естественный барьер для входа, который позволял OSS-проектам доверять по умолчанию”.
Тот же эффект проявился в программах поиска ошибок, которые позволяют сторонним исследователям сообщать об уязвимостях в системе безопасности. Недавно программа передачи данных cURL с открытым исходным кодом приостановила свою программу поиска ошибок после того, как ее создатель Дэниел Стенберг назвал это “помоями искусственного интеллекта”.
“В прежние времена кто-то действительно тратил много времени на подготовку отчета о безопасности”, - сказал Стенберг на недавней конференции. “Были внутренние трения, но сейчас для этого не требуется никаких усилий. Шлюзы открыты”.
Это особенно неприятно, потому что многие проекты с открытым исходным кодом также видят преимущества инструментов для кодирования с использованием искусственного интеллекта. Кемпф говорит, что это значительно упростило создание новых модулей для VLC, при условии, что за штурвалом стоит опытный разработчик.
“Вы можете предоставить модели всю кодовую базу VLC и сказать: ”Я переношу это на новую операционную систему", - сказал Кемпф. “Руководителям полезно писать новый код, но людям, которые не знают, что они делают, с этим сложно справиться”.
Самая большая проблема для проектов с открытым исходным кодом - это разница в приоритетах. Такие компании, как Meta, ценят новый код и продукты, в то время как разработчики программного обеспечения с открытым исходным кодом больше внимания уделяют стабильности.
“Проблема заключается в том, что крупные компании используют проекты с открытым исходным кодом по-другому”, - прокомментировал Кемпф. “Они получают повышение за написание кода, а не за его поддержку”.
Инструменты ИИ-кодирования также появляются в тот момент, когда программное обеспечение, в целом, особенно фрагментировано.
Основатель Open Source Index Константин Виноградов, который недавно запустил благотворительный фонд для поддержки инфраструктуры с открытым исходным кодом, сказал, что инструменты ИИ - это давняя тенденция в разработке с открытым исходным кодом.
“С одной стороны, у нас экспоненциально растущая база кода с экспоненциально растущим числом взаимозависимостей, а с другой стороны, у нас есть количество активных сопровождающих, которое, возможно, растет медленно, но определенно не успевает за нами”, - сказал Виноградов. “С появлением ИИ обе части этого уравнения ускорились”.
Это новый взгляд на влияние ИИ на разработку программного обеспечения, который имеет тревожные последствия для отрасли в целом.
Если вы рассматриваете инженерию как процесс создания работающего программного обеспечения, то программирование с помощью ИИ упрощает его как никогда. Но если инженерия - это действительно процесс управления сложностью программного обеспечения, то инструменты ИИ-кодирования могут усложнить его. Как минимум, потребуется много активного планирования и работы, чтобы сдерживать растущую сложность.
По мнению Виноградова, в результате возникает знакомая ситуация для проектов с открытым исходным кодом: много работы, но недостаточно хороших инженеров, чтобы ее выполнить.
“Искусственный интеллект не увеличивает число активных, квалифицированных специалистов по сопровождению”, - заметил он. “Он расширяет возможности хороших специалистов, но все фундаментальные проблемы остаются”.