Anirban Chatterjee из Sonar разбирает, почему AI-код проходит ревью и всё равно копит долг, и предлагает петлю, где проверка стоит по обе стороны от генерации.
Проверять AI-код должен не тот, кто его написал. Ревью нужно строить по принципу zero trust и в несколько слоёв: вычислительный анализ рядом с рассуждающим, оба независимы от модели-автора.
Человек в роли последнего рубежа не справляется: в эксперименте Wharton участники соглашались с уверенно врущим AI почти в 80 % случаев.
Смотреть на YouTubeШесть утверждений, вокруг которых построен весь доклад.
Carnegie Mellon отсортировал проекты на GitHub по тому, писал ли код AI-инструмент. Продуктивность выросла, но примерно через три месяца вернулась к прежней. Предупреждения анализатора и сложность кода не вернулись.
Разрыв между качеством, которое даёт модель, и качеством, которое нужно приложению. Стоимость разрыва растёт вместе с критичностью системы.
Wharton: участники следовали совету AI в 92,7 % случаев, когда он был прав, и почти в 80 % случаев, когда ему велели уверенно врать.
Код мог прийти откуда угодно. Проверять его нужно методом, отличным от того, которым он написан: модель, оценивающая свой вывод, наследует собственные слепые зоны.
Одна техника не ловит одновременно синтаксис, потоки данных, архитектуру и поток управления. Вычислительное ревью работает рядом с ревью на рассуждении.
Guide → Verify → Solve. Агент получает ограничения до генерации, проверку внутри петли и право чинить найденное самому.
Anirban Chatterjee занимается продуктовым маркетингом в Sonar, и вторая половина доклада — рассказ о продуктах компании. Исследования Carnegie Mellon и Wharton, схема ACDC и принципы проверки существуют отдельно от этих продуктов, поэтому первая половина конспекта отделена от второй.
Первые пять минут доклада — про одно исследование и один вывод из него.
Carnegie Mellon взял проекты, выложенные на GitHub, и по метаданным разделил их на две группы: там, где использовали привычные инструменты, и там, где код писал AI. В исследовании это был Cursor, хотя, по словам докладчика, мог быть любой другой инструмент. Всплеск продуктивности нашёлся, но продержался около трёх месяцев, а потом показатели вернулись к прежним.
Вместе со всплеском выросло число предупреждений статического анализа и сложность кода. Данные собирали через SonarQube. После трёх месяцев эти показатели не опустились: они остались и продолжили расти. Именно такие проблемы потом замедляют разработчиков сильнее, чем помог первоначальный ускоритель.
Дальше Chatterjee вводит понятие, вокруг которого держится вся остальная часть доклада: долг верификации. Это разрыв между уровнем качества, который выдаёт AI-инструмент, и уровнем, который нужен приложению. Сам разрыв никуда не денется, а вот цена его зависит от критичности системы.
Три причины, названные в докладе, и измерение, которое переводит их в выбор модели под задачу.
Устройство технологии таково, что ошибки останутся, как бы модели ни улучшались. Пропущенная в прод ошибка бьёт по организации целиком.
Модель знает только то, что ей сказали. Она не видит остальную кодовую базу, не знает бизнеса и не была на встрече двухнедельной давности, которая определяет сегодняшний код.
Двух одинаковых моделей нет. Каждая проваливается по-своему, поэтому проверять их одним и тем же способом недостаточно.
Третью причину Sonar измеряет публично. Компания прогоняет каждую крупную новую модель через примерно четыре тысячи задач по коду и оценивает результат теми же метриками, которыми SonarQube оценивает код людей: корректность, сложность, доля решённых задач, поддерживаемость, надёжность, безопасность. Итог — публичный лидерборд, где видно, где модель сильна и где ей есть куда расти.
На слайде в этот момент — Claude Opus 4.6 и Claude Sonnet 4.6. Если вы переключаетесь между ними ради контроля расхода токенов, разница в профилях касается вас напрямую.
Практический вывод из лидерборда двойной. Первый: под разные требования разумно брать разные модели. Второй, более важный для доклада: идеальной модели в таблице нет и не будет, поэтому проверка в петле нужна всегда.
Очевидный ответ на долг верификации — поставить между AI и продом ревьюера. Эксперимент Wharton показывает, насколько плотно этот фильтр держит.
Исследователи дали участникам задачи и AI-помощника. Участники не знали, что часть времени модель по указанию экспериментаторов уверенно врала. Разрыв в поведении между двумя режимами оказался небольшим.
Дальше Chatterjee проводит разделение, которое объясняет, почему одной проверки на этапе написания мало. Код предсказуем: написанная функция ведёт себя одинаково при каждом запуске, и в этом есть своё спокойствие. Софт так не работает. Код пишут люди с требованиями, эти требования и внешние обстоятельства влияют на поведение, а по мере роста приложения куски начинают взаимодействовать непредсказуемо. Затем приходят пользователи и делают то, чего никто не ожидал.
Chatterjee называет их обязательными, без них автоматическая верификация не даёт того, ради чего её ставят.
Zero trust здесь значит: код мог прийти откуда угодно. Его мог написать человек, могла написать одна модель, могла другая — и писали бы они по-разному. Проверять его нужно одинаково строго независимо от происхождения, причём другим методом, чем тот, которым код создан. Модель, проверяющая собственный вывод, наследует свои же слепые зоны, поэтому нужен набор разных инструментов.
Многослойность нужна потому, что ни одна техника не находит всех проблем сразу. Вычислительное ревью работает рядом с ревью на рассуждении, и между ними — всё остальное.
Agent-centric development cycle — так в Sonar называют агентную петлю разработки. В ней три фазы вокруг генерации кода.
Верификация — центральная фаза и та, которую внедрить проще всего: многие команды уже идут к ней. Она многослойная, опирается на рассуждение и охватывает три типа проблем сразу: качество, безопасность, соответствие требованиям. До неё стоит guide, после — solve.
Ключевая деталь фазы solve — агенту дают право чинить самому. Если найденное складывать в очередь к человеку, который уже ставит формальные подписи, петля не замкнётся. Именно так, по мысли Chatterjee, агентные петли доходят до кода, который можно отгружать.
Sonar разговаривал с клиентами, и причины повторяются от компании к компании.
Проверка не должна отличаться от проекта к проекту и от команды к команде. Один рулбук, независимо от используемого инструмента.
Расход токенов и эффективность в целом: правильные модели на правильных задачах, инструменты применяются там, где они сильны.
Shift left важен давно, но сейчас CVE публикуют и эксплуатируют часто в тот же день. Проблемы надо ловить до прода.
В регулируемых отраслях нужно доказать, что проверка выполняется постоянно и единообразно. Отсюда требование к аудиторскому следу.
Разбор схемы, которую Chatterjee показывает во второй половине доклада. Она объясняет, что происходит до петель, внутри агентной петли и в CI/CD.
До того как запустится хоть одна петля, нужно записать спецификации. Это архитектурные ограничения и желаемая архитектура, принятые стандарты и паттерны кода, список разрешённых и запрещённых зависимостей, синтаксические соглашения, практики логирования, наблюдаемости и трассировки. Отдельно определяются критерии качества: какие уровни безопасности, качества и поддерживаемости вы согласны выпускать в прод. Всё это надо записать и закодировать — иначе агенту нечего передавать.
Отдельный акцент Chatterjee делает на управлении контекстным окном. Бросать агенту всю кодовую базу нельзя: он потратит время и токены на метания и разведку. Задача фазы guide — отдать ровно тот контекст, который нужен под конкретную работу, чтобы агент быстро начал писать по делу.
Вторая половина доклада — про продукты компании. Ниже — что и для какой фазы предназначено.
Платформа проверки по принципу zero trust и в несколько слоёв: синтаксис, потоки данных, архитектура, поток управления. Работает практически с любым языком. Для агентов есть прямые хуки: они обращаются к проверке напрямую, а не через человека.
Компанию из Сан-Матео Sonar купил за несколько недель до доклада. Она делает AI-ревью кода и автоматизирует весь CI-процесс: найти проблему, заблокировать PR, написать исправление, при желании — одобрить и влить автоматически. По умолчанию только показывает найденное и обсуждает с вами; остальное включается по мере доверия.
Инструменты для агента внутри петли: получить ограничения и контекст до начала работы и прогонять проверку по ходу написания, находя и исправляя проблемы в реальном времени.
Разгребает накопленное: бэклог, техдолг, легаси. Направляете его на старый код, и он улучшает кодовую базу фоном, пока команда занимается новой функциональностью.
На видео в докладе работает Cursor. Порядок действий такой: агент получает задачу, вызывает инструмент контекста Vortex, чтобы понять код, с которым работает, пишет решение, затем обращается к проверке за списком проблем. Проблема находится, агент составляет план, исправляет и прогоняет анализ снова. Дальше он не идёт, пока не получит проходную оценку. Похожие интеграции есть с Claude Code, Codex и другими распространёнными инструментами для написания кода.
Числа выше — заявления компании со сцены, а не независимое измерение. Утверждение «пользователи Sonar получают больше отдачи от AI-инструментов» тоже опирается на собственные данные Sonar: подтверждающие цифры Chatterjee не приводит, потому что к этому моменту у него кончилось время.
Семнадцать точек. Время кликабельно и открывает нужный момент видео.
Проекты на GitHub разделили по метаданным: писал код AI-инструмент или нет.
Для эксперимента с ним можно жить. Для большой кодовой базы с враждебными пользователями — нет.
Свойство технологии, нехватка контекста и разные профили ошибок у моделей.
Sonnet сильнее по корректности и надёжности, Opus — по поддерживаемости, безопасности и сложности кода.
92,7 % согласия с верным советом и почти 80 % — с неверным, поданным уверенно.
Несколько агентов пишут параллельно, куски надо свести вместе, часов в сутках не прибавилось.
Функция ведёт себя одинаково, а приложение ломается новыми способами по мере роста и прихода пользователей.
Код мог прийти откуда угодно, поэтому проверять надо другим методом, чем тот, которым он написан.
Вычислительное ревью и ревью на рассуждении вместе: одна техника всех проблем не найдёт.
Guide перед генерацией, verify внутри, solve после — с правом агента чинить самому.
AI-ревью кода и автоматизация CI: от блокировки PR до автоматического мержа, если вы этого захотите.
Проверка внутри агентной петли и фоновая разгрузка техдолга. Оба вышли в общий доступ на неделе доклада.
Архитектурные ограничения, стандарты и паттерны, допустимые зависимости, практики логирования, критерии качества.
Проблемы чинятся сразу и не успевают разойтись по следующим итерациям.
Два независимых ревью выставляют оценки, и без проходного балла PR не уходит дальше.
Контекст, генерация, проверка, исправление, повторный анализ — без выхода из редактора.
Ограниченная автономия, ACDC, оркестрация для разработчиков, одна платформа проверки на всю компанию.
Четыре фразы, вокруг которых держится аргумент. Оригинал сохранён дословно.
Итоговый слайд доклада плюс шаги, которые из него следуют. Отмечайте сделанное.