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

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

Бот Rollouts в Cursor следит за кодом уже в продакшене

5 мин чтения

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

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

Cursor 23 сентября представила Rollouts. Этот бот берёт изменение под наблюдение, как только открыт пулл-реквест, а после деплоя выносит ему один из трёх вердиктов: «проверено, всё в порядке», «обнаружена регрессия» или «неясно». Стейджинг и продакшен бот оценивает по отдельности, так что код может пройти проверку на стейджинге и получить регрессию уже в продакшене.

Бот вырос из продукта Firetiger. Команду этого стартапа Cursor купила 13 августа, а Rollouts, как отмечает The New Stack, по сути представляет собой переродившиеся Change Monitors Firetiger. Сооснователи стартапа Рустам Лалкака и Ашиль Руссель раньше строили и эксплуатировали крупные продакшен-системы в Cloudflare, Twitch, Segment и Twilio. Сейчас Лалкака работает в Cursor и анонсировал Rollouts в блоге компании. Проблему он сформулировал ещё в августе, в посте в LinkedIn после сделки: «За последние два года агентное программирование сильно изменило разработку. Стоимость создания изменений упала почти до нуля. Стоимость и риск их выкатки остались примерно прежними».

От пулл-реквеста до вердикта

Начинается всё с пулл-реквеста. Rollouts разбирает предложенное изменение, прикидывает, какие системы оно может задеть, и составляет план мониторинга из четырёх частей: что изменение должно делать, какие риски бот в нём видит, за какими сигналами будет следить и где в инструментировании не хватает данных для наблюдения. План можно просмотреть и поправить, пока код не ушёл в продакшен.

После деплоя бот сверяет с этим планом телеметрию: логи, метрики и трейсы. Источники данных подключаются со всех сторон. Код Rollouts берёт из Origin или GitHub, события деплоя получает из систем непрерывной доставки, а сигналы читает из Datadog и других телеметрических сервисов.

По словам Лалкаки, бот уже ловит проблемы, затронувшие только один эндпоинт или один регион, ещё до того, как они вызовут общий алерт. Ещё он умеет отличать ожидаемое изменение поведения от настоящей регрессии. Лалкака объясняет, зачем это нужно: медленным звеном стал не код, а всё, что идёт после открытия пулл-реквеста, «решить, реален ли скачок задержки, выяснить, какое из одиннадцати изменений сломало оформление заказа».

Что бот делает с регрессией

Найдя регрессию, Rollouts называет изменение, которое подозревает, и предупреждает его автора. Дальше всё зависит от настроек: бот либо открывает пулл-реквест на откат, который кто-то должен проверить, либо передаёт проблему облачному агенту Cursor, чтобы тот попробовал её исправить. Сам он исправления не мержит и деплой не откатывает. Последнее слово пока за человеком, а единственное, что бот может сделать сам, - приостановить постепенную выкатку.

Cursor обещает «скоро» добавить интеграцию с фича-флагами: тогда Rollouts сможет сам регулировать, сколько трафика доходит до изменения. В работе также поддержка релизных поездов, когда изменения выходят пачками по расписанию, и периодов заморозки деплоя. Сроки не названы.

Rollouts собран на Bot Development Kit, судя по всему, тоже новом инструменте Cursor. Это фреймворк на ранней стадии для сборки и запуска ботов и агентов Cursor, он опубликован в npm как пакет @cursor/bdk. Как сказано в документации, агентов описывают на Markdown и TypeScript, а фреймворк поддерживает инструменты, скиллы, субагентов, вебхуки и запуск по расписанию.

Security Reviewer стал быстрее

Вместе с Rollouts вышла обновлённая версия Security Reviewer, бота, который появился в бете в апреле. Тогда он проверял пулл-реквесты на уязвимости, регрессии в аутентификации, риски для приватности и обработки данных, автоматическое одобрение вызовов инструментов агентами и промпт-инъекции, а замечания оставлял прямо у нужного фрагмента кода.

Теперь бот смотрит на пулл-реквест в контексте всей кодовой базы. Сосредоточен он на уязвимостях, которые можно эксплуатировать, например инъекциях и сломанной аутентификации. К каждой находке он прикладывает оценку серьёзности, путь атаки и предлагаемое исправление. «Security Review читает код так же, как инженер по безопасности, - пишет Лалкака. - Где входят пользовательские данные, куда они попадают, через что проходят по пути».

По его данным, средняя проверка ускорилась на 21%, с 4,8 до 3,8 минуты. Доля замечаний, которые разработчики принимают, выросла с примерно 45-50% до 60-70%. Оба бота можно настроить на запуск при каждом новом пулл-реквесте, чтобы их не приходилось вызывать вручную. Rollouts и Security Reviewer доступны во вкладке Automations клиентам на тарифах Teams и Enterprise.

При чём тут Origin

Через Rollouts хорошо видно, как Cursor собирается развивать Origin, свой Git-совместимый хостинг кода, запущенный в августе. Функций у него пока немного, но Cursor не скрывает, что главной причиной им пользоваться должна стать тесная связка с её агентами. Облачные агенты Cursor уже умеют создавать ветки, коммитить, пушить и открывать пулл-реквесты в репозиториях Origin, а Rollouts добавляет к этому сведения о том, что случилось с кодом после выкатки. GitHub при этом поддерживается, и Origin для работы Rollouts не обязателен.

Соревноваться Cursor придётся на двух фронтах. На роль GitHub претендует не она одна: Zed за неделю до анонса открыла публичную бету Delta со своим взглядом на систему контроля версий для команд, которые много работают с агентами. Проверка деплоев по телеметрии у конкурентов тоже уже есть. Datadog в июне выпустила в превью Bits Release, который точно так же ведёт изменение от пулл-реквеста до продакшена. Harness давно предлагает автоматическую проверку деплоя и откат по логам и метрикам, а Guarded Rollouts от LaunchDarkly следят за выкаткой фич и сами откатывают их при регрессии. Козырь Cursor, по оценке The New Stack, в близости: агент, репозиторий, пулл-реквест, проверки безопасности и обратная связь из продакшена оказываются рядом.

Именно так покупку Firetiger в августе объяснял Максим Прадес из продуктовой команды Cursor, назвав её частью вложений в «долгоживущих, автономных, учитывающих контекст агентов для команд». «Агенты, которые пишут код, должны уметь понять, работает ли он в продакшене, - написал он. - Сегодня эти системы в основном разделены».

Google

Режим Tasks в Gemini получил вход в голосовой Gemini Live

15 сентября вышла Gemini 3.8 Live, которая умеет выполнять задачи прямо в разговоре, и, по данным TestingCatalog, вход в неё уже встроили в режим Tasks десктопного Gemini. Этот режим пока получают только доверенные тестеры.

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

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

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