AI Engineer · доклад · 22:31

Прирост продуктивности кончился через три месяца.
Предупреждения статического анализатора остались.

Anirban Chatterjee из Sonar разбирает, почему AI-код проходит ревью и всё равно копит долг, и предлагает петлю, где проверка стоит по обе стороны от генерации.

🎙 Anirban Chatterjee, Sonar 📺 AI Engineer 22:31 👁 10 455 просмотров 📅 9 августа 2026
Превью доклада «Guide, Verify, Solve»

Главный тезис

Проверять AI-код должен не тот, кто его написал. Ревью нужно строить по принципу zero trust и в несколько слоёв: вычислительный анализ рядом с рассуждающим, оба независимы от модели-автора.

Человек в роли последнего рубежа не справляется: в эксперименте Wharton участники соглашались с уверенно врущим AI почти в 80 % случаев.

Смотреть на YouTube
01

Коротко

Шесть утверждений, вокруг которых построен весь доклад.

Данные

Всплеск на три месяца

Carnegie Mellon отсортировал проекты на GitHub по тому, писал ли код AI-инструмент. Продуктивность выросла, но примерно через три месяца вернулась к прежней. Предупреждения анализатора и сложность кода не вернулись.

Понятие

Долг верификации

Разрыв между качеством, которое даёт модель, и качеством, которое нужно приложению. Стоимость разрыва растёт вместе с критичностью системы.

Данные

Человек не фильтр

Wharton: участники следовали совету AI в 92,7 % случаев, когда он был прав, и почти в 80 % случаев, когда ему велели уверенно врать.

Принцип

Zero trust

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

Принцип

Несколько слоёв

Одна техника не ловит одновременно синтаксис, потоки данных, архитектуру и поток управления. Вычислительное ревью работает рядом с ревью на рассуждении.

Схема

ACDC

Guide → Verify → Solve. Агент получает ограничения до генерации, проверку внутри петли и право чинить найденное самому.

Кто выступает.

Anirban Chatterjee занимается продуктовым маркетингом в Sonar, и вторая половина доклада — рассказ о продуктах компании. Исследования Carnegie Mellon и Wharton, схема ACDC и принципы проверки существуют отдельно от этих продуктов, поэтому первая половина конспекта отделена от второй.

02

Продуктивность вернулась, сложность осталась

Первые пять минут доклада — про одно исследование и один вывод из него.

Carnegie Mellon взял проекты, выложенные на GitHub, и по метаданным разделил их на две группы: там, где использовали привычные инструменты, и там, где код писал AI. В исследовании это был Cursor, хотя, по словам докладчика, мог быть любой другой инструмент. Всплеск продуктивности нашёлся, но продержался около трёх месяцев, а потом показатели вернулись к прежним.

Вместе со всплеском выросло число предупреждений статического анализа и сложность кода. Данные собирали через SonarQube. После трёх месяцев эти показатели не опустились: они остались и продолжили расти. Именно такие проблемы потом замедляют разработчиков сильнее, чем помог первоначальный ускоритель.

исходный уровень ≈ 3 месяца пик продуктивности предупреждения растут и после трёх месяцев продуктивность на прежнем уровне старт 3 мес. дальше продуктивность разработчиков предупреждения анализатора и сложность кода
Форма кривых, а не значения. В докладе названы только направление и срок: временный всплеск, спад примерно через три месяца, устойчивый рост предупреждений и сложности. Числовых значений по осям Chatterjee не приводит, поэтому оси здесь без шкалы. 01:37 →

Дальше Chatterjee вводит понятие, вокруг которого держится вся остальная часть доклада: долг верификации. Это разрыв между уровнем качества, который выдаёт AI-инструмент, и уровнем, который нужен приложению. Сам разрыв никуда не денется, а вот цена его зависит от критичности системы.

