Skip to content
kobiakov.dev
ИИ и Инструменты

Aimash — ИИ-менеджер Google Ads (Telegram)

Telegram-бот, который управляет Google Ads обычным языком — но никогда сам по себе. Любое изменение бюджета, ставки или ключей показывается как разница «было → станет» и выполняется только после твоего подтверждения. Мультимодельный ИИ, подбор ключевых слов, тексты объявлений RSA и глубокие отчёты .xlsx / Google Sheets — продакшн-проект для клиента: ~110 тыс. строк Python и 2 030 автотестов за этим чатом.

Сроки

2025

Роль

Ведущий инженер

Confirm-gate

Every change

Swappable

AI models

~21k LOC

Codebase

Инженерный результат

Ads tasks in seconds via chat · zero unapproved changes

Честный итог

Confirm-gate на каждое изменение · полный журнал действий · 2 030 тестов

Проблема

Вести Google Ads вручную медленно и легко ошибиться, а большинство «ИИ»-инструментов оптимизируют автономно — они тратят реальные деньги до того, как ты успеешь проверить. Рекламодателям нужна скорость автоматизации без потери контроля над бюджетом.

Вызов

Построить ИИ-ассистента, который выполняет работу с Google Ads из чата на естественном языке (RU/EN), но оставляет контроль человеку: каждое изменение показывается как «было → станет» и подтверждается, все секреты остаются зашифрованными, и ничто не может случайно затронуть живой аккаунт.

Решение

Aimash — бот на Python 3.12 / aiogram, подключённый к Google Ads API на уровне MCC. LLM через OpenRouter разбирает команды в типизированные Pydantic-вызовы инструментов; чтения выполняются сразу, а любая запись становится черновиком в PostgreSQL с разницей «было → станет» и кнопками ✅/❌ — выполняется только после подтверждения и пишется в журнал. Плюс подбор ключевых слов с ИИ-кластеризацией по интенту, тексты RSA с поэлементной проверкой и глубокие отчёты со сравнением периодов в Excel или Google Sheets. Даже модель выбрана по замерам: A/B-бенчмарк в репозитории показал DeepSeek ≈ Claude по function-calling при ~13× меньшей цене, с Claude как автоматическим фолбэком.

Возможности вживую

Посмотри, что умеет бот

Точная реконструкция интерфейса Aimash на основе реальных сообщений бота в Telegram. Любое изменение сначала предлагается, показывается как «было → станет» и выполняется только после твоего подтверждения.

Telegram

aiogram 3 · чат RU/EN

LLM-роутер

OpenRouter · DeepSeek, фолбэк Claude

Схемы инструментов

Pydantic · allow-list в коде

Confirm-gate

одноразовый confirmation_id · ✅ / ❌

Google Ads API

v24 · уровень MCC

Каждый запрос проходит через типизированные схемы и confirm-gate, прежде чем коснуться живого аккаунта — четыре постоянных предохранителя следят за каждым шагом.

Fail-closed allow-list аккаунтов 3-слойная редакция секретов Журнал действий в PostgreSQL Квота-гейт API на 95 %

Говори со своим аккаунтом

Команды обычным языком — статистика, отчёты и изменения, без дашбордов.

A
Aimashbot · online
Ты
show me stats for the last 30 days
Aimash · бот
📊 Account …8841 · 30 d. Impressions: 128 400 Clicks: 5 312 (CTR 4.14%) Cost: 4 187.20 Avg. CPC: 0.79 Conversions: 213 Value: 18 940.00

Confirm-gate на каждое изменение

ИИ предлагает разницу «было → станет» и ждёт твоего ✅. Без него ничего не меняется.

A
Aimashbot · online
Ты
raise the Search Spring budget by 20%
Aimash · бот
📝 Draft change Campaign "Search Spring" — budget: 50.00 → 60.00 (+20%) Confirm?
Aimash · бот
✅ Done. Budget updated → 60.00
Подтвердить Отмена

ИИ-тексты объявлений (RSA)

Генерирует заголовки и описания в рамках лимитов Google, с поэлементной проверкой.

A
Aimashbot · online
Ты
/rsa Search Spring
Aimash · бот
✍️ Headline 3/8 · 27/30 · ✅ approved "Same-day flower delivery" 📋 Search Spring / Bouquets
Aimash · бот
📋 RSA curation summary Headlines approved: 5/8 Descriptions approved: 3/4 ✅ ready to create

Подбор ключевых слов

Объёмы запросов и ИИ-кластеры по интенту, экспорт в .xlsx.

A
Aimashbot · online
Ты
/keywords flower delivery
Aimash · бот
🔍 Keywords — flower delivery Ideas: 312, clusters: 7 Transactional (24) • buy flowers online — 8 100/mo • order roses delivery — 4 400/mo Commercial (18) • flower delivery near me — 6 600/mo …full table in the .xlsx

Глубокие отчёты

Сравнение периодов, экспорт в Excel или Google Sheets.

A
Aimashbot · online
Ты
/export 30
Aimash · бот
📈 Deep report · 30 d vs prev 30 d Cost: 4 187 → 3 910 −6.6% Conv: 188 → 213 +13% CPA: 22.27 → 18.34 −18%
report.xlsxGoogle Sheets

Технические особенности

Confirm-gate architecture: the AI proposes a before → after diff for every mutation and only executes after an explicit "yes" — no autonomous spending

Multi-model LLM via OpenRouter (DeepSeek / Claude / GPT-4o) — the model is swappable per task, never locked to one vendor

Pydantic tool schemas: the model fills typed forms that are validated before any Google Ads call — it can never invoke arbitrary SDK methods

Full audit log: who, when, what, before → after and the result of every action are persisted in PostgreSQL

Secrets encrypted at rest (Fernet); tokens never appear in code, logs or stderr; fail-closed account allow-list

Keyword research via the Keyword Plan API with AI intent-clustering, plus RSA ad-copy with per-element review and .xlsx / Google Sheets reports

Архитектура системы

Python 3.12 · aiogram 3.x (async bot)

OpenRouter (multi-model LLM)

Google Ads API v24 (GAQL + mutations)

SQLAlchemy + Alembic + PostgreSQL

Pydantic tool schemas (function calling)

APScheduler (reports & anomaly alerts)

openpyxl + Google Sheets API

Fernet-encrypted secrets · audit log

Docker + GitHub Actions CI (ruff · mypy · pytest)

Ключевые технологии

Python 3.12aiogram 3.xGoogle Ads APIOpenRouter LLMPostgreSQL
Share: