Как команда Claude Code автоматизирует ревью кода при массовом использовании ИИ

Hacker News · оригинал

Материал подготовлен автоматизированной редакционной системой. Факты можно сверить по указанному первоисточнику.

Команда разработки Claude Code перестроила процесс проверки кода, сместив фокус с ручного чтения диффов на автоматизированные проверки и минимизацию времени участия человека. Это позволило увеличить объем слияний в два раза за три месяца, снизив при этом количество откатов более чем на 40 процентов.

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

В Anthropic столкнулись с фундаментальной проблемой: при том, что Claude пишет около 90% кода в собственном продукте, традиционный ручной ревью становится неэффективным. С мая по сентябрь количество изменений, попадающих в монорепозиторий компании, выросло с 2500 до более чем 30 000 в день. В таких условиях построчное чтение кода человеком невозможно. Команда Claude Code сменила парадигму: вместо того чтобы спрашивать «прочел ли человек код?», они задают вопрос о том, какие проверки — автоматические или человеческие — лучше всего предотвратят ошибки. Целью стало сокращение времени на ревью без роста числа инцидентов и откатов.

Ключевым элементом новой системы является верификация. Борис Черни, создатель Claude Code, утверждает, что предоставление ИИ возможности проверить свою работу (запуск тестов, сборка, сравнение скриншотов) улучшает результат в два-три раза. Большинство изменений проходят через несколько слоев автоматического контроля до того, как к ним прикоснется человек. Сначала Claude запускает тесты и сборку, затем субагент с «свежим контекстом» анализирует дифф. Если автоматический ревьюер постоянно указывает на одни и те же проблемы, команда исправляет их в источнике: обновляет правила линтера или инструкции в файлах CLAUDE.md и REVIEW.md.

Перед созданием пулл-реквеста разработчики используют внутренние навыки (skills) для поиска багов, упрощения диффа и проверки поведения системы. Для UI-изменений проводится сверка с дизайн-гайдлайнами. После открытия PR каждый запрос проходит обязательный ревью от Claude, который анализирует изменения в контексте всего репозитория. Публичная версия этой функции доступна в планах Team и Enterprise. При запуске исследовательского превью доля PR с содержательными комментариями выросла с 16% до 54%. Для снижения шума система использует голосование нескольких агентов: находка публикуется только если большинство из них считает её реальной. Стилистические замечания отфильтровываются, а оставшиеся сортируются по важности.

Безопасность также автоматизирована: PR не может быть слит, пока открыты находки из ревью безопасности или багов. Риск-классификатор определяет уровень риска изменения и требует ли оно обязательного участия человека. Только доверенные авторы могут использовать облегченные пути слияния, где достаточно автоматических проверок. При этом одобрение агентом никогда не заменяет одобрение человеком; тот, кто инициировал изменение, несет за него ответственность.

Команда отслеживает метрики: медиану и 95-й перцентиль времени ожидания человека, количество комментариев и скорость откатов. Если откаты растут, значит время не сэкономлено, а лишь перемещено на этап исправления последствий. Для предотвращения бесконечных циклов между агентом-автором и агентом-ревьюером (один PR прошел более 50 раундов) команда внедрила лимиты и отслеживание раундов до прохождения. Анализ показал, что 59% замечаний касались кода, существовавшего до начала ревью, поэтому система была настроена на поиск новых багов, а не повторное выявление старых.

Вторая функция ревью — распространение знаний о кодовой базе. Поскольку машины читают код, люди используют Claude для генерации объяснений конкретных модулей или визуализаций, что эффективнее чтения тривиальных диффов. Культура открытости в Slack-каналах позволяет команде видеть работу друг друга и оперативно останавливать ненужные изменения. Если ошибка все же попадает в продакшн, она становится частью набора данных для оценки (eval) ревьюера, который ежедневно тестируется на исторических инцидентах.

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