Создатель C++ раскритиковал вайбкодинг: «AI приводит к росту ошибок и уязвимостей»

3 мин
Создатель C++ раскритиковал вайбкодинг: «AI приводит к росту ошибок и уязвимостей»

Автор языка программирования C++ Бьёрн Страуструп заявил, что современные ИИ-инструменты пока не способны качественно писать сложный системный исходник и проектировать языки программирования. Тему вайб-кодинга затронули в подкасте Райана Петермана. 

«Мне кажется, что в той области, которая интересует меня больше всего, код все так же будут писать люди, используя привычные абстракции. Примеры попыток сгенерировать исходник в этой области с помощью ИИ, что я видел, не дали хороших результатов — наоборот, только привели к росту числа ошибок и уязвимостей», — подчеркнул Бьёрн Страуструп.

Страуструп отметил, что задача не только в качестве генерации, но и в проверке результата: изменения, внесенные ИИ, трудно отслеживать, поскольку небольшое модификация промпта может повлиять сразу на множество частей проекта.

«Сгенерированный ИИ исходник обычно сильнее подвержен изменениям, чем код, написанный человеком. Когда разработчик вносит изменения, они, как правило, локальны, и можно относительно легко отследить их последствия. С ИИ все иначе: вы не всегда понимаете, что именно изменилось и где, следовательно приходится разбираться», — отметил Бьёрн Страуструп.

Одновременно отец С++ не утверждает, что ИИ бесполезен. По его мнению, ИИ можно использовать для написания документации, но проверять ее все равно должен человек.

«На данный момент ИИ плохо справляется с критичным к безопасности или производительности кодом. Конечно, возможно, 70–80% всего программного кода не относятся к таким категориям. Но меня интересуют именно те 10–20%, где требования особенно высоки. Вот там ИИ пока не дотягивает».

Равным образом на подкасте коснулись темы LLM. Страуструп отметил, что LLM обучается на уже существующем коде, на старых подходах и решениях.

«Проблема LLM-генерации в том, что она главным образом воспроизводит старый исходник наряду со старыми ограничениями производительности и ошибками. Возможно, это можно усовершенствовать. Я слышал, что существуют так называемые «Бьёрн-приложения», которые опираются на мои работы, но даже тут есть сложность: сегодня я говорю уже не совсем то же самое, что говорил двадцать лет назад».

Своим мнением по поводу активного распространения AI-кодинга также поделились разработчики статического анализатора кода PVS-Studio. Инструмент специализируется на поиске ошибок в коде, написанном в том числе и на языке программирования C++.

Филипп Хандельянц, руководитель разработки статических анализаторов PVS-Studio:

Критика Бьёрна Страуструпа целиком оправдана в случаях, когда разработчик просто вставляет результат работы ИИ-агента в инициатива. При таком подходе, зависимо от промпта, нейросеть может сгенерировать неоптимальный код, к тому же содержащий баги и/или потенциальные уязвимости. Мы видели подтверждение этому при проверках проектов, написанных с помощью вайбкодинга: Vib-OS, markus. К счастью, разработчики этих проектов ставили перед собой цель не написать production-level подход для всех, а скорее провести тематическое исследование.

Нужно принять для себя, что в плане необходимости проверки результата генерация кода ИИ-агентом ничем не отличается от его написания человеком. Код нужно подвергать процессам ревью, проверке инструментами статического и динамического анализа, формальной верификации. И в таком случае применение ИИ-агента как ассистента для написания бойлерплейтного кода, рутинных тестов и как генератор гипотез, что сильно упрощает жизнь разработчикам и ускоряет их работу.

Олег Лысый, руководитель направления разработки C++:

Безусловно, ИИ — это средство, который уже вошел в нашу жизнь. У нас нет выбора, применять его или нет. Вопрос только в том, как именно его применять. Подход, при котором ИИ-агент генерирует код по описанию задачи в трекере задач и сразу же заливает его в кодовую базу, невозможно применять для серьезной разработки (кто-то вообще так делает в здравом уме?).

Тем не менее с тем же успехом можно критиковать использование IDE с их системами автодополнения кода. Представьте, что мы будем критиковать решение, при котором разработчик пишет случайную букву на клавиатуре, жмет кнопку Tab для автодополнения и сразу же коммитит исходник. Звучит безумно? Вот и мне хайп вокруг ИИ кажется безумием.

Читают сейчас

Руководящий комитет GNU Compiler Collection принял политику в отношении ИИ

8 часов назад

Руководящий комитет GNU Compiler Collection принял политику в отношении ИИ

Руководящий комитет GCC официально принял политику, регулирующую использование искусственного интеллекта и больших языковых моделей в GNU Compiler Collection. Теперь проект будет отклонять любые матер

Американские инженеры представили прототип умного кольца, которое отслеживает химический состав пота

8 часов назад

Американские инженеры представили прототип умного кольца, которое отслеживает химический состав пота

Инженеры Калифорнийского университета в Сан‑Диего создали прототип умного кольца, которое анализирует состав пота с пальцев для отслеживания биомаркеров. Разработка демонстрирует потенциал будущих сма

Марк Цукерберг: через пять лет у миллиардов людей будут собственные ИИ‑агенты

8 часов назад

Марк Цукерберг: через пять лет у миллиардов людей будут собственные ИИ‑агенты

Основатель и генеральный директор Meta* Марк Цукерберг заявил инвесторам, что через пять лет у миллиардов людей будут собственные персональные ИИ‑агенты. По его словам, эти агенты будут работать кругл

Финляндия отключит от России часть международного интернет-трафика

8 часов назад

Финляндия отключит от России часть международного интернет-трафика

Финляндия ОТКЛЮЧИТ от России часть международного интернет-трафика — с 2027 года страна перестанет обслуживать опоры ЛЭП, по которым проходит часть международных линий связи с Россией. После прекращен

Microsoft раскрыла сроки прекращения поддержки Whiteboard

9 часов назад

Microsoft раскрыла сроки прекращения поддержки Whiteboard

Ранее приложение Microsoft Whiteboard для Windows 11 начало отображать всплывающее окно, указывающее на прекращение поддержки. Теперь Microsoft поделилась некоторыми подробностями по теме. Ознакомитьс