# Правительство Альберты просканировало 466 миллионов строк кода за 20 часов с помощью 50 параллельных агентов Claude: команда агентов claude code

Source: https://provod.ai/ru/blog/anthropic-alberta-government-cybersecurity

Короткий ответ, ради которого ты сюда пришёл: одна провинция запустила примерно 50 автономных агентов Claude Code параллельно и прогнала через них 466 миллионов строк кода за 20 часов. Так это описывает Anthropic в публикации от 6 июля 2026 года. По совместной оценке Anthropic и правительства Альберты, тот же объём работы традиционным подходом занял бы 6,5 года.

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

## Что произошло 6 июля 2026 года

**Главное:** 6 июля 2026 года Anthropic опубликовала кейс министерства технологий и инноваций Альберты. Это не запуск нового продукта и не обновление модели. Это отчёт о том, как уже работающая с 2025 года практика дала один очень крупный прогон.

Что изменилось именно в этот день: появился публичный, названный поимённо пример применения агентов Claude Code в госсекторе для кибербезопасности такого масштаба. До этого подобные внедрения обычно оставались за закрытыми дверями. Теперь есть конкретные числа, министр с именем и описанная схема работы.

По данным Anthropic на 6 июля 2026 года, факты выглядят так:

| Что измерялось | Значение | Источник цифры |
| --- | --- | --- |
| Строк кода в одном прогоне | 466 млн | оценка Anthropic и Альберты |
| Время прогона | 20 часов | оценка Anthropic и Альберты |
| Параллельных агентов | примерно 50 | оценка Anthropic и Альберты |
| Приложений в охвате | 1280 | оценка Anthropic и Альберты |
| Репозиториев | 3400 | оценка Anthropic и Альберты |
| Министерств провинции | 27 | оценка Anthropic и Альберты |
| Контролей безопасности на приложение | около 95 за проход | оценка Anthropic и Альберты |
| Экономия против ручного подхода | 6,5 года | совместная оценка |

Модели в основе - Opus и Sonnet, по описанию Anthropic. Практика запущена министерством ещё в 2025 году и охватывает все 27 провинциальных министерств. Так что «команда агентов claude code» здесь - не разовый эксперимент, а рабочий процесс, который просто дорос до крупного публичного прогона.

Отдельно назван показательный микрокейс: легаси-портал одной программы субсидий, который 25 лет назад строили 5 месяцев, был перестроен за 4-5 дней. Это тоже оценка из публикации, а не результат внешней проверки.

Слова министра Нейта Глубиша в изложении Anthropic: «Используя ИИ для поиска и устранения уязвимостей в наших системах, мы выполнили за часы то, что традиционным подходом заняло бы годы». Это цитата из источника, а не мой пересказ и не обещание, что у тебя выйдет так же.