качество, которое нужно приложению качество, которое даёт модель узкий разрыв долг верификации закрывают людьми перед релизом эксперимент один человек, короткий проект внутренний инструмент небольшая команда пользователей критичная система большая кодовая база, есть атакующие К Р И Т И Ч Н О С Т Ь П Р И Л О Ж Е Н И Я →
Одинаковая модель, разная цена ошибки. Для короткоживущего внутреннего инструмента с парой пользователей разрыв мал, и с ним можно жить. Когда кодовая база большая, изменения идут постоянно, пользователей много и часть из них пытается сломать софт намеренно, требуемая планка поднимается — а уровень от модели остаётся прежним. 02:32 →
03

Почему модель не закрывает разрыв сама

Три причины, названные в докладе, и измерение, которое переводит их в выбор модели под задачу.

Причина 01

Модели ошибаются

Устройство технологии таково, что ошибки останутся, как бы модели ни улучшались. Пропущенная в прод ошибка бьёт по организации целиком.

Причина 02

Нет контекста

Модель знает только то, что ей сказали. Она не видит остальную кодовую базу, не знает бизнеса и не была на встрече двухнедельной давности, которая определяет сегодняшний код.

Причина 03

Профили ошибок разные

Двух одинаковых моделей нет. Каждая проваливается по-своему, поэтому проверять их одним и тем же способом недостаточно.

Третью причину Sonar измеряет публично. Компания прогоняет каждую крупную новую модель через примерно четыре тысячи задач по коду и оценивает результат теми же метриками, которыми SonarQube оценивает код людей: корректность, сложность, доля решённых задач, поддерживаемость, надёжность, безопасность. Итог — публичный лидерборд, где видно, где модель сильна и где ей есть куда расти.

На слайде в этот момент — Claude Opus 4.6 и Claude Sonnet 4.6. Если вы переключаетесь между ними ради контроля расхода токенов, разница в профилях касается вас напрямую.

Claude Sonnet 4.6 сильнее здесь Claude Opus 4.6 сильнее здесь корректность доля решённых задач надёжность поддерживаемость безопасность плюс более низкая сложность кода когда это критерий выбора выбор по умолчанию, когда важно решить задачу и не сломать поведение
Не рейтинг «кто лучше», а карта сильных сторон. Sonnet выигрывает по корректности, доле решённых задач и надёжности. Когда нужна поддерживаемость, безопасность или более низкая сложность кода, стоит переключиться на Opus. Числовых значений метрик Chatterjee со сцены не называет, поэтому здесь показано только направление выбора. 05:20 →

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

04

Человек в роли последнего рубежа протекает

Очевидный ответ на долг верификации — поставить между AI и продом ревьюера. Эксперимент Wharton показывает, насколько плотно этот фильтр держит.

Исследователи дали участникам задачи и AI-помощника. Участники не знали, что часть времени модель по указанию экспериментаторов уверенно врала. Разрыв в поведении между двумя режимами оказался небольшим.

AI даёт верный совет 92,7 % следуют AI уверенно врёт почти 80 % всё равно следуют вся защита — здесь Столько остаётся от человеческого фильтра, когда модель звучит уверенно.
Уверенный тон срабатывает почти так же, как правота. Chatterjee переносит вывод на код-ревью: когда кода много, когда над ним параллельно работают несколько агентов и куски надо свести в одно приложение, нагрузка на ревьюера выходит за пределы возможного. В сутках ограниченное число часов, а релиз всё равно нужен. 06:42 →
«…there's a lot of rubber stamping that I'm sure is happening in all of your organizations. It's happening everywhere.»
Ревью превращается в формальную подпись, и это происходит везде. Отсюда вывод доклада: человеческую проверку нужно подстраховать автоматической.
▶ 07:09

Дальше Chatterjee проводит разделение, которое объясняет, почему одной проверки на этапе написания мало. Код предсказуем: написанная функция ведёт себя одинаково при каждом запуске, и в этом есть своё спокойствие. Софт так не работает. Код пишут люди с требованиями, эти требования и внешние обстоятельства влияют на поведение, а по мере роста приложения куски начинают взаимодействовать непредсказуемо. Затем приходят пользователи и делают то, чего никто не ожидал.

