К содержимому
Claude Code с 0:полный курс
Новости ClaudeАвтор: Михаил Кузьмицкий

Claude Tag как дежурный по CI/CD: опыт Anthropic

Русская адаптация материала Anthropic — подготовлена с участием AI, проверена автором.

Коротко

Инженер Anthropic рассказывает, как агент на основе Claude Tag стал первым, кто реагирует на сбои в CI/CD — и почему это изменило дежурства всей команды.

Представь обычный вечер дежурства: коллега пишет в Slack, что на новом сервисе перестали проходить около 44 тестов. Раньше это значило одно — закрыть ноутбук, вздохнуть и начать час расследования вслепую. Сегодня в Anthropic это значит другое: позвать @Claude и спросить, что он видит.

Луч маяка в тумане как символ дежурного агента

В той истории, которую рассказывает инженер команды Continuous Integration Сачин Малхотра, Claude нашёл, что тесты пропали после включения фича-флага утром того же дня, и подтвердил, что откатить флаг безопасно. Коллега откатил, а через три минуты Claude сам написал в Slack: ошибки вернулись к норме, правила пропуска тестов убраны. Никакого часового расследования — только пара сообщений.

Зачем понадобился дежурный агент

Последние несколько месяцев Claude Tag выполняет роль первого респондента на все сбои в CI/CD внутри Anthropic. Дело не только в том, что у инженеров стало больше свободных вечеров. У каждого недавнего инцидента, где вообще составлялся ситуационный отчёт (sitrep), первым автором был Claude — и обычно он публиковал первый анализ в течение 15 минут после начала инцидента.

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

Из чего собрана система дежурства

Дежурному агенту нужны четыре вещи: память — чтобы помнить, что уже сделано; доступы — чтобы расследовать и действовать; расписание — чтобы знать, когда включаться; и инструкции — чтобы знать, что делать.

Claude Tag — это основа всей конструкции. Он хранит память в рамках дежурного Slack-канала, получает инструкции на каждый ход общения и реагирует в реальном времени на события и в этом канале, и в соседних. Расписание регулярных задач настраивается прямо на естественном языке — например, фраза «запускай передачу смены по CI каждый понедельник в 9:00 по восточному времени» становится рабочей рутиной.

У Claude Tag есть отдельный служебный аккаунт с доступом к тем же инструментам, что нужны инженеру CI — Datadog, Grafana и другие. Это настраивается администратором канала один раз. Дополнительно Claude подключён к другим релевантным каналам, где можно подхватить контекст — алерты сервисов, изменения конфигураций, обновления пул-реквестов.

Постоянные инструкции хранятся в markdown-файлах как «скиллы» и лежат в обычном GitHub-репозитории — команда правит их так же, как код. Там же — правила маршрутизации, политики и журнал накопленного опыта, который агент пополняет сам. По словам Малхотры, вся настройка заняла часы, а не дни; Anthropic даже выложила готовый setup kit, который превращает историю инцидентов команды в плейбуки для триажа и оставляет в канале Claude только с правами чтения — для диагностики, эскалации и обучения.

Схема работы дежурного агента: каналы, доступы и цикл расследования. Источник: Anthropic

Как Claude помогает обнаруживать инциденты

До появления агента было два типичных провала в детекте инцидентов. Первый — сложно заранее придумать идеальные пороги алертов, особенно когда у нового сервиса ещё нет данных для анализа трафика. Теперь Claude сам анализирует данные и входящие алерты первые несколько дней жизни нового сервиса и предлагает правила или подстраивает те, что оказались слишком широкими или слишком узкими.

Второй провал — усталость от алертов: проверять и просеивать каждое срабатывание вручную утомительно, и люди со временем начинают их игнорировать. Claude не устаёт так, как человек. Он мониторит каждый релевантный алерт в каждом канале и сверяется с критериями из корневого файла oncall.md, чтобы решить — подождать до утра или немедленно вызвать дежурного. Например, после настройки на реальных данных правило может звучать так: «если error rate больше 2% дольше 5 минут и это не известное окно деплоя — вызвать дежурного, иначе записать в lessons.md».

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

Триаж: расследование быстрее, чем человек успевает открыть ноутбук