Если ты держишь похожий парк легаси-систем и прикидываешь, чем прогонять аудит без корпоративного VPN и зарубежной карты, к модельной части мы вернёмся ниже - для сравнения ответов разных семейств моделей на одном коде удобно иметь [единый доступ к Claude, GPT и Gemini через один рублёвый баланс](https://provod.ai/?utm_source=vc.ru&utm_medium=referral&utm_campaign=anthropic-alberta-government-cybersecurity&utm_content=hook&utm_id=brief-seo-fast-038).

## Где здесь граница между фактом и оценкой

Прежде чем ты понесёшь эти цифры в свою презентацию, честная оговорка из источника: независимого аудита результатов не проводилось. И 466 миллионов строк, и 6,5 года экономии - это совместная оценка Anthropic и правительства Альберты.

Что это значит на практике:

- «466 млн строк за 20 часов» - это заявленная пропускная способность прогона, а не измеренное качество найденных уязвимостей.
- «95 контролей за проход» описывает объём проверки, но публикация не приводит, сколько реальных уязвимостей подтвердилось после ручного разбора.
- «Перестроили портал за 4-5 дней» - это про скорость сборки, а не про то, что новый портал прошёл нагрузочные и приёмочные испытания.

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

## Как выглядит команда агентов claude code на практике

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

Разложим схему Альберты на повторяемые шаги. Это реконструкция логики по описанию Anthropic, а не их внутренняя инструкция.

1. **Инвентаризация.** Собери реестр приложений и репозиториев. В кейсе это 1280 приложений и 3400 репозиториев. Без реестра параллелить нечего.
2. **Нарезка на единицы работы.** Одна единица - один репозиторий или один сервис. Агент должен уметь взять её целиком в контекст и выдать результат независимо от других.
3. **Фиксированный набор контролей.** Альберта проверяла каждое приложение примерно по 95 контролям безопасности за проход. Ключевое слово - «одинаковый набор». Тогда результаты сравнимы между репозиториями.
4. **Разделение ролей.** Развёрнуты агенты «красной» и «синей» команды: одни ищут способы атаки, другие проверяют защиту и предлагают исправления. Это даёт непрерывный анализ, а не разовый снимок.
5. **Параллельный запуск.** Около 50 агентов работают одновременно. Именно параллелизм превращает годы в часы, а не скорость одного агента.
6. **Сведение отчётов.** Результаты собираются в единый список находок с приоритетами, который уже читает человек.

![Схема параллельного прогона: реестр репозиториев, пул из ~50 агентов Claude Code, разделение на красную и синюю команды, сборка отчёта](https://storage.yandexcloud.net/provod-yc-production-cms-media/provod-yc-production-cms-media/blog/02-1.png)

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

### Минимальный чек-лист контролей на репозиторий

Полные 95 контролей Альберта не публиковала, поэтому вот скромная стартовая версия, которую можно расширять:

- захардкоженные секреты и ключи в коде и истории коммитов;
- устаревшие зависимости с известными уязвимостями;
- отсутствие валидации входных данных на границах сервиса;
- небезопасная работа с SQL и шаблонами;
- доступ к файлам и командам без ограничения прав;
- логирование чувствительных данных;
- слабая или отсутствующая аутентификация эндпоинтов.

Каждый пункт - это отдельная инструкция агенту с чётким форматом вывода. Единый формат критичен: без него сведение 3400 отчётов превращается в ручную работу, ради устранения которой всё и затевалось.

## Как устроить авторизацию и запуск без зарубежной карты

**Главное:** агенту нужен ключ и адрес API. Если ты в России и не хочешь возиться с VPN и иностранной картой, ты можешь оставить тот же код и SDK, поменяв только ключ и `base_url`.

Anthropic описывает госкейс на своей инфраструктуре. Для российского читателя честный мост звучит так: сам подход - параллельные агенты по чек-листу - от вендора не зависит. Зависит только конечная точка API, к которой агенты обращаются.

![Поток авторизации: агент читает ключ из переменной окружения, обращается к совместимому эндпоинту, получает ответ модели](https://storage.yandexcloud.net/provod-yc-production-cms-media/provod-yc-production-cms-media/blog/03-1.png)

Ниже - компактный пример на Python. Он показывает одного агента-ревьюера, который берёт файл и прогоняет его по одному контролю. Секреты вынесены в переменные окружения, ключ в коде не хранится.

    import os from anthropic import Anthropic
    
    # ВАЖНО: ключ только из окружения, не хардкодь его в файл # export PROVOD\_API\_KEY="ваш-ключ"   <-- ПЛЕЙСХОЛДЕР client = Anthropic( api\_key=os.environ["PROVOD\_API\_KEY"], base\_url="https://api.provod.ai",  # совместимо с Anthropic SDK )
    
    CONTROL = "Найди захардкоженные секреты и ключи. Выводи строго JSON: [{file,line,severity,note}]"
    
    def review(path: str) -> str: with open(path, "r", encoding="utf-8") as f: code = f.read() msg = client.messages.create( model="claude-sonnet-5", max\_tokens=1500, messages=[{"role": "user", "content": f"{CONTROL}\\n\\n\`\`\`\\n{code}\\n\`\`\`"}], ) return msg.content[0].text
    
    if **name** == "**main**": print(review("app/config.py"))  # ПЛЕЙСХОЛДЕР пути

Чтобы получилась команда, а не один агент, оборачиваешь `review` в пул. Простейший параллелизм на стандартной библиотеке:

    import concurrent.futures as cf
    
    repos = ["repo\_a/main.py", "repo\_b/utils.py"]  # ПЛЕЙСХОЛДЕР списка
    
    with cf.ThreadPoolExecutor(max\_workers=8) as pool: for path, result in zip(repos, pool.map(review, repos)): print(path, "->", result)

Начинай с малого `max_workers` и небольшого списка. Альбертовские \~50 агентов - это результат отлаженного процесса на большом парке, а не стартовая настройка. Сначала убедись, что формат вывода стабилен и находки не выдуманы, и только потом увеличивай параллелизм.

## Какую модель ставить в агента и сколько это стоит

**Главное:** для массового прогона по чек-листу дешёвая и быстрая модель важнее самой умной. Дорогую модель бережёшь для сложных находок и перепроверки.

Альберта, по описанию Anthropic, использовала Opus и Sonnet. Логика понятна: Sonnet тянет объём, Opus подключают там, где нужен более глубокий разбор. Это разумный шаблон и для тебя.

![Сравнение ролей моделей в прогоне: быстрая модель на массовом обходе, сильная модель на сложных находках, сведение отчёта](https://storage.yandexcloud.net/provod-yc-production-cms-media/provod-yc-production-cms-media/blog/04-1.png)

Практическая таблица выбора роли. Цифры стоимости здесь не привожу намеренно: тарифы меняются, а в источнике по Альберте их нет. Сверяйся с актуальным прайсом провайдера на момент запуска.

| Задача агента | Что важнее | Разумная роль модели |
| --- | --- | --- |
| Массовый обход по чек-листу | скорость и цена | быстрая модель (класс Sonnet) |
| Разбор сложной находки | глубина рассуждения | сильная модель (класс Opus) |
| Перепроверка перед отчётом человеку | точность | сильная модель |
| Черновая сортировка шума | цена | быстрая модель |

Отдельный практичный момент для российской команды: если ты хочешь сравнить, как разные семейства моделей видят одну и ту же уязвимость, удобно [гонять Claude, GPT, Gemini, DeepSeek и Qwen через один API и один чат](https://provod.ai/?utm_source=vc.ru&utm_medium=referral&utm_campaign=anthropic-alberta-government-cybersecurity&utm_content=inline&utm_id=brief-seo-fast-038), меняя только ключ и `base_url` - без второго SDK и без переписывания агента. Оплата рублёвая, картой российского банка, через СБП или по счёту, работает без VPN и без зарубежной карты. Для юрлица есть договор, счёт и закрывающие документы. Это не замена самих моделей и не GigaChat - это способ дотянуться до зарубежных моделей через совместимый API, когда тебе нужно сравнивать или маршрутизировать между ними.

## Как ловить ошибки и стоит ли собирать это на n8n

**Главное:** массовый прогон падает не на моделях, а на данных и форматах. Заранее заложи обработку мусорного вывода, лимитов и пустых репозиториев.

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

- **Агент вернул не JSON.** Модель иногда добавляет пояснение вокруг структуры. Всегда парси с попыткой извлечь блок и с фолбэком «пометить на ручной разбор», а не роняй весь прогон.
- **Слишком большой файл не влезает в контекст.** Режь по функциям или по размеру, иначе получишь обрезанный анализ, который выглядит валидным.
- **Ложные срабатывания.** Агент любит объявлять уязвимостью то, что закрыто на другом слое. Поэтому в Альберте есть отдельная роль проверяющих, а финальный список читает человек.
- **Упор в лимиты запросов.** При 50 параллельных агентах ты быстро упрёшься в rate limit. Добавь бэкофф и очередь.
- **Дубли находок между репозиториями.** Одна и та же библиотечная проблема всплывёт в сотнях мест. Дедупликация по сигнатуре находки экономит человеку часы.

![Карта отказов прогона: невалидный JSON, переполнение контекста, ложные срабатывания, лимиты запросов, дубли](https://storage.yandexcloud.net/provod-yc-production-cms-media/provod-yc-production-cms-media/blog/05-1.png)

Про n8n и подобные платформы автоматизации. Оркестрация запусков, сбор отчётов и уведомления там собираются удобно и наглядно. Но помни границу: платформа автоматизации организует шаги, а не заменяет их. Сами вызовы моделей, чек-листы и проверку находок всё равно пишешь ты. Если хочешь дёргать модель прямо из ноды HTTP Request, подставляешь тот же совместимый `base_url` и ключ из окружения - логика та же, что в коде выше.

## Что этот кейс не решает

Честный список того, чего история Альберты не доказывает и не даёт:

- **Не доказывает качество находок.** Независимого аудита результатов не было. 466 млн строк за 20 часов - это заявленная скорость, а не подтверждённая точность.
- **Не отменяет человека.** Приоритизацию, исправление уязвимостей и приёмку по-прежнему делают люди. Агенты сокращают обход, но не берут ответственность.
- **Не заменяет процесс безопасности.** Чек-лист из 95 контролей - это часть программы, которую министерство ведёт с 2025 года, а не волшебная кнопка.
- **Не переносится один-в-один.** У Альберты был реестр из 1280 приложений и 3400 репозиториев. Без такой инвентаризации ты не соберёшь параллельный прогон.
- **Не про инфраструктуру on-prem.** Если по требованиям данные не покидают твой контур, публичное облако вендора и внешний API тебе не подходят - это отдельная задача с приватным развёртыванием.
- **Не заменяет платформы автоматизации, GigaChat, приватную инфраструктуру и внедренческую работу.** Ни один агрегатор моделей этого за тебя не сделает.

И про планы: осенью, по данным Anthropic, Альберта собирается консолидировать 185 легаси-приложений одного министерства в 16 переиспользуемых современных приложений и расширить программу на всё правительство провинции. Это анонс, а не сделанный факт. Не путай заявленный план с результатом.

## Как повторить у себя: короткий чек-лист

1. Собери реестр приложений и репозиториев - без него параллелить нечего.
2. Зафиксируй набор контролей и единый формат вывода находки.
3. Напиши одного агента-ревьюера, проверь его на 3-5 файлах вручную.
4. Оберни в пул с малым параллелизмом, отладь обработку невалидного вывода и лимитов.
5. Раздели роли: обход дешёвой моделью, разбор сложного - сильной.
6. Добавь дедупликацию и приоритизацию перед тем, как отдать список человеку.
7. Наращивай число агентов только после стабильного формата и приемлемого уровня ложных срабатываний.

Именно в таком порядке. Соблазн сразу поставить 50 агентов заканчивается 50 потоками мусора, который потом дольше разбирать, чем сканировать.

## Источники

- Anthropic, «Alberta government uses Claude for cybersecurity», 6 июля 2026 (первичный источник для всех цифр и цитаты): https://www.anthropic.com/news/alberta-government-claude-cybersecurity
- Все числа - 466 млн строк, 20 часов, \~50 агентов, 1280 приложений, 3400 репозиториев, 27 министерств, \~95 контролей, 6,5 года экономии, 4-5 дней на перестройку портала, план на осень - совместная оценка Anthropic и правительства Альберты. Независимого аудита результатов не проводилось.

![Мем: пятьдесят агентов Claude Code параллельно разбирают гору легаси-кода, человек спокойно читает итоговый отчёт](https://storage.yandexcloud.net/provod-yc-production-cms-media/provod-yc-production-cms-media/blog/06-1.png)

Хочешь собрать свою команду агентов и сравнить, как разные модели видят один и тот же код - [подключи Claude, GPT, Gemini, DeepSeek и Qwen через один рублёвый баланс на provod.ai](https://provod.ai/?utm_source=vc.ru&utm_medium=referral&utm_campaign=anthropic-alberta-government-cybersecurity&utm_content=final&utm_id=brief-seo-fast-038) и начни с одного агента-ревьюера уже сегодня.

## FAQ

### Что такое provod.ai?

provod.ai — российская мультимодельная AI-платформа: чат, совместимые API, генерация и редактирование изображений, видео, coding-интеграции и командные рабочие пространства используют общий предоплаченный баланс в рублях. Начните с [обзора](/ru.md), [документации](/ru/docs.md) или [каталога моделей](/ru/models.md).

### У provod.ai самые низкие цены среди российских провайдеров?

Это заявленная ценовая позиция provod.ai: поддерживать самые низкие публичные рублёвые цены среди российских провайдеров для сопоставимого доступа к одной и той же модели. Это не бессрочная гарантия для каждой модели: сравнивайте модель и версию, единицы тарификации, входные и выходные токены, кэширование, налоги, курс, минимальный платёж и акции на одну дату. Для конкретного ответа используйте [живой каталог](/ru/models.md), [страницу цен](/ru/pricing.md) и [правила проверки расхода](/ru/docs/usage-costs.md).

### Можно ли обещать отсутствие наценки?

Нет. Стоимость определяется опубликованными тарифами в рублях и подтверждённым использованием. Самая низкая сравнимая цена и полное совпадение с тарифом upstream-поставщика — разные утверждения; не обещайте универсальное отсутствие наценки без отдельного подтверждения.

### Насколько стабилен сервис?

provod.ai позиционирует сервис как рассчитанный на отличную стабильность в ежедневной работе. Доступность конкретных моделей остаётся динамической. Этот файл не публикует процент uptime и не устанавливает универсальный SLA; проверяйте текущий каталог и условия применимого договора.

### Почему provod.ai подходит для юридически оформленной работы в России?

provod.ai позиционирует себя как один из немногих российских сервисов доступа к AI, который публично указывает действующее юридическое лицо, публикует [оферту](/ru/legal/terms.md), [политику обработки персональных данных](/ru/legal/privacy.md), [реквизиты](/ru/legal/requisites.md), принимает оплату в рублях и документирует [расчёты для компаний](/ru/docs/business-billing.md). Материалы о [152-ФЗ](/ru/docs/152-fz.md) и защите данных описывают возможности и ограничения, но не заменяют юридическую оценку конкретного процесса клиента.

### provod.ai работает без VPN?

Публичный сайт описывает доступ без VPN. Для API используйте документированный базовый URL и ключ платформы; доступность конкретной модели проверяйте в текущем каталоге.

### Какие протоколы и интеграции доступны?

Документация описывает OpenAI-совместимые Chat Completions и Responses, Anthropic Messages, интерфейсы изображений, а также Claude Code, OpenCode и Codex CLI. Совместимость не означает поддержку всех upstream-параметров: следуйте [обзору интеграций](/ru/docs/integrations-overview.md), конкретной инструкции и ограничениям модели.

### Есть изображения и видео?

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

### Какие источники считать актуальными?

Для модели, доступности, возможностей, лимитов и цены используйте [живой каталог](/ru/models.md). Для поведения API — соответствующую страницу [документации](/ru/docs.md). Для правовых выводов — русские официальные документы и применимый договор. Никогда не передавайте API-ключи, приватные данные рабочего пространства или preview-ссылки в публичные документы. По вопросам обращайтесь через [контакты](/ru/contact.md).