«…software is not provable in the same way that code is provable. Software can break in interesting and novel ways…»
Чем больше софта пишет AI и чем крупнее задачи, тем чаще этот предел даёт о себе знать.
▶ 08:31
05

Два свойства проверки: zero trust и несколько слоёв

Chatterjee называет их обязательными, без них автоматическая верификация не даёт того, ради чего её ставят.

Zero trust здесь значит: код мог прийти откуда угодно. Его мог написать человек, могла написать одна модель, могла другая — и писали бы они по-разному. Проверять его нужно одинаково строго независимо от происхождения, причём другим методом, чем тот, которым код создан. Модель, проверяющая собственный вывод, наследует свои же слепые зоны, поэтому нужен набор разных инструментов.

«Use a different methodology to review the code that was used to write the code.»
Плюс требования к самой процедуре: аудируемость, объяснимость, алгоритмичность и одинаковый результат при каждом прогоне.
▶ 09:53

Многослойность нужна потому, что ни одна техника не находит всех проблем сразу. Вычислительное ревью работает рядом с ревью на рассуждении, и между ними — всё остальное.

ИСТОЧНИК КОДА человек пишет руками модель A свой профиль ошибок модель B другой профиль ошибок несколько агентов параллельно ОДИН КОНТУР ПРОВЕРКИ одинаковый для любого источника вычислительное ревью синтаксис · потоки данных архитектура · поток управления алгоритмично, повторяемо ревью на рассуждении смысл изменения, намерение, контекст задачи LLM, но не автор кода Что даёт на выходе · один свод правил · аудируемый след · объяснимый результат · тот же вердикт при   повторном прогоне Правило: метод проверки не совпадает с методом написания
Контур проверки один, источников кода — сколько угодно. Смысл zero trust в том, что происхождение кода не меняет строгости проверки, а многослойности — в том, что вычислительный анализ и рассуждающее ревью ловят разные классы проблем. 09:26 →
06

ACDC: проверка стоит по обе стороны от генерации

Agent-centric development cycle — так в Sonar называют агентную петлю разработки. В ней три фазы вокруг генерации кода.

Верификация — центральная фаза и та, которую внедрить проще всего: многие команды уже идут к ней. Она многослойная, опирается на рассуждение и охватывает три типа проблем сразу: качество, безопасность, соответствие требованиям. До неё стоит guide, после — solve.

ACDC agent-centric development cycle петля повторяется, пока проверка не пройдена генерация кода агент пишет, зная границы GUIDE ограничения и контекст до первой строки: чтобы писал лучше сразу VERIFY несколько слоёв проверки: качество, безопасность, соответствие требованиям SOLVE агент сам чинит найденное: у него есть инструменты, чтобы найти и исправить
Проверка внутри петли, а не после неё. Guide отдаёт агенту рамки и контекст до начала работы, verify возвращает список проблем, solve отдаёт их обратно агенту вместе с правом чинить. Дальше петля повторяется. 10:47 →

Ключевая деталь фазы solve — агенту дают право чинить самому. Если найденное складывать в очередь к человеку, который уже ставит формальные подписи, петля не замкнётся. Именно так, по мысли Chatterjee, агентные петли доходят до кода, который можно отгружать.

Зачем компании это внедряют

Sonar разговаривал с клиентами, и причины повторяются от компании к компании.

01

Единый свод правил

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

02

Отдача от инструментов

Расход токенов и эффективность в целом: правильные модели на правильных задачах, инструменты применяются там, где они сильны.

03

Безопасность раньше

Shift left важен давно, но сейчас CVE публикуют и эксплуатируют часто в тот же день. Проблемы надо ловить до прода.

04

Соответствие требованиям

В регулируемых отраслях нужно доказать, что проверка выполняется постоянно и единообразно. Отсюда требование к аудиторскому следу.

