Перейти к содержанию

Кодинг-агенты

Harness rebuilt its Git repository for nonstop AI agent traffic

5 мин чтения

Текст написан ИИ-моделью по источникам, на которые ведут ссылки, и сверен с ними второй моделью. Как мы работаем

Всё о теме: Агенты для программирования →
Изображение: thenewstack.io

От 1,5x до 50x

Harness пересобрала свой Git-хостинг Code Repository под круглосуточный поток коммитов и пул-реквестов от кодинг-агентов и одновременно выпустила отдельный продукт AI Code Review. Field CTO компании Мартин Рейнольдс объяснил, зачем это понадобилось, в интервью The New Stack, опубликованном 9 сентября. Разговор состоялся через несколько дней после запуска и через несколько недель после почти восьмичасового сбоя GitHub.

Рейнольдс часто спрашивает руководителей разработки, как они справляются с пул-реквестами от агентов. Один недавно ответил «не успеваем» и пояснил, что его команда снизила порог для выкатки кода в продакшен.

Сам Рейнольдс впервые упёрся в эту проблему, когда Harness пробовала GitHub Copilot и Amazon CodeWhisperer. «Пул-реквестов стало больше, но все они застревали, - вспоминает он. - А команда тестирования кричала, что не успевает». Тогда объём нового кода вырос в 1,5-2 раза, и тестировщики дошли до предела. Сейчас он иногда видит команды с ростом в 10 раз, а некоторые заявляют и о 50. «Представьте, каково сейчас этой команде тестирования».

Клиенты, по наблюдениям Рейнольдса, делятся на три группы: одни подняли допустимый уровень риска, у других копится очередь, которую они не могут разобрать, а большинство находится где-то посередине. «Посередине, думаю, чаще всего, - говорит он. - Мы используем какой-нибудь другой ИИ-инструмент, чтобы помочь себе, но проблему он не обязательно решает».

30 файлов из-за одной зависимости

В идеале, считает Рейнольдс, ревьюер, открывая пул-реквест, должен первыми видеть самые важные изменения. А назначать ревьюером стоит того, кто уже работал с этой частью кодовой базы, «а не того, кто писал промпт или код». «Остальное - это файлов 30, потому что обновили зависимость. Туда смотреть не так важно», - говорит он. Проверять нужно то, что действительно меняется, а не обвязку вокруг.

«Дело не только в самой модели», - добавляет Рейнольдс. По его словам, Harness потратила «изрядную часть последних 12 месяцев» на граф знаний о поставке софта: карту пайплайнов, деплоев, инцидентов и политик конкретного клиента. Ревьюер берёт из неё контекст быстро и «не сжигая кучу токенов».

Пример, который приводит сама компания: миграцию пометили потому, что в разборе прошлого инцидента нашли оператор CREATE INDEX, заблокировавший продакшен-таблицу на 14 минут. На странице продукта Harness добавляет, что AI Code Review проверяет каждый пул-реквест перед слиянием, а описание пул-реквеста Harness AI составляет по коммитам.

По подсчёту самой Harness, её инженеры экономят больше 10 000 часов ручного ревью в месяц. В день запуска Harness ревью кода в GitHub Copilot начало проверять пул-реквесты, открытые ботами, включая собственного кодинг-агента GitHub.

«Агенты не работают с девяти до шести»

Клиенты Harness, которые держат код на GitHub, в последнее время «вполне серьёзно присылали нам скриншоты того, что GitHub лежит», рассказывает Рейнольдс. Причину он видит в том, что GitHub «в конечном счёте строили для людей, для команд человек по 10-15, которые меняют код и создают пул-реквесты». Такие пул-реквесты висят от нескольких часов до пары дней. Агенты же работают круглые сутки.

В разборе сбоя 17 августа технический директор GitHub Влад Фёдоров написал, что при выходе трафика на новый пик «критичный компонент инфраструктуры в нашем дата-центре Central US не смог отмасштабироваться». Сейчас GitHub принимает 2,9 миллиарда коммитов в месяц, в среднем чуть больше 1000 в секунду. В апреле их было 1,4 миллиарда в месяц.

Репозиторий Harness продаёт с 2023 года, когда запустила Harness Code на основе собственного открытого Git-проекта. Как писал тогда TechTarget, открытая платформа Gitness появилась в DevOps-платформе Harness в сентябре 2023 года и стала преемником Drone CI, открытого проекта, который Harness купила в 2020-м. Теперь сервис, по словам Рейнольдса, пересобран с нуля как «AI-first репозиторий, который работает и для людей, и для ИИ».

Новая версия работает на Kubernetes в нескольких облаках и регионах и, по словам Рейнольдса, выдерживала в тестах тысячи коммитов в секунду. В бете ею пользовались около 20 корпоративных клиентов, их имена Harness не раскрывает. Масштаба GitHub у Harness нет, и The New Stack считает, что для корпоративных клиентов это может оказаться преимуществом.

На странице продукта Harness приводит и другие цифры нагрузочных тестов: больше 1500 одновременных пул-реквестов, диффы на 1000 с лишним файлов, терабайты трафика clone и fetch в день, без ограничения частоты запросов и полосы. Доступность заявлена на уровне 99,99%. Правила для веток, тегов и пушей, CODEOWNERS и сканирование секретов одинаково действуют на людей и агентов. Каждой учётной записи агента через RBAC и политики OPA задаётся, к чему она получает доступ, что может сливать и деплоить. Для агентов есть собственный CLI, команды которого возвращают только нужные операции поля, чтобы тратить меньше токенов, и MCP-сервер для Cursor, Claude и Devin. Хранилище на аккаунт: 50 ГБ на бесплатном тарифе и 500 ГБ на платных, вместе с Git LFS. Переезд обещают в один клик, есть и зеркалирование.

Что остаётся детерминированным

Первым большинство команд, скорее всего, попробует ревьюер: он работает с пул-реквестами, которые уже лежат на GitHub, а перенос репозиториев в крупных компаниях обычно затягивается надолго. Тому руководителю, который ответил «не успеваем», новый Git-хостинг для этого не нужен.

Harness смотрит и дальше. Возможности для полностью автономного цикла поставки уже есть, считает Рейнольдс, но «готовы ли к этому организации и компании? Я не до конца уверен».

В любом случае детерминированные инструменты, по его словам, остаются на месте, и результаты тестов по-прежнему выдаёт тест-раннер. «Нет нужды выдирать их и заменять. Вопрос в том, где их можно усилить».

Пока никто не написал. Будьте первым.

Присоединяйтесь к разговору

Войдите, чтобы оставить комментарий. Он появится после модерации.