Как Cloudflare масштабировала AI-ревью кода с помощью оркестрации агентов
Опыт Cloudflare по внедрению ИИ в процесс проверки кода: от неудачных экспериментов с единым промптом до архитектуры с узкоспециализированными агентами.
Опыт Cloudflare по внедрению ИИ в процесс проверки кода: от неудачных экспериментов с единым промптом до архитектуры с узкоспециализированными агентами.
2 мин

Проверка кода (code review) — критически важный этап разработки, который часто становится главным препятствием на пути к быстрому выпуску продуктов. Запросы на слияние (merge requests) могут сутками ждать внимания старших разработчиков. Компания Cloudflare поделилась своим опытом решения этой проблемы с помощью искусственного интеллекта, и их путь отлично иллюстрирует эволюцию подходов к интеграции больших языковых моделей (LLM) в производственные процессы.
Поначалу инженеры Cloudflare пошли по самому очевидному пути: попробовали готовые инструменты и попытались отправлять изменения в коде (git diff) напрямую в LLM с общим запросом найти ошибки. Результат оказался предсказуемым. Модели выдавали огромное количество информационного шума, выдумывали несуществующие синтаксические ошибки и предлагали добавить обработку исключений там, где она уже была реализована. Стало ясно, что наивный подход с одним большим промптом не работает на сложных корпоративных базах кода.

BLOG-3284 2
Вместо создания очередного монолитного решения, Cloudflare разработала систему оркестрации на базе OpenCode — агента для написания кода с открытым исходным кодом. Главное архитектурное решение заключалось в отказе от универсального ревьюера. Теперь при создании запроса на слияние запускается агент-координатор, который управляет работой до семи узкоспециализированных агентов.
Каждый из этих агентов имеет свою строгую зону ответственности: безопасность, производительность, качество кода, документация, управление релизами и соответствие внутренним стандартам компании. Например, агент по безопасности получает четкую инструкцию искать только эксплуатируемые уязвимости (SQL-инъекции, утечки секретов) и игнорировать теоретические риски или старый код. Координатор собирает результаты их работы, удаляет дубликаты и формирует единый структурированный комментарий.

BLOG-3284 3
Техническая реализация потребовала решения ряда неочевидных проблем. Чтобы избежать привязки к конкретной системе контроля версий или поставщику ИИ, система построена на плагинной архитектуре. Для передачи огромных объемов текста в модель используется стандартный ввод (stdin), что позволяет обойти системные ограничения на длину аргументов командной строки. А для логирования был выбран потоковый формат JSONL (JSON Lines), который гарантирует сохранение данных даже при внезапном завершении процесса из-за нехватки памяти.
Интересной деталью стал человеческий фактор. Мощные модели могут долго анализировать сложный код. Разработчики, видя отсутствие активности в консоли непрерывной интеграции (CI/CD), считали процесс зависшим и отменяли его. Проблема решилась добавлением простого сообщения «Модель думает...», которое выводится каждые 30 секунд.
Опыт Cloudflare демонстрирует важный сдвиг в индустрии: переход от попыток создать универсальный ИИ к проектированию систем взаимодействующих агентов с узким фокусом. Это позволяет не только повысить точность проверок, но и интегрировать ИИ в критические пути разработки, где он может активно блокировать внедрение потенциально опасного кода, а не просто давать советы.
Разделение задачи проверки кода между несколькими узкоспециализированными ИИ-агентами дает значительно лучший результат, чем использование одной модели с универсальным запросом.
Отсутствие визуальной обратной связи заставляло инженеров прерывать работу ИИ, думая, что процесс завис. Проблема решилась добавлением текстового пульса «Модель думает...» в логи.