07

Внутренняя петля и внешняя: где именно стоит проверка

Разбор схемы, которую Chatterjee показывает во второй половине доклада. Она объясняет, что происходит до петель, внутри агентной петли и в CI/CD.

До того как запустится хоть одна петля, нужно записать спецификации. Это архитектурные ограничения и желаемая архитектура, принятые стандарты и паттерны кода, список разрешённых и запрещённых зависимостей, синтаксические соглашения, практики логирования, наблюдаемости и трассировки. Отдельно определяются критерии качества: какие уровни безопасности, качества и поддерживаемости вы согласны выпускать в прод. Всё это надо записать и закодировать — иначе агенту нечего передавать.

Спецификации архитектура и её ограничения · стандарты и паттерны кода · допустимые зависимости логирование, наблюдаемость, трассировка Критерии качества какие уровни безопасности, качества и поддерживаемости вы готовы выпускать набор по умолчанию или свой ВНУТРЕННЯЯ ПЕТЛЯ · АГЕНТ ПИШЕТ КОД контекст и ограничения ровно столько, сколько нужно под конкретную задачу генерация кода агент пишет проверка прямо в петле агент запрашивает список проблем по коду, который только что написал чинит сразу, пока проблема не ушла в следующие петли ВНЕШНЯЯ ПЕТЛЯ · CI/CD pull request открыт ревью на рассуждении (LLM) вычислительное ревью оба идут по одному коду, разными методами quality gate оценки по качеству, безопасности, поддержке тест, сборка, деплой только после прохода агент-исправитель чинит найденное и возвращает PR на проверку оценка не пройдена →
Одна и та же проверка работает дважды. Внутри агентной петли она ловит проблемы до того, как те расползутся по следующим итерациям. Во внешней петле два независимых ревью выставляют оценки, и без проходного балла PR не идёт дальше. 15:46 →

Отдельный акцент Chatterjee делает на управлении контекстным окном. Бросать агенту всю кодовую базу нельзя: он потратит время и токены на метания и разведку. Задача фазы guide — отдать ровно тот контекст, который нужен под конкретную работу, чтобы агент быстро начал писать по делу.

08

Чем это закрывает Sonar

Вторая половина доклада — про продукты компании. Ниже — что и для какой фазы предназначено.

verify · давно на рынке

SonarQube

Платформа проверки по принципу zero trust и в несколько слоёв: синтаксис, потоки данных, архитектура, поток управления. Работает практически с любым языком. Для агентов есть прямые хуки: они обращаются к проверке напрямую, а не через человека.

verify · покупка

Gitar

Компанию из Сан-Матео Sonar купил за несколько недель до доклада. Она делает AI-ревью кода и автоматизирует весь CI-процесс: найти проблему, заблокировать PR, написать исправление, при желании — одобрить и влить автоматически. По умолчанию только показывает найденное и обсуждает с вами; остальное включается по мере доверия.

guide + verify · GA с недели доклада

Sonar Vortex

Инструменты для агента внутри петли: получить ограничения и контекст до начала работы и прогонять проверку по ходу написания, находя и исправляя проблемы в реальном времени.

solve · GA с недели доклада

Агент ремедиации

Разгребает накопленное: бэклог, техдолг, легаси. Направляете его на старый код, и он улучшает кодовую базу фоном, пока команда занимается новой функциональностью.

Демо: как петля выглядит в редакторе

На видео в докладе работает Cursor. Порядок действий такой: агент получает задачу, вызывает инструмент контекста Vortex, чтобы понять код, с которым работает, пишет решение, затем обращается к проверке за списком проблем. Проблема находится, агент составляет план, исправляет и прогоняет анализ снова. Дальше он не идёт, пока не получит проходную оценку. Похожие интеграции есть с Claude Code, Codex и другими распространёнными инструментами для написания кода.