Фильтровать шум алертов — это одно, но настоящая экономия времени начинается на этапе расследования. По медиане Claude публикует первый анализ, подкреплённый фактами, через 14 минут после открытия инцидента, а в самых быстрых случаях называет корневую причину уже в первом отчёте — за 4 минуты.

Когда алерт эскалируется в инцидент, в Slack-канале часто уже ждёт гипотеза, подтверждённая данными, которую команда просто проверяет. Claude Tag запускает динамический workflow: агент-оркестратор поднимает субагентов-исполнителей, каждый из которых расследует свою зависимость или источник данных.

Ниже — что именно подключено через MCP-коннекторы и какую роль играет каждый инструмент в расследовании:

ИнструментРоль в расследовании
GrafanaМетрики и графики ошибок, задержек
Лог-хранилищеПоиск конкретных сбоев и трейсов
PagerDutyИстория алертов и эскалаций
GitHubКоммиты, PR, изменения конфигурации
KubernetesСостояние кластеров и подов
Slack-каналы инцидентовКонтекст от людей, прошлые обсуждения

Исполнители присылают находки обратно оркестратору, который синтезирует всё в единый связный SITREP. При этом агенты не бродят вслепую — их ведёт «навык расследования» с подробными markdown-справочниками под каждый класс багов. Например, для багов «расхождения теней» (shadow divergence) есть скилл на 617 строк, который кодирует буквально каждый шаг типичного расследования — Малхотра собрал его, разбирая один из инцидентов вместе с Claude по шагам, а потом попросил модель самостоятельно оформить это в файл.

Отдельную роль играет lessons.md — постоянно растущий журнал всех решённых инцидентов: что случилось, какая была причина, какой фикс сработал и какая деталь оказалась неочевидной ловушкой. Claude сам дописывает туда новые записи, и каждое новое расследование начинается с чтения этого файла — так первая гипотеза сразу опирается на то, что происходило недавно. Если один и тот же паттерн повторяется достаточно часто, его переносят прямо в основной навык расследования. Любимая запись Малхотры — та, что Claude написал про него самого, после того как он сделал вывод из конфига раньше, чем проверил метрики: теперь в lessons.md написано «сначала смотри данные, потом теоретизируй. Конфиг говорит, что могло пойти не так; метрики — что пошло не так на самом деле».

Оркестратор запускает субагентов-исполнителей для параллельного расследования. Источник: Anthropic

Даже с такими инструментами Claude не всегда прав с первой попытки — человеческая интуиция и опыт всё ещё важны. Claude Tag превращает расследование в режим «на два игрока»: любой из команды может в реальном времени поправить гипотезу или добавить свою.

Совет

Если хочешь разобраться, как агенты Claude вызывают внешние инструменты и API — почитай про tool use в API Claude. Это тот же принцип, что лежит в основе субагентов-исполнителей из этой истории.

Резолюция: может ли Claude ещё и починить проблему

Если Claude умеет эскалировать и расследовать алерты, логичный вопрос — может ли он и фиксить их? Ответ зависит от команды, но у CI-команды Anthropic это устроено так. Большинство деплоев в команде идёт за фича-флагами, и для этого создан отдельный агент в Claude Code, работающий с правами инженера, способный делать прогрессивный деплой за каждым таким флагом.

Первый этап раскатки обычно включает управление канареечным трафиком: Claude мониторит проблемы и автоматически поднимает или опускает долю трафика на фича-флаге. Помимо этого, Claude помогает команде:

  • сообщать, нужно ли осушить или изолировать (cordon) часть кластера Kubernetes;
  • давать инструкции, как масштабировать инфраструктуру при всплеске нагрузки — это редкий, но очень полезный кейс, когда Claude сразу приходит с готовым планом смягчения;
  • и чаще всего — присылать готовый фикс в виде пул-реквеста, который дежурный может просмотреть, смержить и задеплоить для быстрого закрытия инцидента.

Верификация, коммуникация и передача смены

После фикса Claude использует те же MCP-коннекторы и инструменты, что и на этапе расследования, — чтобы убедиться, что фикс действительно сработал. Согласно постоянным инструкциям в oncall.md, он пишет пост-мортем в lessons.md и готовит sitrep для передачи смены.

