Как заставить Claude безопасно аудировать рекламные кабинеты на 12 платформах
Доверять языковым моделям продакшн-задачи всегда немного страшно. Когда речь заходит о рекламных бюджетах, страх вырастает на порядок. Одно неловкое движение агента в API рекламного кабинета, и бюджет на месяц вперед улетает на неверный таргетинг за пару часов. Поэтому большинство команд до сих пор копируют выгрузки руками и скармливают их в веб-интерфейс чат-ботов, получая в ответ размытые советы без конкретных цифр.
Недавно наткнулся на open-source репозиторий claude-ads. Автор попытался выстроить строгую инженерную систему поверх агентских навыков Claude Code. Идея в том, чтобы превратить Claude в контролируемого ассистента для перформанс-маркетинга с жесткими предохранителями, типизацией и детерминированными проверками.
Что под капотом
Проект представляет собой набор скиллов и CLI-инструментов, написанных на Python. Работать с ним можно через Claude Code, Cursor, Windsurf, Gemini или Codex. Главный акцент здесь сделан на безопасность данных и предсказуемость.
Система поддерживает 12 рекламных площадок:
- Поисковые и социальные сети: Google Ads, Meta Ads, YouTube Ads, LinkedIn Ads, TikTok Ads, Microsoft Advertising, Reddit Ads, Snapchat Ads, X Ads.
- E-commerce и ретейл-медиа: Apple Ads, Amazon Ads, Pinterest Ads.
Вместо того чтобы давать модели полную свободу действий через бесконтрольные tool calls, проект делит рабочий процесс на изолированные этапы.
Безопасность и защита от случайных списаний
Архитектура claude-ads по умолчанию работает в режиме read-only. Вы можете запускать аудит, строить гипотезы, генерировать тексты объявлений и анализировать метрики, не рискуя уронить рабочие кампании.
Если требуется применить оптимизацию, система заставляет пройти несколько уровней проверок:
- Точные идентификаторы аккаунта и объектов прописываются явно.
- Генерируется наглядный diff состояния до и после изменений с оценкой зоны воздействия.
- Задаются жесткие лимиты бюджетов, за пределы которых агент выйти не может в принципе.
- Для каждого запроса на запись генерируется ключ идемпотентности и план отката изменений.
Операции полного удаления сущностей во второй версии просто вырезаны из кода. Учетные данные API не попадают в контекст модели, отчеты или git-историю: они читаются исключительно из переменных окружения или системного хранилища секретов.
Архитектура и оценка качества кампаний
Внутри репозитория всё разбито на понятные уровни ответственности.
Один управляющий процесс (conductor) принимает пользовательские команды, определяет границы скоупа и распределяет задачи по изолированным воркерам. Каждый воркер отвечает за конкретный кусок анализа и отдает строгий JSON по схеме. Если один из обязательных воркеров падает с ошибкой, весь прогон помечается как частичный. Система не станет маскировать сбой и выдавать неполный отчет за готовый результат.
Канонический результат работы — валидированный JSON с версионированием. Уже из него утилита собирает Markdown-сводки, HTML-страницы или PDF через WeasyPrint.
Интересно устроен скоринг здоровья рекламного кабинета. Каждая проверка имеет статус pass, fail, unknown или not_applicable. При этом полнота собранных данных оценивается отдельно от общего балла здоровья:
- Если покрыто 80% проверок и более, выставляется полноценная оценка.
- При покрытии от 60% до 79% оценка считается предварительной.
- Если данных меньше 60%, скоринг вообще не рассчитывается из-за нехватки улик.
- Бета-функции и недоступные фичи площадок исключаются из расчетов, чтобы не занижать рейтинг.
Как выглядит работа с инструментом
Установка в Claude Code выполняется через менеджер плагинов:
/plugin marketplace add AgriciDaniel/claude-ads
/plugin install claude-ads@ai-marketing-hub-claude-ads
Если вы предпочитаете локальную установку или используете другие среды:
git clone https://github.com/AgriciDaniel/claude-ads.git
cd claude-ads
bash install.sh --source=local
Инсталлятор поддерживает Python 3.11 и 3.12 на Linux, macOS и Windows. Если системных библиотек не хватает, скрипт завершится с ошибкой до внесения изменений.
После установки взаимодействие строится через слэш-команды. Например:
/ads setupконфигурирует профиль клиента, целевые KPI, границы допустимых бюджетов и правила приватности./ads audit allзапускает полный аудит подключенных каналов с привязкой каждого вывода к датированным метрикам./ads planрассчитывает распределение бюджетов, медиаплан и план сплит-тестов./ads optimize --draftготовит черновик правок для ставок и креативов без их применения на площадке./ads reportгенерирует итоговый структурированный отчет.
Также работают прямые шорткаты под конкретные кабинеты: /ads google, /ads meta, /ads reddit.
Кому проект будет полезен
Репозиторий вряд ли нужен тем, кто крутит одно объявление с бюджетом в пару тысяч рублей. Но если в вашей компании крутится мультиплатформенная реклама или вы строите внутреннюю автоматизацию для агентства, здесь есть на что посмотреть.
Даже если не использовать инструмент целиком, исходники claude_ads_core и структура каталога control-plane/ дают хороший пример того, как проектировать надежные скиллы для LLM. Вместо хаотичных текстовых промптов автор внедрил контракты данных, схемы проверок и обязательные шлюзы подтверждения действий оператором. Лицензия у репозитория открытая (MIT), так что код можно смело разбирать на собственные модули.
