Как Cloudflare масштабировала AI-ревью кода с помощью оркестрации агентов

Опыт Cloudflare по внедрению ИИ в процесс проверки кода: от неудачных экспериментов с единым промптом до архитектуры с узкоспециализированными агентами.

Обновлено:
2 мин чтения
0 просмотров
Как Cloudflare масштабировала AI-ревью кода с помощью оркестрации агентов

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

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

BLOG-3284 2

BLOG-3284 2

Вместо создания очередного монолитного решения, Cloudflare разработала систему оркестрации на базе OpenCode — агента для написания кода с открытым исходным кодом. Главное архитектурное решение заключалось в отказе от универсального ревьюера. Теперь при создании запроса на слияние запускается агент-координатор, который управляет работой до семи узкоспециализированных агентов.

Каждый из этих агентов имеет свою строгую зону ответственности: безопасность, производительность, качество кода, документация, управление релизами и соответствие внутренним стандартам компании. Например, агент по безопасности получает четкую инструкцию искать только эксплуатируемые уязвимости (SQL-инъекции, утечки секретов) и игнорировать теоретические риски или старый код. Координатор собирает результаты их работы, удаляет дубликаты и формирует единый структурированный комментарий.

BLOG-3284 3

BLOG-3284 3

Техническая реализация потребовала решения ряда неочевидных проблем. Чтобы избежать привязки к конкретной системе контроля версий или поставщику ИИ, система построена на плагинной архитектуре. Для передачи огромных объемов текста в модель используется стандартный ввод (stdin), что позволяет обойти системные ограничения на длину аргументов командной строки. А для логирования был выбран потоковый формат JSONL (JSON Lines), который гарантирует сохранение данных даже при внезапном завершении процесса из-за нехватки памяти.

Интересной деталью стал человеческий фактор. Мощные модели могут долго анализировать сложный код. Разработчики, видя отсутствие активности в консоли непрерывной интеграции (CI/CD), считали процесс зависшим и отменяли его. Проблема решилась добавлением простого сообщения «Модель думает...», которое выводится каждые 30 секунд.

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

BLOG-3284 4

BLOG-3284 4

BLOG-3284 5

BLOG-3284 5

BLOG-3284 6

BLOG-3284 6

BLOG-3284 7

BLOG-3284 7

BLOG-3284 8

BLOG-3284 8

Хабр Карьера Курсы

Хабр Карьера Курсы

TL;DR

Главное

Разделение задачи проверки кода между несколькими узкоспециализированными ИИ-агентами дает значительно лучший результат, чем использование одной модели с универсальным запросом.

Ключевые факты

  • /Система использует до 7 специализированных агентов под управлением одного координатора.
  • /Архитектура построена на базе open-source агента OpenCode.
  • /Для надежного логирования длинных сессий используется формат JSONL.

Инсайт

Отсутствие визуальной обратной связи заставляло инженеров прерывать работу ИИ, думая, что процесс завис. Проблема решилась добавлением текстового пульса «Модель думает...» в логи.

Источник:Habr

Читайте также