Проблема «узкого места» в проверке кода решена
Проверка кода, традиционно являющаяся «узким местом» в разработке ПО, переживает тектонический сдвиг. Например, основной монорепозиторий Anthropic вырос с примерно 2500 изменений в день в мае до более чем 30 000 в самый загруженный день в сентябре. При этом Claude теперь пишет около 90% собственного кода Claude Code, что делает построчную проверку человеком непрактичной.
Вместо того чтобы стремиться к проверке каждой строки человеком, команды Anthropic теперь задаются вопросами: «Что может пойти не так с этим изменением?» и «Какая проверка — автоматизированная или человеческая — лучше всего это выявит?». Этот прагматичный подход гарантирует, что большинство pull requests (PR) объединяются с участием максимум одного человека, зачастую только самого автора. Борис Черный, создатель Claude Code, выпускает 20-30 PR в день — темп, невозможный при использовании обычных методов.
Эта новая система принесла поразительные результаты. В период с июня по сентябрь количество объединенных PR увеличилось более чем вдвое. Важно отметить, что доля PR, которые пришлось откатывать, снизилась на 40%, что доказывает: снижение нагрузки на человеческую проверку не обязательно означает увеличение количества дефектов. Этот сдвиг подчеркивает фундаментальный пересмотр того, как мы обеспечиваем качество кода в масштабе.
Баг должен пройти через «полосу препятствий»
Баги сталкиваются с рядом автоматизированных проверок, предназначенных для обнаружения проблем еще до того, как человеческий глаз увидит pull request. Claude сначала запускает тесты, собирает приложение или сравнивает скриншоты в сессии автора для самопроверки своей работы. Затем субагент с новым контекстом независимо проверяет diff, гарантируя, что предвзятость из сессии автора не повлияет на первоначальную оценку.
Как только pull request создан, в дело вступает специализированный продукт Claude reviewer, развертывающий несколько агентов для одновременного поиска багов. Отдельная группа агентов затем голосует по этим выводам, и только если достаточное количество из них согласно, публикуется комментарий, что значительно снижает количество ложных срабатываний.
Система учится на своих ошибках, превращая повторяющиеся проблемы в правила линтинга (lint rules) или конкретные рекомендации в файлах CLAUDE.md. Это гарантирует, что распространенные ошибки устраняются на ранних этапах, предотвращая их повторное появление. И наоборот, если ревьюер неоднократно помечает приемлемый код, файлы review.md, написанные владельцами кода, разъясняют, что именно считается ошибкой в этой конкретной области кода.
Перед слиянием отдельный агент по проверке безопасности (security review) изучает код на наличие уязвимостей, также должны пройти стандартные CI-проверки, включая тесты, проверку типов и линтинг. Эта многоуровневая модель «швейцарского сыра» гарантирует, что даже если в одной защите есть «дыра», последующие уровни, скорее всего, обнаружат дефект, позволяя Anthropic масштабировать слияния без ущерба для стабильности.
Ревьюеру тоже нужен ревьюер
Человеческая проверка остается критически важным, хотя и многоуровневым, средством защиты. Изменения с низким уровнем риска от доверенных авторов (trusted authors), такие как обновление документации или работа с использованием feature-флагов, часто проходят без одобрения человека. Обычные изменения или модификации чувствительных областей требуют одного подтверждения от человека, в то время как пути с высоким уровнем риска требуют двух. Агенты-классификаторы Anthropic определяют эти уровни, а второй агент проверяет необходимость человеческой проверки.
Оценка фокусируется на реальном влиянии. Ошибки, связанные с инцидентами, превращаются в ежедневные тестовые сценарии для рецензента, что гарантирует обучение системы на прошлых сбоях. Сохраняются только те изменения промптов, моделей или правил, которые доказанно улучшают производительность, не создавая лишнего шума. Этот итеративный цикл обратной связи постоянно совершенствует процесс автоматизированной проверки. Более подробную информацию об этой сложной системе см. в статье Как команда Claude Code проводит проверку кода.
Однако проверки «агент-агент» могут загнать систему в бесконечный цикл. Чрезмерные придирки провоцируют повторные правки и последующие проверки, как это произошло в одном PR, где было зафиксировано более 50 раундов. Чтобы бороться с этим, Anthropic ограничила количество раундов проверки и перенесла фокус последующих проверок исключительно на новые изменения. Это вмешательство привело к тому, что доля PR, проходящих проверку за один раунд, подскочила с 65% до 78%, в то время как количество PR, требующих пять и более раундов, упало с 9% до 1,5%.
Нравится статья? Получайте такие каждое утро на почту.
одно письмо в день · отписка в два клика · без сторонних трекеров
Что команды могут скопировать, а что нет
Впечатляющее масштабирование Anthropic дает представление об AI-native инженерии, но не каждая команда может просто скопировать и вставить их подход. Хотя количество объединенных PR более чем удвоилось, а доля откатов снизилась на 40%, опубликованные метрики не доказывают окончательно, что стало меньше общих поломок. Если объем изменений вырос достаточно сильно, абсолютное число откатов могло вырасти, даже при снижении процентного соотношения.
Воспроизведение многоагентной системы проверки Anthropic требует значительных ресурсов и узкоспециализированных внутренних инструментов. Большинству организаций не хватает лимита токенов, вычислительных мощностей или сложных циклов обратной связи, которые позволяют Claude самостоятельно улучшать свои навыки проверки. Это не быстрая интеграция, а фундаментальный архитектурный сдвиг.
Тем не менее, для любой команды существуют прагматичные выводы. Направляйте агентов с помощью кратких инструкций и автоматизируйте проверки повторяющихся ошибок, вместо того чтобы исправлять их итеративно. Ограничивайте циклы проверки — Anthropic на горьком опыте убедилась, что агенты могут застревать в более чем 50 раундах. Оставляйте внимание человека для действительно важных решений, таких как архитектурный выбор или критически важный код биллинга. В конечном счете, правило «ты внедряешь — ты отвечаешь» остается первостепенным: ответственность за результаты по-прежнему лежит на людях.
Часто задаваемые вопросы
Проверяют ли люди каждое изменение в Claude Code в Anthropic?
Нет. Проверка человеком зависит от риска: некоторые доверенные изменения с низким уровнем риска могут быть объединены без одобрения человека, в то время как чувствительные или высокорисковые изменения требуют участия одного или двух человек.
Как Anthropic проверяет код, созданный ИИ?
Их процесс сочетает в себе локальные тесты, проверку агентом с учетом контекста, многоагентную проверку на ошибки и безопасность, CI, проверку человеком на основе рисков и мониторинг в продакшене.
Доказал ли уровень откатов в Anthropic, что в продакшен попадает меньше ошибок?
Не сам по себе. Доля объединенных PR, которые были отозваны, упала на 40%, но объем объединенных PR увеличился более чем вдвое, и Anthropic не опубликовала исходные данные.
Что небольшие инженерные команды могут скопировать у Anthropic?
Используйте автоматизированные проверки для повторяющихся рисков, держите инструкции для агентов сфокусированными, ограничивайте количество раундов проверки, сопоставляйте проверку человеком с уровнем риска и сделайте так, чтобы человек, внедряющий изменения, отвечал за их результат.