Чтобы у всей компании была общая картина по нескольким инцидентам сразу, команда создала отдельного агента ci-weather. Он собирает информацию из каждого Slack-канала инцидента, метрик сборки, статистики очереди мержей и задержек деплоя, а затем публикует отчёт в стиле новостной сводки в один общий канал, доступный всем в компании. Теперь инженерам не нужно писать команде CI напрямую с вопросом «что не так с CI?» — достаточно заглянуть в канал.

Честное признание автора: формат этого отчёта пришлось несколько раз переделывать. Claude способен с одного раза набросать скилл, генерирующий статус-отчёт, но читаемым его делает именно командный вкус — это человеческая коммуникация, а не просто «сантехника».

Публичный канал с новостной сводкой по инцидентам CI для всей компании. Источник: Anthropic

Помимо личного журнала в lessons.md, каждый понедельник Claude готовит и отчёты для людей — ежедневные и еженедельные сводки, чтобы один член команды мог легко подхватить смену у другого.

От мониторинга инцидентов к мониторингу самой системы реагирования

Инженеры Anthropic в среднем выпускают в 8 раз больше кода за квартал, чем в период с 2021 по 2025 год. При этом планку качества держат высоко: у каждого PR есть именованный владелец-человек, каждое изменение требует апрува, каждое изменение проходит один и тот же набор проверок CI. Единственный способ не отставать от агентного написания кода — это агентный CI.

Claude забрал на себя самую утомительную часть работы: внеурочные срывы и коммуникацию по инцидентам, — оставив инженерам время на архитектурные изменения среднего и долгого горизонта, которые действительно повышают надёжность системы. Лучшая часть этой конструкции в том, что она не выглядит разрозненной: процессы дежурства и раньше жили в Slack, просто теперь там появился ещё один участник канала.

Похожий подход в другой команде

О том, как аналогичная идея «агента прямо в рабочем канале» устроена в аналитике, можно почитать в истории про Claude Tag в Slack и аналитику Anthropic.

Если хочешь разобраться, как вообще выбирать между простым скриптом и полноценным агентом для своей задачи — у нас есть отдельный разбор в бесплатном курсе по терминалу и Claude Code, который поможет освоить базовые инструменты, лежащие в основе таких систем.

Частые вопросы

Что вообще такое Claude Tag в этом контексте?

Claude Tag — это способ добавить Claude как участника в Slack-канал, где он получает память по переписке, реагирует на события в реальном времени и выполняет заданные по расписанию рутины. В истории Anthropic именно он стал «дежурным», подключённым к каналу CI-инцидентов.

Какие права нужны Claude, чтобы всё это работало?

У Claude Tag создан отдельный служебный аккаунт с доступом к тем же инструментам, которыми пользуется инженер CI: Grafana, Datadog, лог-хранилище, PagerDuty, GitHub, Kubernetes. Доступы настраивает администратор канала один раз, а для внесения фиксов используется отдельный агент в Claude Code с правами инженера.

Может ли Claude сам починить сбой без участия человека?

Отчасти да: чаще всего Claude присылает готовый пул-реквест, который дежурный проверяет и сам решает, мержить и деплоить или нет. Также Claude может управлять раскаткой за фича-флагами и советовать, как масштабировать инфраструктуру, но окончательное решение всегда остаётся за человеком.

Сколько времени занимает настройка такого дежурного агента?

По словам автора статьи, настройка заняла часы, а не дни. Anthropic выложила готовый setup kit на GitHub, который превращает историю инцидентов команды в плейбуки для триажа и разворачивает Claude с правами только на чтение в канале инцидентов.

Дежурство по CI/CD — не самая любимая часть работы почти любого инженера, и история Anthropic показывает, что рутину детекта, расследования и черновика фикса вполне можно передать агенту, оставив людям финальное решение и коммуникацию с командой. Если в твоей команде уже есть Slack-канал для инцидентов и набор инструментов вроде Grafana или GitHub — это тот случай, когда агент подключается не поверх процесса, а прямо внутрь него.

Если хочешь попробовать всё это руками — начни с бесплатного курса «Claude с нуля».

Источник

По мотивам статьи Anthropic «Claude on call: How Claude Tag serves as Anthropic's first responder for CI/CD failures». Пересказали по-русски для новичков.

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

Попробуй на практике

Бесплатные интерактивные курсы по теме — прямо в браузере, с нуля.