7 млн+
разработчиков по всему миру пользуются решениями Sonar, по данным компании
750 млрд
строк кода — почти столько компания анализирует ежедневно во всех решениях
≈4 000
задач по коду в прогоне каждой модели для лидерборда
2
продукта вышли в общий доступ на неделе доклада: Vortex и агент ремедиации
Как читать эту часть.

Числа выше — заявления компании со сцены, а не независимое измерение. Утверждение «пользователи Sonar получают больше отдачи от AI-инструментов» тоже опирается на собственные данные Sonar: подтверждающие цифры Chatterjee не приводит, потому что к этому моменту у него кончилось время.

09

Навигация по докладу

Семнадцать точек. Время кликабельно и открывает нужный момент видео.

01:37

Исследование Carnegie Mellon

Проекты на GitHub разделили по метаданным: писал код AI-инструмент или нет.

02:32

Разрыв качества зависит от критичности

Для эксперимента с ним можно жить. Для большой кодовой базы с враждебными пользователями — нет.

03:55

Почему модели ошибаются

Свойство технологии, нехватка контекста и разные профили ошибок у моделей.

05:20

Opus 4.6 против Sonnet 4.6 на лидерборде

Sonnet сильнее по корректности и надёжности, Opus — по поддерживаемости, безопасности и сложности кода.

06:42

Эксперимент Wharton

92,7 % согласия с верным советом и почти 80 % — с неверным, поданным уверенно.

07:09

Ревью превращается в формальность

Несколько агентов пишут параллельно, куски надо свести вместе, часов в сутках не прибавилось.

08:04

Код предсказуем, софт — нет

Функция ведёт себя одинаково, а приложение ломается новыми способами по мере роста и прихода пользователей.

09:26

Zero trust

Код мог прийти откуда угодно, поэтому проверять надо другим методом, чем тот, которым он написан.

10:20

Многослойность

Вычислительное ревью и ревью на рассуждении вместе: одна техника всех проблем не найдёт.

10:47

ACDC: три фазы петли

Guide перед генерацией, verify внутри, solve после — с правом агента чинить самому.

13:57

Покупка Gitar

AI-ревью кода и автоматизация CI: от блокировки PR до автоматического мержа, если вы этого захотите.

14:53

Sonar Vortex и агент ремедиации

Проверка внутри агентной петли и фоновая разгрузка техдолга. Оба вышли в общий доступ на неделе доклада.

15:46

Что нужно записать до первой петли

Архитектурные ограничения, стандарты и паттерны, допустимые зависимости, практики логирования, критерии качества.

17:35

Проверка внутри петли

Проблемы чинятся сразу и не успевают разойтись по следующим итерациям.

18:31

Quality gate во внешней петле

Два независимых ревью выставляют оценки, и без проходного балла PR не уходит дальше.

18:58

Демо петли в Cursor

Контекст, генерация, проверка, исправление, повторный анализ — без выхода из редактора.

21:15

Ключевые выводы

Ограниченная автономия, ACDC, оркестрация для разработчиков, одна платформа проверки на всю компанию.

10

Прямая речь

Четыре фразы, вокруг которых держится аргумент. Оригинал сохранён дословно.

«None of these models are ever going to be perfect. You're always going to have some kind of need for verification in the loop…»
Не оговорка про несовершенство технологии, а посылка: проверка в петле нужна при любой модели, включая будущие.
▶ 06:15
«…software is not provable in the same way that code is provable.»
Отсюда следует, что проверять надо не только момент написания, но и то, как код живёт в приложении.
▶ 08:31
«Use a different methodology to review the code that was used to write the code.»
Самая короткая формулировка zero trust во всём докладе.
▶ 09:53
«Give them the freedom to generate code, but also make sure that you're enforcing a centralized scheme of verification and constraints.»
Ограниченная автономия: свобода писать код в обмен на единые правила проверки и единые ограничения.
▶ 21:15
11

Что делать со всем этим

Итоговый слайд доклада плюс шаги, которые из него следуют. Отмечайте сделанное.