В условиях стремительного внедрения нейросетей в процесс разработки ПО, индустрия сталкивается с парадоксом: инструменты, призванные ускорить написание кода, одновременно генерируют огромные массивы технических ошибок и уязвимостей. В новом выпуске подкаста Eye on AI генеральный директор компании Sonar Тарик Шаукат (Tariq Shaukat) обсуждает с ведущим Крейгом Смитом, как «галлюцинации» ИИ создают кризис ответственности в крупных корпорациях и почему детерминированные системы проверки остаются единственным надежным барьером на пути к «спагетти-коду».
🛡️ От открытого кода к защите корпоративных гигантов 2:03
Тарик Шаукат присоединился к Sonar около 15 месяцев назад, имея за спиной внушительный опыт в руководстве крупными технологическими компаниями: он занимал пост президента в Bumble и Google Cloud . Его нынешняя компания, Sonar (известная по домену sonarsource.com), выросла из опенсорс-проекта SonarCube, запущенного более 15 лет назад .
Сегодня Sonar — это экосистема, которой пользуются:
- 400 000 организаций по всему миру;
- 7 миллионов разработчиков;
- Клиенты от стартапов из двух человек до глобальных корпораций из списка Global 2000 .
Основная задача продуктов Sonar — инспекция кода на предмет багов, проблем с сопровождаемостью и уязвимостей в безопасности. Система поддерживает более 30 языков программирования и работает как в среде разработки (IDE), так и на этапе финальной проверки перед слиянием веток кода (pull requests) .
🤖 Гибридный подход: почему ИИ не может проверять сам себя 4:44
Одной из ключевых тем беседы стало противостояние детерминированных и вероятностных систем. Шаукат подчеркивает, что продукты Sonar остаются во многом основанными на строгих правилах (deterministic rules-based). В мире генеративного ИИ (GenAI) это становится преимуществом: для контроля качества необходима повторяемость и предсказуемость, которых лишены нейросети .
Тем не менее, Sonar внедряет ИИ в двух направлениях:
- Серые зоны: Анализ проблем, где недостаточно жестких правил и требуется понимание контекста или субъективное суждение .
- AI Code Fix: Использование ИИ для предложения исправлений к найденным ошибкам. Благодаря глубокому контексту анализа, вероятность принятия таких «фикса» разработчиком в два раза выше, чем у обычных ИИ-помощников вроде GitHub Copilot .
Шаукат отмечает, что Sonar не конкурирует с генераторами кода, а дополняет их. Пользователи берут код из Copilot или Amazon CodeWhisperer и прогоняют его через Sonar для получения «гарантии качества» (AI Code Assurance) .
⚠️ Кризис ответственности: когда код «не мой, а нейросети» 14:56
Центральной проблемой современной разработки гость называет «кризис ответственности» (accountability crisis). По мнению Шауката, разработчики не учились на программистов, чтобы быть «корректорами» за нейросетью . Возникает психологический феномен «автоматизированного предубеждения» (automation bias): если ИИ 50 раз выдал хороший код, на 51-й раз человек просто нажмет «принять», не вчитываясь в детали .
Тарик приводит пример из практики крупного финансового института:
- Компания начала сталкиваться с еженедельными мелкими сбоями в системе ;
- Анализ показал, что баг был внесен через код, сгенерированный ИИ;
- На вопрос «почему вы это допустили?» разработчик ответил: «Это не мой код, это выдал ИИ, а я просто его принял» .
Шаукат утверждает, что человеческая природа не приспособлена к монотонной проверке сотен строк кода, написанных машиной. Именно поэтому необходимы жесткие «ворота качества» (quality gates), которые блокируют продвижение кода, пока в нем не будут устранены критические ошибки .
🏛️ Архитектура против «спагетти-кода» 34:40
С увеличением объема кода, генерируемого машинами, кодовые базы корпораций становятся необъятными. Шаукат считает, что роль программиста-человека смещается в сторону дизайна и архитектуры. По его словам, ИИ может написать функцию, но он не может спроектировать, как будет работать сложная система медицинского страхования на миллиард строк кода .
- Риск: Без четкой архитектуры использование ИИ превращает код в «спутанные макароны» (spaghetti mess) .
- Решение: Sonar недавно приобрела компанию Structure101, которая специализируется на анализе архитектурных нарушений. Инструмент позволяет отслеживать, когда новые куски кода нарушают общую логику системы .
Шаукат сравнивает процесс разработки с написанием романа: ИИ может написать главу, но автор должен продумать сюжет и персонажей, иначе книга будет бессмысленной .
🗝️ Наследие COBOL и технический долг 38:54
Многие крупные банки и страховые компании до сих пор работают на COBOL — языке программирования, созданном более 60 лет назад. По словам Шауката, Sonar поддерживает COBOL, так как найти специалистов по нему все сложнее, а код требует постоянных изменений .
Основные тезисы о техдолге:
- В среднем 20% кодовой базы корпораций меняется ежегодно .
- Полная переписка старого кода (например, с COBOL на Java) часто нерентабельна: «Если не сломано — не чини» .
- Sonar продвигает методологию «Clean as you code» (чистота по мере написания): нужно исправлять ошибки в тот момент, когда разработчик касается конкретного участка кода, а не пытаться сделать «капитальный ремонт» всей системы разом .
В завершение Шаукат отметил, что около 50% времени разработчиков уходит на «рутину» (toil) — отладку и документацию. Использование ИИ в связке с инструментами контроля качества должно освободить программистов от этого балласта, сохранив при этом безопасность критической инфраструктуры .