AiDevTeam | Команда Ильи

Коммерческое предложение
Проект «Альфа»

AI-платформа массовой лидогенерации для партнёрской программы Альфа-Банка

Версия 1.014.03.2026

Коммерческое предложение: Проект «Альфа»

AI-платформа массовой лидогенерации для партнёрской программы Альфа-Банка


Версия: 1.0 (черновик — ожидает ответов клиента) Дата: 14.03.2026 Клиент: Команда Ильи Подготовил: AiDevTeam


Содержание

Часть I: Коммерческое предложение

  1. О проекте
  2. Текущие процессы и боли
  3. Архитектура решения
  4. Функциональные блоки
  5. Пакеты услуг
  6. Сравнение пакетов
  7. Наша рекомендация
  8. Бизнес-выгоды (ROI)

Часть II: Техническое задание

  1. Границы MVP
  2. Компоненты системы
  3. Модель данных
  4. API-спецификация
  5. Пользовательские сценарии
  6. Команда проекта
  7. Дорожная карта и план спринтов
  8. Предварительные исследования
  9. Стратегия тестирования
  10. Развёртывание и инфраструктура
  11. Критерии приёмки
  12. Нефункциональные требования

Часть III: Коммерческие условия

  1. Как мы работаем
  2. Условия оплаты
  3. Ежемесячные расходы
  4. Риски и митигация
  5. Гарантии
  6. Требования к клиенту
  7. Что не входит
  8. Открытые вопросы
  9. Перспективы развития
  10. Глоссарий
  11. Следующие шаги

1. О проекте

Проект «Альфа» — AI-платформа массовой лидогенерации для привлечения ИП, ООО и самозанятых к открытию расчётного счёта (РКО) в Альфа-Банке через партнёрскую программу.

Модель монетизации: CPA — 9 000–11 000 руб. за каждый открытый расчётный счёт.

Оффер для клиентов банка: бесплатное РКО, расширенный пакет услуг, карта Alfa Only для ЛПР.

Целевой масштаб:

Этап Звонков/день Каналы
MVP (запуск) 500–2 000 Голосовой AI
Рост 2 000–5 000 + Telegram
Масштаб 5 000–10 000 + предиктивный дайлинг

Регуляторный контекст (Россия):

  • ФЗ-41 (с 01.09.2025): маркировка звонков, обязательное согласие на массовые звонки, self-ban через Госуслуги. Штрафы 300K–1M руб.
  • ФЗ-152: персональные данные — только серверы в РФ. С 01.07.2025 — штраф 1–6M руб.
  • WhatsApp заблокирован в РФ с 12.02.2026. Telegram — единственный мессенджер для российского рынка.
  • Антифрод РКН: покрывает 99.6% нумерации, подмена CallerID невозможна.

2. Текущие процессы и боли

Проблема Решение
«Нужно делать тысячи звонков в день — людей не хватит» AI-нейроколлер: 500–10 000 звонков/день без увеличения штата
«Номера блокируют через 2 дня обзвона» Интеллектуальная ротация 50–150 DID + прогрев + мониторинг репутации (Kaspersky Who Calls)
«Не знаем, какие лиды горячие» Lead scoring (0–100) + автоматическая маршрутизация горячих лидов к клоузерам за <= 5 мин
«С сентября 2025 штрафы за холодные звонки» Consent management + проверка DNC/self-ban реестров + lead-magnet стратегия
«Нет аналитики — сколько звонков → сколько счетов» Real-time дашборд: воронка, конверсии, A/B скрипты, unit-economics по сегментам
«Каждый сегмент (ИП/ООО/самозанятые) — разный разговор» 3 адаптивных скрипта с LLM-driven ветвлениями + отработка возражений
«Пробовали рассылки — Telegram банит» Контролируемый userbot: 40–50 DM/день, прогрев 7+ дней, ротация аккаунтов

3. Архитектура решения

flowchart TB
    subgraph Channels["Каналы"]
        PHONE["Телефония (SIP)"]
        TG["Telegram"]
    end

    subgraph Voice["Голосовой AI"]
        STT["STT (распознавание)"]
        LLM["LLM (диалог)"]
        TTS["TTS (синтез)"]
        VAD["VAD (детектор речи)"]
    end

    subgraph Core["Ядро платформы"]
        ORCH["Оркестратор кампаний\n(BullMQ)"]
        DM["Диалоговый менеджер\n(LangGraph)"]
        SCORE["Lead Scoring"]
        CRM["CRM модуль"]
        CONSENT["Consent Manager\n(ФЗ-41)"]
    end

    subgraph Data["Данные"]
        PG["PostgreSQL"]
        REDIS["Redis"]
        CH["ClickHouse\n(OLAP)"]
    end

    subgraph Infra["Инфраструктура"]
        K8S["Yandex Cloud K8s"]
        MON["Grafana + Loki"]
        DASH["Дашборд\n(Next.js)"]
    end

    PHONE --> STT --> DM
    DM --> LLM --> TTS --> PHONE
    VAD --> DM
    TG --> DM
    ORCH --> PHONE
    ORCH --> TG
    DM --> SCORE --> CRM
    CONSENT --> ORCH
    CRM --> PG
    ORCH --> REDIS
    CRM --> CH
    K8S --> Core
    MON --> K8S
    DASH --> CRM

    style Channels fill:#172554,stroke:#3b82f6
    style Voice fill:#450a0a,stroke:#ef4444
    style Core fill:#14532d,stroke:#22c55e
    style Data fill:#78350f,stroke:#f59e0b
    style Infra fill:#3b0764,stroke:#a855f7

Ключевые принципы:

  • Модульный монолит (Node.js/TypeScript core + Python AI-сервисы) — на 30–40% быстрее в разработке, чем микросервисы
  • Каскадный voice pipeline: STT → LLM → TTS через Voximplant (MVP) или LiveKit Agents (масштаб)
  • Compliance-first: consent management и DNC-проверки встроены в оркестратор до каждого звонка
  • Размещение в РФ: Yandex Cloud / Selectel (ФЗ-152)

4. Функциональные блоки

4.1. Голосовой AI (Нейроколлер)

Функция Описание
Каскадный пайплайн STT → LLM → TTS, end-to-end latency <= 1.5 сек
Диалоговый менеджер LangGraph: граф состояний (приветствие → квалификация → возражения → закрытие)
Intent recognition Гибридный каскад: regex (<1 мс) → ruBERT (~10 мс) → LLM fallback (~300 мс)
Barge-in Silero VAD (30 мс фреймы) → мгновенный стоп TTS → перехват потока
Мультисегментные скрипты 3 адаптивных сценария: ИП, ООО, самозанятые
A/B тестирование Параллельный запуск вариантов скрипта с conditional routing

4.2. CRM и управление контактами

Функция Описание
Импорт контактов CSV/Excel → staging → нормализация (E.164) → upsert
Дедупликация Телефон (PK) + ИНН (secondary) + pg_trgm fuzzy на названиях
Валидация ИНН python-stdnum: 10 цифр = ООО, 12 цифр = ИП/самозанятый
Lead scoring Rule-based 0–100: requested_callback +20, asked_pricing +25, agreed_meeting +30
История взаимодействий Append-only лог, партиционирование по месяцам

4.3. Оркестрация кампаний

Функция Описание
Очередь BullMQ на Redis: приоритеты, rate limiting, delayed jobs
Scheduling Timezone-aware (UTC → локальное время контакта)
Retry Звонки: 2ч → 4ч → следующий рабочий день. Сообщения: 30с → 8мин (exp. backoff)
Consent check Проверка DNC/self-ban перед каждым звонком (ФЗ-41)
Pre-call pipeline MNP (0.03 руб) → HLR → DNC → consent → geo-matching → SIP

4.4. Телефония и антиспам

Функция Описание
Мультипровайдерный SIP Zadarma (API) + MTT (покрытие 85+ регионов) + MCN (цена)
Ротация номеров Max 50–75 звонков/номер/день, warming → active → cooling → retired
Мониторинг репутации Kaspersky Who Calls API + регистрация в Яндекс.Бизнес
HLR-проверка Пакетная ночная + кэш 24–48 часов. SIGMA: 0.03 руб/номер

4.5. Telegram-канал

Функция Описание
Userbot (Telethon) Холодный аутрич: 40–50 DM/день, прогрев 7+ дней, deep link → бот
Bot API FSM + LLM квалификация (~$0.001/ход), follow-up дожим
Связка userbot → t.me/Bot?start=lead_id → Bot API → квалификация → hand-off

4.6. Маршрутизация лидов (Hand-off)

Функция Описание
Scoring trigger score > 75 → Redis Streams → WebSocket push
SLA 5 мин от квалификации до первого контакта клоузера
Warm transfer LiveKit WarmTransferTask (SIP REFER / SIP Replaces)

4.7. Дашборд и аналитика

Функция Описание
Real-time метрики Звонки, конверсии, воронка, статус номеров, расход
A/B результаты Конверсия по вариантам скрипта, статистическая значимость
Unit-economics CPA, стоимость звонка, ROI по сегментам и кампаниям
OLAP (ClickHouse) Исторические срезы, когорты, предиктивная аналитика

5. Пакеты услуг

5.1. Пакет «Пилот» -- Первый звонок

Масштаб: до 500 звонков/день | Срок: 4–5 недель

Модуль Критерий приёмки
Voximplant интеграция + 1 скрипт Бот ведёт диалог >= 3 мин, распознаёт >= 5 интентов
CRM: импорт CSV, статусы, история Импорт 10K контактов за <= 60 сек, дедупликация по E.164
Оркестрация кампаний (BullMQ) Очередь обрабатывает 500 звонков/день, timezone-aware
Ротация номеров (15–20 DID) Max 50–75 звонков/номер, автосмена при спам-флаге
Pre-call pipeline (HLR + MNP) Проверка 100% номеров перед звонком, кэш 48ч
Lead scoring (rule-based) Score 0–100, лиды >= 75 помечаются «горячие»
Базовый дашборд Конверсии, статусы, воронка — обновление <= 30 сек

Преимущества:

  • Быстрый запуск на Voximplant — первый звонок через 4 недели
  • Проверка unit-economics до масштабирования
  • Минимальные инфраструктурные расходы (~135K руб/мес)
  • Полный compliance ФЗ-152 (Voximplant — серверы в РФ)

Стоимость: 705 000 руб


5.2. Пакет «Старт» -- Мультиканальность

Включает всё из «Пилота» +

Масштаб: до 2 000 звонков/день | Срок: 7–9 недель

Модуль Критерий приёмки
Telegram бот (userbot + Bot API) Квалификация лида за <= 5 сообщений, follow-up через 2ч
3 скрипта (ИП / ООО / самозанятые) Каждый скрипт >= 8 интентов, conditional routing по сегменту
Consent management (ФЗ-41) Проверка DNC/self-ban перед 100% звонков, журнал согласий
Warm transfer на клоузеров Перевод горячего лида за <= 30 сек (SIP REFER)
Расширенный дашборд (real-time) Воронка по каналам, конверсия по сегментам, live-статус
Расширенная ротация (50–70 DID) Автопрогрев, cooling, мониторинг Kaspersky Who Calls
DNC/self-ban интеграция Проверка реестров Роскомнадзора перед каждым звонком

Бонусы (бесплатно):

  • Настройка и прогрев 50 SIP-номеров с мониторингом (обычно ~40 000 руб)
  • Импорт и нормализация первой базы контактов до 100K записей (обычно ~25 000 руб)

Общая стоимость бонусов: ~65 000 руб

Преимущества:

  • Два канала лидогенерации: голос + Telegram
  • Сегментированный подход — свой скрипт под каждый тип бизнеса
  • Полный compliance ФЗ-41 (consent + DNC)
  • Warm transfer — горячий лид сразу попадает к клоузеру

Стоимость: 1 135 000 руб


5.3. Пакет «Бизнес» -- Оптимизация

Включает всё из «Старта» +

Масштаб: до 5 000 звонков/день | Срок: 11–14 недель

Модуль Критерий приёмки
A/B тестирование скриптов >= 2 варианта параллельно, статзначимость при N >= 1000
ClickHouse OLAP-аналитика Запрос по 10M записей за <= 3 сек, когорты, срезы
Гибридный intent recognition regex → ruBERT → LLM fallback, accuracy >= 90%
Мультипровайдерный SIP Zadarma + MTT, автопереключение при сбое за <= 10 сек
Расширенная ротация (100–150 DID) Автопрогрев, cooling 30–90 дней, retired-пул
API для внешних CRM REST API + webhook для Bitrix24, amoCRM
Автоматический ретаргетинг Повторные попытки по настраиваемому расписанию

Бонусы (бесплатно):

  • Всё из «Старта» +
  • Настройка Grafana-дашборда с 15 бизнес-метриками (обычно ~50 000 руб)
  • Разработка 3 вариантов скриптов для A/B тестирования (обычно ~45 000 руб)
  • Интеграция с Kaspersky Who Calls API для мониторинга репутации (обычно ~30 000 руб)

Общая стоимость бонусов и скидки: ~280 000 руб (бонусы ~190 000 руб + скидка 90 000 руб)

Преимущества:

  • Data-driven оптимизация: A/B тесты показывают, какой скрипт конвертирует лучше
  • OLAP-аналитика для стратегических решений
  • Мультипровайдерный SIP — отказоустойчивость и лучшее покрытие
  • API для интеграции с существующей CRM клиента

Стоимость: 1 695 000 руб 1 785 000 руб (скидка 5%)


5.4. Пакет «Премиум» -- Полная автономия

Включает всё из «Бизнеса» +

Масштаб: до 10 000 звонков/день | Срок: 16–20 недель

Модуль Критерий приёмки
Кастомный голосовой стек (LiveKit) End-to-end latency <= 800 мс, barge-in <= 100 мс
Self-hosted STT/TTS/LLM Whisper/Vosk + Silero TTS + Llama на GPU, стоимость <= $0.016/мин
Kubernetes auto-scaling HPA по custom metrics, 40–100 подов, scale-up <= 2 мин
Predictive dialing ML-модель оптимального времени звонка, +15–20% к contact rate
ML-скоринг лидов Модель на исторических данных, AUC >= 0.75
Расширенная Telegram автоматизация Сеть userbot'ов с ротацией, backup 20% пула
White-label дашборд Кастомизация логотипа, цветов, домена
SLA + выделенная поддержка (3 мес) Время реакции <= 2ч в рабочее время

Бонусы (бесплатно):

  • Всё из «Бизнеса» +
  • Обучение команды клиента: 2 сессии по 2 часа (обычно ~60 000 руб)
  • Аудит безопасности и ФЗ-152 compliance (обычно ~80 000 руб)

Общая стоимость бонусов и скидки: ~510 000 руб (бонусы ~330 000 руб + скидка 180 000 руб)

Кредит на разработку: 250 000 руб на будущие доработки и новые модули

  • Действует 12 месяцев с момента запуска
  • Можно использовать не более 50% от суммы нового заказа
  • Применяется к: новые скрипты, интеграции, кастомизации, расширения

Преимущества:

  • Полная независимость от Voximplant — собственный голосовой стек
  • Стоимость звонка в 3x ниже ($0.016/мин vs $0.045/мин) при масштабе
  • Predictive dialing увеличивает contact rate на 15–20%
  • ML-скоринг вместо rule-based — точнее квалификация лидов
  • IP на решение остаётся у вас

Стоимость: 2 415 000 руб 2 595 000 руб (скидка 7%)


6. Сравнение пакетов

Функция Пилот Старт Бизнес Премиум
Звонков/день 500 2 000 5 000 10 000
Голосовой AI Voximplant Voximplant Voximplant Кастом (LiveKit)
Скрипт диалога (1 / 3) 1 3 3 + A/B 3 + A/B + ML
Intent recognition Keyword Keyword + NLU regex → ruBERT → LLM regex → ruBERT → LLM
Barge-in -- + + + (< 100 мс)
Telegram -- + + + (сеть userbot)
CRM Базовый + Consent + API CRM + White-label
Lead scoring Rule-based Rule-based Rule-based ML-модель
Warm transfer -- + + + (predictive)
Ротация DID 15–20 50–70 100–150 150+
Мониторинг репутации -- + + (Kaspersky) + (Kaspersky)
Дашборд Базовый Real-time + ClickHouse OLAP + White-label
A/B тестирование -- -- + +
Мультипровайдерный SIP -- -- + +
Auto-scaling K8s -- -- -- +
Predictive dialing -- -- -- +
Self-hosted AI -- -- -- +
SLA + поддержка -- -- -- 3 мес
Срок 4–5 нед 7–9 нед 11–14 нед 16–20 нед
Стоимость 705 000 1 135 000 1 785 000 1 695 000 2 595 000 2 415 000
Скидка -- -- 5% 7%
Бонусы -- ~65 000 ~190 000 ~330 000 + кредит 250K
flowchart TB
    subgraph pilot["Пилот — 705 000 руб"]
        P1["Voximplant"]
        P2["CRM + импорт"]
        P3["Оркестратор"]
        P4["Ротация DID"]
        P5["Дашборд"]
    end

    subgraph start["Старт — 1 135 000 руб"]
        S1["+ Telegram"]
        S2["+ 3 скрипта"]
        S3["+ Consent ФЗ-41"]
        S4["+ Warm transfer"]
    end

    subgraph biz["Бизнес — 1 695 000 руб"]
        B1["+ A/B тесты"]
        B2["+ ClickHouse"]
        B3["+ Multi-SIP"]
        B4["+ ruBERT"]
    end

    subgraph prem["Премиум — 2 415 000 руб"]
        PR1["+ LiveKit (кастом)"]
        PR2["+ Self-hosted AI"]
        PR3["+ Predictive dial"]
        PR4["+ ML-scoring"]
    end

    pilot --> start --> biz --> prem

    style pilot fill:#14532d,stroke:#22c55e
    style start fill:#172554,stroke:#3b82f6
    style biz fill:#78350f,stroke:#f59e0b
    style prem fill:#450a0a,stroke:#ef4444

7. Наша рекомендация

Для вашей ситуации мы рекомендуем начать с пакета «Старт» с последующим переходом на «Бизнес»:

  • Два канала (голос + Telegram) — максимальный охват аудитории при минимальных вложениях
  • Compliance с первого дня — consent management и DNC-проверки встроены, минимизируя регуляторные риски (ФЗ-41)
  • Проверка unit-economics — при CPA 9 000–11 000 руб и стоимости звонка ~12 руб окупаемость при конверсии >= 0.1%
  • 3 скрипта под сегменты — ИП, ООО и самозанятые получают релевантный оффер
  • Warm transfer — горячий лид сразу у клоузера, пока мотивация максимальная

Путь масштабирования:

«Старт» (1–3 мес)     →  «Бизнес» (3–6 мес)      →  «Премиум» (6+ мес)
2K звонков/день            5K звонков/день              10K звонков/день
Voximplant + Telegram      + A/B + OLAP + Multi-SIP    + Кастом стек + ML
1 135 000 руб              + 560 000 руб*               + 720 000 руб*

* Стоимость апгрейда — не полная стоимость пакета, а доплата за новые модули (переиспользование платформы).

Экономика переиспользования платформы

Параметр Первый пакет Апгрейд на следующий
Инфраструктура (K8s, DB, CI/CD) Создаётся с нуля 0 руб — уже есть
CRM + оркестрация Создаётся с нуля 0 руб — расширяется
Voximplant/LiveKit интеграция Создаётся с нуля 0 руб — переиспользуется
Бизнес-логика (новые модули) 100% 100%
Итого стоимость апгрейда 100% 30–50% от аналогичного

8. Бизнес-выгоды (ROI)

# Выгода Описание
1 Масштаб без штата 1 AI-агент заменяет 20–30 операторов. 5 000 звонков/день = ~150 человек при ручном обзвоне. Экономия ~3–5M руб/мес на ФОТ
2 Окупаемость при конверсии 0.15% 2 000 звонков/день × 22 дня × 0.15% = ~66 открытых счетов/мес × 10 000 руб CPA = 660 000 руб/мес дохода при расходах ~400K (разработка амортизируется за 3 мес)
3 Скорость запуска Voximplant MVP — 4–5 недель до первого звонка. Конкуренты на кастомных стеках стартуют 3–6 месяцев
4 Data-driven оптимизация A/B тестирование скриптов позволяет увеличить конверсию на 20–40% за первый квартал. Каждый +0.05% конверсии = +33 счёта/мес = +330K руб
5 Регуляторная защита Consent management + DNC + маркировка — минимизация риска штрафов по ФЗ-41 (300K–1M руб за инцидент без защиты)
6 Снижение стоимости при масштабе Переход на кастомный стек при 5K+ звонков: $0.016/мин vs $0.045/мин = экономия ~450K руб/мес

Модель окупаемости (пакет «Старт»)

Параметр Значение
Стоимость разработки 1 135 000 руб
Ежемесячные расходы (инфраструктура) ~400 000 руб
Звонков/день 2 000
Звонков/месяц (22 рабочих дня) 44 000
Конверсия в открытый счёт 0.15% (консервативно)
Открытых счетов/месяц 66
CPA (доход за счёт) 10 000 руб
Доход/месяц 660 000 руб
Прибыль/месяц ~260 000 руб
Окупаемость разработки ~4.5 месяца

Часть II: Техническое задание


9. Границы MVP

Ядро (обязательные компоненты)

ID Компонент Описание
Я1 Voximplant Voice Интеграция с Voximplant, 1 скрипт, STT/TTS
Я2 Диалоговый менеджер LangGraph граф состояний, 5+ интентов
Я3 CRM модуль Контакты, кампании, interactions, импорт CSV
Я4 Оркестратор BullMQ, scheduling, retry, timezone-aware
Я5 Ротация DID 15–20 номеров, warming/active/cooling
Я6 Pre-call pipeline MNP + HLR + DNC-проверка
Я7 Lead scoring Rule-based 0–100
Я8 Дашборд (базовый) Next.js + Recharts, конверсии, статусы

Опции Старт (зависят от Ядра)

ID Компонент Зависимость
О1 Telegram userbot Я3, Я4
О2 Telegram Bot API Я3, Я7
О3 Мультисегментные скрипты (×3) Я1, Я2
О4 Consent management Я4, Я6
О5 Warm transfer Я1, Я7
О6 Дашборд расширенный Я8
О7 Расширенная ротация (50–70) Я5

Опции Бизнес (зависят от Ядра + Старт)

ID Компонент Зависимость
Б1 A/B тестирование скриптов О3, Я2
Б2 ClickHouse OLAP Я3
Б3 Гибридный intent (ruBERT) Я2
Б4 Мультипровайдерный SIP Я5
Б5 API для внешних CRM Я3
Б6 Авторетаргетинг Я4
Б7 Расширенная ротация (100–150) О7

Опции Премиум (зависят от Ядра + Старт + Бизнес)

ID Компонент Зависимость
П1 LiveKit voice pipeline Заменяет Я1
П2 Self-hosted STT/TTS/LLM П1
П3 K8s auto-scaling Я4
П4 Predictive dialing Б2, Я7
П5 ML-скоринг Б2, Я7
П6 Telegram userbot сеть О1
П7 White-label дашборд О6, Б2
flowchart LR
    subgraph core["Ядро (MVP)"]
        Y1["Я1 Voice"]
        Y2["Я2 Диалог"]
        Y3["Я3 CRM"]
        Y4["Я4 Оркестратор"]
        Y5["Я5 DID"]
        Y6["Я6 Pre-call"]
        Y7["Я7 Scoring"]
        Y8["Я8 Дашборд"]
    end

    subgraph start["Старт"]
        O1["О1 TG Userbot"]
        O3["О3 3 скрипта"]
        O4["О4 Consent"]
        O5["О5 Warm transfer"]
    end

    subgraph biz["Бизнес"]
        B1["Б1 A/B тесты"]
        B2["Б2 ClickHouse"]
        B3["Б3 ruBERT"]
        B4["Б4 Multi-SIP"]
    end

    subgraph prem["Премиум"]
        P1["П1 LiveKit"]
        P2["П2 Self-hosted AI"]
        P4["П4 Predictive"]
        P5["П5 ML-scoring"]
    end

    Y3 --> O1
    Y1 --> O3
    Y4 --> O4
    Y7 --> O5
    O3 --> B1
    Y3 --> B2
    Y2 --> B3
    Y5 --> B4
    Y1 -.->|заменяет| P1
    P1 --> P2
    B2 --> P4
    B2 --> P5

    style core fill:#14532d,stroke:#22c55e
    style start fill:#172554,stroke:#3b82f6
    style biz fill:#78350f,stroke:#f59e0b
    style prem fill:#450a0a,stroke:#ef4444

10. Компоненты системы

10.1. Голосовой AI (Voximplant / LiveKit)

Назначение: Автоматизированные исходящие звонки с AI-агентом, способным вести естественный диалог, распознавать интенты и квалифицировать лидов.

flowchart LR
    A["SIP Outbound"] --> B["STT\n(распознавание)"]
    B --> C["Intent\nClassifier"]
    C --> D["LangGraph\nState Machine"]
    D --> E["LLM\n(генерация ответа)"]
    E --> F["TTS\n(синтез речи)"]
    F --> G["SIP Audio"]

    H["Silero VAD"] --> |barge-in| F

    style A fill:#172554,stroke:#3b82f6
    style G fill:#172554,stroke:#3b82f6
    style D fill:#14532d,stroke:#22c55e
    style H fill:#450a0a,stroke:#ef4444

Алгоритм диалога (LangGraph):

stateDiagram-v2
    [*] --> Greeting: Исходящий звонок
    Greeting --> Qualification: Ответил
    Greeting --> Retry: Не ответил / занято

    Qualification --> Presentation: Сегмент определён
    Qualification --> Disqualified: Не ЦА

    Presentation --> Objections: Есть возражения
    Presentation --> Closing: Интерес подтверждён

    Objections --> Presentation: Возражение отработано
    Objections --> Closing: Согласен
    Objections --> Rejected: 3 попытки исчерпаны

    Closing --> WarmTransfer: score >= 75, согласен говорить
    Closing --> TelegramFollowup: score >= 50, отправить ссылку
    Closing --> Callback: Перезвонить позже

    WarmTransfer --> [*]
    TelegramFollowup --> [*]
    Callback --> Retry
    Rejected --> [*]
    Disqualified --> [*]
    Retry --> [*]

Технологии:

  • MVP: Voximplant (JS-сценарии, встроенный STT/TTS, ФЗ-152)
  • Масштаб: LiveKit Agents + Deepgram/Whisper + Cartesia/Silero TTS + Groq/Llama

Пример диалога:

Бот: Добрый день, Иван Петрович! Меня зовут Алиса, я звоню от лица
     партнёрской программы Альфа-Банка. У нас есть специальное предложение
     по бесплатному расчётному счёту для ИП. Вам удобно сейчас говорить?

Клиент: Ну, мне интересно, но у меня уже есть счёт в Сбере...

Бот: Понимаю! Многие наши клиенты тоже переходили из Сбера. Отличие в том,
     что мы предлагаем бесплатное обслуживание РКО и карту Alfa Only для
     владельца бизнеса. Хотели бы узнать подробнее о тарифах?

[intent: asked_pricing → score += 25]

Бенчмарки:

Метрика Voximplant (MVP) Кастом (LiveKit)
End-to-end latency 800 мс – 1.5 сек 500–800 мс
Русский WER (STT) ~8–12% ~5–8% (Whisper)
Стоимость/мин ~4 руб ($0.045) ~1.5 руб ($0.016)
Concurrent calls 50–200 200–1000+

10.2. CRM и управление контактами

Назначение: Хранение, дедупликация и сегментация базы контактов. Полная история взаимодействий.

Алгоритм импорта:

flowchart TB
    A["CSV / Excel"] --> B["Staging table"]
    B --> C["Нормализация\n(E.164, ИНН)"]
    C --> D{"Дубликат?"}
    D -->|"Да"| E["Merge + update\nmetadata"]
    D -->|"Нет"| F["Insert"]
    E --> G["contacts"]
    F --> G
    G --> H["Сегментация\n(ИП/ООО/СЗ)"]

    style A fill:#78350f,stroke:#f59e0b
    style G fill:#14532d,stroke:#22c55e

Технологии: PostgreSQL 17 + python-phonenumbers + python-stdnum + pg_trgm

Пример данных:

{
  "phone": "+79161234567",
  "inn": "773456789012",
  "segment": "ip",
  "company_name": "ИП Иванов А.Б.",
  "region": "moscow",
  "metadata": {
    "source": "partner_base_march_2026",
    "current_bank": "sberbank",
    "monthly_turnover": "< 1M"
  }
}

10.3. Оркестратор кампаний

Назначение: Управление очередями звонков и сообщений, rate limiting, retry-логика, timezone-aware scheduling.

Технологии: BullMQ на Redis, приоритетные очереди.

Очереди:

  • voice-calls — исходящие звонки (приоритет по lead score)
  • telegram-msgs — Telegram userbot DM + Bot API follow-up
  • pre-call-checks — HLR/MNP/DNC пакетные проверки

Retry-стратегия:

Канал Попытка 1 Попытка 2 Попытка 3
Голос (нет ответа) +2 часа +4 часа Следующий рабочий день
Голос (занято) +30 мин +2 часа +4 часа
Telegram +30 сек +2 мин +8 мин (exp. backoff)

Назначение: Проверка права на звонок перед каждым контактом. Журнал согласий для юридической защиты.

Pre-call pipeline:

flowchart LR
    A["Контакт\nиз очереди"] --> B["MNP\n(0.03 руб)"]
    B --> C["HLR\n(0.9 руб)"]
    C --> D{"DNC /\nSelf-ban?"}
    D -->|"Да"| E["Отмена\nстатус: dnc"]
    D -->|"Нет"| F{"Consent?"}
    F -->|"Нет"| G["Telegram\n(lead-magnet)"]
    F -->|"Да"| H["Geo-match\nномера"]
    H --> I["SIP\nзвонок"]

    style E fill:#450a0a,stroke:#ef4444
    style G fill:#78350f,stroke:#f59e0b
    style I fill:#14532d,stroke:#22c55e

Стоимость проверки: ~1.5 руб/номер. При 2 000 звонков/день = ~3 000 руб/день.

10.5. Telegram-канал

Назначение: Вторичный канал лидогенерации и follow-up дожим после звонков.

Архитектура:

Компонент Технология Лимиты
Userbot (холодный DM) Telethon (MTProto) 40–50 DM/аккаунт/день
Bot API (квалификация) python-telegram-bot + FSM Без лимитов
Связка deep link t.me/Bot?start=lead_id

Прогрев userbot: 7+ дней, начиная с 5 DM/день, инкрементально до 40–50. Backup аккаунты: 20% от активного пула.


11. Модель данных

Основные сущности

// contacts — база контактов
{
  "phone": "+79161234567",          // E.164, primary key
  "inn": "773456789012",            // 10 цифр = ООО, 12 = ИП/СЗ
  "segment": "ip",                  // ip | ooo | self_employed
  "company_name": "ИП Иванов А.Б.",
  "contact_name": "Иванов Алексей Борисович",
  "region": "moscow",
  "timezone": "Europe/Moscow",
  "lead_score": 0,                  // 0–100
  "status": "new",                  // new | in_progress | qualified | converted | rejected | dnc
  "consent_given": true,
  "consent_date": "2026-03-10T14:30:00Z",
  "metadata": {
    "source": "partner_base_march_2026",
    "current_bank": "sberbank"
  },
  "created_at": "2026-03-10T14:30:00Z",
  "updated_at": "2026-03-14T09:15:00Z"
}
// campaigns — конфигурация кампании
{
  "id": "camp_2026_03_rko_ip",
  "name": "РКО для ИП — Март 2026",
  "segment": "ip",
  "script_id": "script_ip_v2",
  "channels": ["voice", "telegram"],
  "schedule": {
    "days": ["mon", "tue", "wed", "thu", "fri"],
    "hours": { "start": "10:00", "end": "19:00" },
    "timezone_mode": "contact_local"
  },
  "limits": {
    "max_calls_per_day": 2000,
    "max_calls_per_number": 75,
    "max_attempts_per_contact": 3
  },
  "status": "active",
  "created_at": "2026-03-01T10:00:00Z"
}
// interactions — append-only лог (партиционирование по месяцам)
{
  "id": "int_20260314_123456",
  "contact_phone": "+79161234567",
  "campaign_id": "camp_2026_03_rko_ip",
  "channel": "voice",
  "direction": "outbound",
  "did_number": "+74951234567",
  "duration_sec": 187,
  "disposition": "answered",        // answered | no_answer | busy | voicemail | failed
  "intents_detected": ["greeting_positive", "asked_pricing", "agreed_meeting"],
  "lead_score_delta": 75,
  "transcript_url": "s3://recordings/2026/03/14/int_123456.json",
  "recording_url": "s3://recordings/2026/03/14/int_123456.wav",
  "outcome": "warm_transfer",       // warm_transfer | callback | telegram_followup | rejected
  "created_at": "2026-03-14T14:23:00Z"
}

12. API-спецификация

Основные эндпоинты

Метод Путь Описание
POST /api/v1/contacts/import Импорт контактов из CSV/Excel
GET /api/v1/contacts Список контактов (фильтры, пагинация)
GET /api/v1/contacts/:phone Детали контакта + история
POST /api/v1/campaigns Создание кампании
PATCH /api/v1/campaigns/:id Обновление (start/pause/stop)
GET /api/v1/campaigns/:id/stats Статистика кампании
POST /api/v1/calls/initiate Инициировать звонок (внутренний)
POST /api/v1/webhook/voximplant Callback от Voximplant
POST /api/v1/webhook/telegram Callback от Telegram Bot
GET /api/v1/dashboard/funnel Данные воронки для дашборда
GET /api/v1/dashboard/realtime Real-time метрики (WebSocket)

Пример запроса — импорт контактов

POST /api/v1/contacts/import
Content-Type: multipart/form-data

{
  "file": "<contacts.csv>",
  "campaign_id": "camp_2026_03_rko_ip",
  "segment": "ip",
  "source": "partner_base_march_2026"
}

Ответ (200):

{
  "imported": 9847,
  "duplicates_merged": 153,
  "invalid_skipped": 12,
  "invalid_reasons": [
    { "row": 234, "reason": "invalid_phone_format" },
    { "row": 891, "reason": "invalid_inn_checksum" }
  ],
  "processing_time_ms": 4230
}

Коды ошибок

Код Описание
400 Невалидный формат файла / параметров
409 Кампания уже запущена (conflict)
422 Файл пуст или все записи невалидны
429 Rate limit (max 10 импортов/час)
503 Voximplant / SIP-провайдер недоступен

13. Пользовательские сценарии

US1. Запуск кампании обзвона

«Как менеджер, я хочу запустить кампанию обзвона ИП по загруженной базе»

Given: База из 10 000 контактов загружена, скрипт script_ip_v2 настроен When: Менеджер нажимает «Запустить кампанию» в дашборде Then:

  • Система запускает pre-call pipeline для первых 500 контактов
  • Звонки начинаются в локальное время контакта (10:00–19:00)
  • Дашборд показывает live-статус: в очереди / в процессе / завершён

US2. AI-агент ведёт диалог

«Как AI-агент, я хочу квалифицировать лида по скрипту и определить сегмент»

Given: Контакт ответил на звонок When: AI-агент следует скрипту script_ip_v2 Then:

  • Диалог длится >= 90 сек (не одностороннее IVR)
  • Распознано >= 3 интентов (greeting, pricing, objection и т.д.)
  • Lead score обновлён по итогам разговора
  • При score >= 75 → warm transfer или Telegram follow-up

US3. Горячий лид — warm transfer

«Как клоузер, я хочу получить горячего лида прямо во время его разговора с ботом»

Given: AI-агент определил score >= 75, клиент согласен поговорить с менеджером When: AI-агент инициирует warm transfer Then:

  • SIP REFER переводит звонок на АТС клоузеров за <= 30 сек
  • Клоузер видит карточку лида (имя, ИНН, сегмент, score, ключевые интенты)
  • Если все клоузеры заняты — бот предлагает callback и ставит задачу

US4. Номер попал в спам

«Как система, я должна обнаружить спам-флаг и вывести номер из ротации»

Given: Номер +74951234567 использовался для 60 звонков сегодня When: Kaspersky Who Calls API возвращает spam_probability > 0.7 Then:

  • Номер переводится в статус cooling на 30–90 дней
  • Все очередные звонки с этого номера перемаршрутизированы
  • Алерт в Telegram-канал команды
  • Резервный номер активируется автоматически

US5. Telegram follow-up после звонка

«Как система, я хочу отправить Telegram-сообщение лиду, который не ответил на звонок»

Given: Контакт не ответил на 2 попытки звонка, Telegram username известен When: Прошло 30 мин после последней попытки Then:

  • Userbot отправляет персонализированное DM с deep link на бота
  • Бот квалифицирует через FSM (5 вопросов)
  • При квалификации → лид передаётся клоузеру

«Как система, я обязана проверить право на звонок перед каждым контактом»

Given: Контакт в очереди на звонок When: Pre-call pipeline проверяет DNC/self-ban реестры Then:

  • Если контакт в DNC → статус dnc, звонок отменён, контакт исключён из кампании
  • Если self-ban → статус self_ban, звонок отменён
  • Если consent отсутствует → звонок отменён, попытка через Telegram (lead-magnet)
  • Все проверки залогированы в consent_log для юридической защиты

US7. A/B тест скриптов

«Как маркетолог, я хочу сравнить 2 варианта скрипта для сегмента ООО»

Given: Два скрипта: script_ooo_v1 (формальный) и script_ooo_v2 (неформальный) When: Кампания запущена с A/B-флагом, 50/50 распределение Then:

  • Каждый контакт случайно получает вариант A или B
  • Дашборд показывает: конверсия, средняя длительность, количество возражений
  • При N >= 1000 в каждой группе — система рассчитывает p-value
  • При p < 0.05 → уведомление «Вариант B конвертирует на 23% лучше»

14. Команда проекта

Роли и ставки

Роль Основные задачи Ставка, руб/ч
Tech Lead / AI-архитектор Архитектура, Voximplant/LiveKit, скрипты, code review 2 750
AI/ML Engineer Промпты, LangGraph, intent recognition, ruBERT, ML-scoring 2 200
Backend Engineer CRM, API, BullMQ, Telegram, интеграции 1 950
Frontend Engineer Дашборд (Next.js + Recharts), UI кампаний 1 950
DevOps Yandex Cloud, K8s, Docker, CI/CD, Terraform, мониторинг 1 950
QA Engineer Тест-кейсы, интеграционные, нагрузочные тесты 1 650

Калькуляция стоимости

Статья Пилот Старт Бизнес Премиум
Tech Lead / AI-архитектор (50 / 75 / 110 / 160 ч) 137 500 206 250 302 500 440 000
AI/ML Engineer (40 / 70 / 130 / 220 ч) 88 000 154 000 286 000 484 000
Backend Engineer (100 / 160 / 240 / 320 ч) 195 000 312 000 468 000 624 000
Frontend Engineer (50 / 85 / 130 / 160 ч) 97 500 165 750 253 500 312 000
DevOps (30 / 45 / 75 / 130 ч) 58 500 87 750 146 250 253 500
QA Engineer (40 / 65 / 100 / 150 ч) 66 000 107 250 165 000 247 500
Итого разработка 642 500 1 033 000 1 621 250 2 361 000
Непредвиденные расходы (10%) 62 500 102 000 163 750 234 000
Итого до скидки 705 000 1 135 000 1 785 000 2 595 000
Скидка -- -- 5% (90 000) 7% (180 000)
ИТОГО 705 000 1 135 000 1 695 000 2 415 000

15. Дорожная карта и план спринтов

Пакет «Старт» (рекомендуемый) — 7–9 недель

gantt
    title Дорожная карта: пакет Старт
    dateFormat YYYY-MM-DD
    axisFormat %d.%m

    section Sprint 0
    Архитектура и инфраструктура        :s0, 2026-04-07, 5d
    Yandex Cloud + Docker + CI/CD       :s0b, 2026-04-07, 5d

    section Sprint 1
    Voximplant интеграция + 1 скрипт    :s1a, 2026-04-14, 10d
    CRM модуль + импорт контактов       :s1b, 2026-04-14, 10d

    section Sprint 2
    Оркестратор + ротация DID           :s2a, 2026-04-28, 10d
    Pre-call pipeline + consent         :s2b, 2026-04-28, 10d
    Базовый дашборд                     :s2c, 2026-04-28, 10d

    section Sprint 3
    Telegram userbot + Bot API          :s3a, 2026-05-12, 10d
    Мультисегментные скрипты (×3)       :s3b, 2026-05-12, 10d
    Warm transfer                       :s3c, 2026-05-12, 7d

    section Sprint 4
    Расширенный дашборд                 :s4a, 2026-05-26, 7d
    Интеграционное тестирование         :s4b, 2026-05-26, 7d
    Нагрузочное тестирование            :s4c, 2026-06-02, 3d

    section Запуск
    Демо + приёмка                      :milestone, s5, 2026-06-05, 3d
    Пилотный обзвон (100 звонков)       :s5b, 2026-06-09, 2d

Ключевые вехи

Неделя Веха Deliverable
1 Sprint 0 Инфраструктура готова, Yandex Cloud, CI/CD
2–3 Sprint 1 Voximplant делает первый звонок, CRM импортирует CSV
4–5 Sprint 2 Полный pipeline: pre-call → звонок → scoring → дашборд
6–7 Sprint 3 Telegram бот + 3 скрипта + warm transfer
8–9 Sprint 4 Расширенный дашборд, тестирование, запуск

16. Предварительные исследования

Завершённые исследования

# Тема Ключевой результат
DR1 Голосовой AI: Build vs Buy Voximplant для MVP (запуск за дни), кастом (LiveKit) для масштаба. Break-even при ~3 500 звонков/день (self-hosted)
DR2 Регуляторный ландшафт (ФЗ-41, ФЗ-152) Холодные звонки без согласия — штрафы 300K–1M руб. Lead-magnet стратегия обязательна
DR3 Антиспам-экосистема РФ 40–60% смартфонов с определителями. Макс. 50–75 звонков/номер/день, прогрев 7–10 дней
DR4 Telegram vs WhatsApp для РФ WhatsApp заблокирован с 12.02.2026. Telegram — единственный мессенджер. Userbot: 40–50 DM/день

Источники Deep Research

  • 4 исследования, 30+ источников
  • Детальные отчёты: new-clients/docs/specs/ai-leadgen-to-the-moon/Research/
  • Сравнительный анализ: voice-build-vs-buy.md

Открытые исследовательские вопросы

# Вопрос Когда решать
RQ1 Оптимальная длительность прогрева DID в российских сетях Sprint 1 (на реальных номерах)
RQ2 Конверсия Voximplant NLU vs внешний LLM (GPT-4o-mini) Sprint 2 (A/B на 500 звонках)
RQ3 Реальный WER Yandex SpeechKit vs Deepgram на российских номерах Sprint 1
RQ4 Скорость бана Telegram userbot при разных паттернах прогрева Sprint 3 (на тестовых аккаунтах)

17. Стратегия тестирования

Уровень Покрытие Инструменты Критерий
Unit-тесты Бизнес-логика: scoring, валидация, routing Jest / Vitest >= 60% покрытие
Интеграционные Voximplant callback, Telegram Bot API, CRM API Supertest + testcontainers Все endpoints 2xx
E2E (голос) Полный цикл: звонок → диалог → scoring → hand-off Voximplant sandbox + mock SIP 10 сценариев pass
Нагрузочные Concurrent calls, очередь BullMQ, DB writes k6 / Artillery 500 concurrent / p95 < 3s
Accuracy Intent recognition accuracy по сегментам Тестовый датасет (200 фраз) >= 85% accuracy
Compliance DNC/self-ban проверки, consent logging Ручная верификация 100% coverage

Конкретные тесты

# Тест Ожидаемый результат
T1 500 звонков за 1 час (Voximplant sandbox) Все звонки доставлены, 0 dropped
T2 Импорт 100K контактов CSV Завершено за <= 120 сек, 0 потерянных
T3 DNC-номер в очереди на звонок Звонок отменён, статус = dnc
T4 Score = 80 после квалификации Warm transfer инициирован за <= 30 сек
T5 Telegram userbot отправляет 50 DM за день 0 банов, все доставлены
T6 SIP-провайдер недоступен Автопереключение на резервный за <= 10 сек

18. Развёртывание и инфраструктура

Архитектура развёртывания

Yandex Cloud (ru-central1)
├── Managed Kubernetes (3 ноды, 4 vCPU / 8 GB)
│   ├── core-api (Node.js) — 2 реплики
│   ├── voice-worker (Python) — 2–10 реплик (HPA)
│   ├── telegram-worker (Python) — 1–3 реплики
│   ├── dashboard (Next.js) — 2 реплики
│   └── bullmq-worker — 2–5 реплик
├── Managed PostgreSQL 17 (s2.micro, 2 vCPU / 8 GB, 100 GB SSD)
├── Managed Redis 7 (b3-c1-m4)
├── Object Storage (S3) — записи звонков
└── VPC + Security Groups

Требования по пакетам

Ресурс Пилот Старт Бизнес Премиум
K8s ноды 2 3 5 8–10
PostgreSQL s2.micro s2.small s2.medium s2.large
Redis b3-c1-m4 b3-c1-m4 b3-c1-m8 b3-c2-m16
ClickHouse -- -- s3-c2-m8 s3-c4-m16
GPU (A100/T4) -- -- -- 1–2
SIP-номеров (DID) 15–20 50–70 100–150 150+

Мониторинг

  • VictoriaMetrics — метрики (CPU, memory, calls/sec, queue depth)
  • Grafana — дашборды (ops + бизнес)
  • Loki — логи (structured JSON, retention 30 дней)
  • Tempo — distributed tracing (звонок → pipeline → CRM)
  • Alerting — Telegram-канал команды (PagerDuty для Премиум)

Бэкапы

  • PostgreSQL: автоматические снимки каждые 6 часов, retention 7 дней
  • Записи звонков: Object Storage (lifecycle: 90 дней hot → 1 год cold → удаление)
  • Конфигурации: git (GitLab CI)

19. Критерии приёмки

Модуль: Голосовой AI

Deliverable Критерий приёмки
Voximplant интеграция Бот совершает исходящий звонок, ведёт диалог >= 90 сек
Скрипт диалога Бот распознаёт >= 5 интентов из 10 тестовых фраз
Barge-in При перебивании — TTS останавливается за <= 500 мс
End-to-end latency <= 1.5 сек от конца фразы до начала ответа

Модуль: CRM

Deliverable Критерий приёмки
Импорт контактов CSV 10K записей импортирован за <= 60 сек, дубликаты обнаружены
Дедупликация Телефон + ИНН: 100% точных дублей найдено
Lead scoring Score обновляется в реальном времени после каждого взаимодействия
История Полная хронология по контакту: звонки, Telegram, scoring events

Модуль: Оркестрация

Deliverable Критерий приёмки
Очередь звонков 500 звонков/день обработано, 0 пропущено
Timezone scheduling Звонки в Владивосток уходят по местному времени (10:00–19:00 VLAT)
Retry Повторные попытки через 2ч/4ч/след. день — автоматически
Consent check 100% звонков проходят DNC/self-ban проверку

Модуль: Telegram

Deliverable Критерий приёмки
Userbot DM 40 сообщений/день отправлено, 0 банов за тестовый период
Bot API квалификация Бот квалифицирует лида за <= 5 сообщений
Deep link Переход userbot → Bot API работает корректно

Модуль: Дашборд

Deliverable Критерий приёмки
Воронка Визуализация: звонки → ответили → квалифицированы → converted
Real-time Данные обновляются с задержкой <= 30 сек
Фильтры По кампании, сегменту, дате, каналу

20. Нефункциональные требования

# Параметр Порог
N1 End-to-end latency голосового AI <= 1.5 сек (Voximplant), <= 800 мс (кастом LiveKit)
N2 Одновременные звонки >= 50 (Пилот), >= 200 (Бизнес), >= 500 (Премиум)
N3 Доступность (uptime) >= 99% за неделю
N4 Время загрузки дашборда <= 3 сек
N5 Импорт 10K контактов <= 60 сек
N6 HLR-кэш актуальность <= 48 часов
N7 Warm transfer SLA <= 30 сек от триггера до подключения клоузера
N8 OLAP-запрос по 10M записей <= 3 сек (ClickHouse)
N9 Покрытие тестами (backend) >= 60%
N10 Время восстановления после сбоя (RTO) <= 30 мин

Часть III: Коммерческие условия


21. Как мы работаем

Активность Частота Формат
Демо спринта Каждые 2 недели Видеозвонок + демонстрация на staging
Еженедельный sync 1 раз в неделю (30 мин) Статус, блокеры, решения
Доступ к staging Постоянный URL staging-сервера (с Sprint 0)
Канал связи Постоянный Telegram-группа проекта
Приёмка результатов По завершении спринта Демо + чеклист приёмки
Отчёты по звонкам После запуска Еженедельный отчёт: конверсии, расход, проблемы

Управление изменениями: Изменения к ТЗ оформляются через Change Request — команда оценивает влияние на сроки и бюджет, обе стороны согласуют до начала работ.

Методология: Scrum-like спринты по 2 недели. Каждый спринт заканчивается демо с рабочим инкрементом на staging.


22. Условия оплаты

Пакет «Пилот» — 705 000 руб

# Событие Оплата Нарастающим итогом
1 Предоплата (30%) 211 500 211 500
2 Приёмка Sprint 1–2 (Voximplant + CRM + pipeline) 352 500 564 000
3 Финальная приёмка + запуск 141 000 705 000

Пакет «Старт» — 1 135 000 руб

# Событие Оплата Нарастающим итогом
1 Предоплата (30%) 340 500 340 500
2 Приёмка Sprint 1–2 (Voximplant + CRM + pipeline) 340 500 681 000
3 Приёмка Sprint 3 (Telegram + скрипты + warm transfer) 227 000 908 000
4 Финальная приёмка + запуск 227 000 1 135 000

Пакет «Бизнес» — 1 695 000 руб

# Событие Оплата Нарастающим итогом
1 Предоплата (30%) 508 500 508 500
2 Приёмка Sprint 1–2 339 000 847 500
3 Приёмка Sprint 3–4 (Telegram + A/B + OLAP) 508 500 1 356 000
4 Финальная приёмка + запуск 339 000 1 695 000

Пакет «Премиум» — 2 415 000 руб

# Событие Оплата Нарастающим итогом
1 Предоплата (30%) 724 500 724 500
2 Приёмка Sprint 1–3 (MVP на Voximplant) 483 000 1 207 500
3 Приёмка Sprint 4–6 (Telegram + A/B + OLAP) 483 000 1 690 500
4 Приёмка Sprint 7–9 (LiveKit + self-hosted + ML) 483 000 2 173 500
5 Финальная приёмка + запуск 241 500 2 415 000

23. Ежемесячные расходы

Расходы после запуска — оплачиваются клиентом напрямую (не входят в стоимость разработки).

Вариант A: Voximplant (быстрый старт)

Проприетарная платформа — голос, SIP, STT/TTS включены в тариф.

Компонент Пилот (500/день) Старт (2K/день) Бизнес (5K/день)
Voximplant (~4 руб/мин × 3 мин × 22 дня) 132 000 528 000 1 320 000
Yandex Cloud K8s (2–5 нод) 15 000 25 000 50 000
Managed PostgreSQL 8 000 12 000 20 000
Managed Redis 5 000 5 000 8 000
ClickHouse (OLAP) -- -- 15 000
Object Storage (записи) 2 000 5 000 10 000
Мониторинг (self-hosted Grafana) 3 000 3 000 5 000
Аренда DID 8 000 25 000 50 000
HLR/MNP проверки 2 000 8 000 20 000
Итого/мес ~175 000 ~611 000 ~1 498 000
Стоимость/звонок ~16 руб ~14 руб ~14 руб

Вариант B: Open-source стек (экономия при масштабе)

Self-hosted модели: Whisper (STT, MIT) + Silero TTS v5 (MIT, CPU-only) + Llama 3.1 / Saiga (LLM). Требует GPU-сервер, но стоимость за минуту в 5–7x ниже.

Модель Лицензия Стоимость/мин Размещение
Whisper large-v3 (STT) MIT ~0.09 руб (GPU compute) Yandex Cloud GPU
Silero TTS v5 (TTS) MIT ~0.18 руб (CPU-only) Yandex Cloud CPU
Saiga / Llama 3.1 8B (LLM) Apache 2.0 / Meta ~0.27 руб (GPU compute) Yandex Cloud GPU
Silero VAD MIT бесплатно CPU
LiveKit Agents (оркестрация) Apache 2.0 бесплатно Self-hosted
Итого AI ~0.54 руб/мин vs 4 руб/мин Voximplant
Компонент Старт (2K/день) Бизнес (5K/день) Премиум (10K/день)
AI inference (~0.54 руб/мин × 3 мин × 22 дня) 71 000 178 000 356 000
GPU-сервер (1–2x T4, Yandex Cloud) 30 000 45 000 80 000
SIP-тарифы (MTT ~1.4 руб/мин) 92 000 231 000 462 000
Yandex Cloud K8s (3–8 нод) 25 000 40 000 80 000
Managed PostgreSQL 12 000 20 000 30 000
Managed Redis 5 000 8 000 15 000
ClickHouse (OLAP) -- 15 000 25 000
Object Storage (записи) 5 000 10 000 20 000
Мониторинг (self-hosted Grafana) 3 000 5 000 5 000
Аренда DID 25 000 50 000 75 000
HLR/MNP проверки 8 000 20 000 40 000
Итого/мес ~276 000 ~622 000 ~1 188 000
Стоимость/звонок ~6.3 руб ~5.7 руб ~5.4 руб

Сравнение вариантов

xychart-beta
    title "Monthly costs (K RUB)"
    x-axis ["500/day", "2K/day", "5K/day", "10K/day"]
    y-axis "K RUB/month" 0 --> 1600
    bar "Voximplant" [175, 611, 1498, 0]
    bar "Open-source" [0, 276, 622, 1188]
Масштаб Voximplant Open-source Экономия
500 зв/день 175 000 нецелесообразно* --
2 000 зв/день 611 000 276 000 335 000 руб/мес (55%)
5 000 зв/день 1 498 000 622 000 876 000 руб/мес (58%)
10 000 зв/день ~2 996 000** 1 188 000 1 808 000 руб/мес (60%)

* При 500 зв/день GPU-сервер не окупается — Voximplant выгоднее. ** Экстраполяция Voximplant на 10K — используется для сравнения.

Вывод: Open-source стек экономит 55–60% ежемесячных расходов начиная с 2K звонков/день. Компромисс: +3–6 недель на разработку голосового модуля (LiveKit + Whisper + Silero + Llama).

Рекомендация: Начать с Voximplant (Пилот, 500/день), параллельно разворачивать open-source стек. Переключиться при выходе на 2K+ звонков/день.


24. Риски и митигация

quadrantChart
    title "Карта рисков"
    x-axis "Низкая вероятность" --> "Высокая вероятность"
    y-axis "Низкое влияние" --> "Высокое влияние"

    "R1 ФЗ-41 штрафы": [0.4, 0.95]
    "R2 Антиспам флаги": [0.8, 0.6]
    "R3 Latency vs compliance": [0.5, 0.5]
    "R4 Telegram бан": [0.7, 0.4]
    "R5 Стоимость масштаба": [0.3, 0.4]
    "R6 Vendor lock Voximplant": [0.2, 0.3]
# Риск Влияние Вероятность Митигация
R1 ФЗ-41: штрафы за звонки без согласия Критическое (300K–1M руб/инцидент) Средняя Consent management + DNC/self-ban проверки + lead-magnet стратегия. При отсутствии согласия — переход на Telegram-канал
R2 Спам-флаг номеров (Яндекс, Kaspersky) Высокое (потеря канала) Высокая Ротация 50–150 DID, max 50–75 звонков/номер, прогрев 7–10 дней, мониторинг Kaspersky API, регистрация в Яндекс.Бизнес
R3 Latency vs compliance (зарубежные API быстрее, но ФЗ-152) Среднее Средняя MVP на Voximplant (серверы в РФ, compliance из коробки). Гибридный режим — опция после юридической консультации
R4 Telegram userbot бан Среднее (потеря канала) Высокая Прогрев 7+ дней, max 40–50 DM/день, backup аккаунты 20%, мониторинг. При бане — автопереключение на backup
R5 Нелинейный рост стоимости при масштабировании Среднее Низкая Переход на self-hosted (Премиум): стоимость/звонок падает с 14 до 7 руб. Мониторинг unit-economics
R6 Voximplant vendor lock-in Низкое Низкая Архитектура с абстракцией голосового модуля. Миграция на LiveKit спланирована в пакете Премиум

25. Гарантии

  • Гарантийный период: 30 дней после финальной приёмки — исправление багов бесплатно
  • SLA на исправления: критические баги — реакция в течение 4 рабочих часов, исправление в течение 24 часов
  • Исходный код: передаётся клиенту в полном объёме (Git-репозиторий)
  • Документация: API-документация, инструкция по развёртыванию, руководство оператора
  • Не является гарантией: конверсия звонков, качество базы контактов, действия регулятора

26. Требования к клиенту

# Что требуется Когда Зачем
1 Реферальная ссылка / API партнёрской программы Альфа-Банка До Sprint 0 Атрибуция конверсий
2 База контактов (CSV/Excel) для тестового обзвона До Sprint 1 Тестирование pipeline
3 Скрипты продаж (или готовность к совместной разработке) До Sprint 1 Настройка AI-агента
4 Доступ к АТС клоузеров (SIP credentials) До Sprint 3 Warm transfer
5 Юрлицо для регистрации SIP-номеров До Sprint 0 Маркировка звонков (ФЗ-41)
6 Telegram-аккаунты для userbot (или бюджет на закупку) До Sprint 3 Telegram-канал
7 Ответственный менеджер для еженедельных sync Постоянно Координация
8 Решение по открытым вопросам (раздел 28) До Sprint 0 Архитектурные решения

27. Что не входит

  • Закупка и оплата SIP-номеров (DID) — оплачивается клиентом напрямую провайдеру
  • Оплата Voximplant / AI API — ежемесячные расходы клиента (раздел 23)
  • Оплата Yandex Cloud — ежемесячные расходы клиента
  • Создание юридических документов (политика конфиденциальности, согласия на обработку ПД)
  • Юридическая экспертиза compliance ФЗ-41 / ФЗ-152 (рекомендуем привлечь юриста)
  • Закупка и прогрев Telegram-аккаунтов для userbot
  • Разработка мобильного приложения
  • Голосовой AI на языках кроме русского
  • Интеграция с CRM клиента (кроме пакета «Бизнес» и выше)
  • Рынки за пределами РФ (WhatsApp/СНГ)

28. Открытые вопросы

Ответы на эти вопросы необходимы для финализации архитектуры и точной калькуляции. Версия 2.0 КП будет обновлена после получения ответов.

ОВ1. Согласие на звонки (ФЗ-41) — КРИТИЧНО

С 01.09.2025 массовые звонки без согласия = штраф 300K–1M руб.

Варианты:

  • A: Lead-magnet стратегия — лендинг → заявка → AI-звонок (полностью легально, рекомендуем)
  • B: Холодный обзвон по купленным базам (с 01.09.2025 — юридический риск)
  • C: Существующая база с opt-in от партнёра Альфа-Банка

Архитектурное следствие: Вариант A требует лендинг + подсистему согласий. Вариант B — неприемлемый юридический риск. Вариант C — проверка юридической чистоты opt-in.


ОВ2. Голосовой стек: Build vs Buy

Ключевое архитектурное решение: какой подход к голосовому модулю выбрать для MVP?

Критерий A. Voximplant (РФ) B. Vapi.ai (международная) C. Кастомный стек (LiveKit)
Скорость запуска 2–5 дней 1–3 дня 3–6 недель
Стоимость разработки ~$3–5K ~$2–3K ~$15–25K
Стоимость за минуту 3–7 руб/мин $0.05–0.15/мин $0.02–0.05/мин (cloud) / $0.016 (self-hosted)
ФЗ-152 compliance Из коробки Данные за рубежом Настраиваем сами
Latency (e2e) 800 мс – 1.5 сек 500 мс – 1 сек 500–800 мс
При 500 зв/день (/мес) $1,485 ~$2,000 $4,467 (cloud) / $3,780 (self-hosted)
При 5K зв/день (/мес) $14,850 ~$20,000 $24,350 (cloud) / $9,780 (self-hosted)
При 10K зв/день (/мес) $29,700 ~$40,000 $46,170 (cloud) / $15,060 (self-hosted)
Vendor lock-in Средний Средний Нет
Технический риск Низкий Низкий Высокий

Наша рекомендация: A (Voximplant) для MVP → C (кастом self-hosted) при >= 3 500 зв/день.

Подробный анализ: voice-build-vs-buy.md


ОВ3. Маркировка звонков

Чьё название юрлица будет отображаться на экране абонента? Это влияет на регистрацию в Яндекс.Бизнес и конфигурацию SIP.

Варианты:

  • A: Юрлицо партнёра Альфа-Банка
  • B: Отдельная компания клиента

ОВ4. Data residency (ФЗ-152)

Записи звонков = персональные данные. Где размещаем AI inference?

Варианты:

  • A: Yandex Cloud полностью (compliance, SpeechKit STT/TTS — лучший русский WER)
  • B: Зарубежные AI API (лучший latency ~500 мс, но данные уходят за рубеж)
  • C: Гибрид — AI inference за рубежом, хранение записей в РФ (gray zone)

Рекомендация: A для MVP (Voximplant на Yandex Cloud). Вопрос актуален для пакета Премиум.


ОВ5. Скрипт диалога

  • Есть ли готовый скрипт продаж с ветвлениями?
  • Сколько сегментов (ИП / ООО / самозанятые = 3 отдельных скрипта)?
  • Кто создаёт — мы или клиент предоставляет?

Если скрипта нет — мы разработаем на основе оффера Альфа-Банка (+0 руб, входит в стоимость).


ОВ6. Масштаб на старте

Сколько звонков/день планируется на MVP?

Варианты:

  • A: 500/день (Пилот, ~15–20 DID, ~177K руб/мес infra)
  • B: 2 000/день (Старт, ~50–70 DID, ~613K руб/мес infra)
  • C: Сразу 5 000/день (Бизнес, ~100–150 DID, ~1.5M руб/мес infra)

ОВ7. SIP-провайдер

Есть ли контракт с SIP-провайдером? Если нет, мы рекомендуем мультипровайдерный подход:

  • Zadarma — лучший API, $0.045/мин моб.
  • MTT — покрытие 85+ регионов РФ, $0.016/мин моб.
  • MCN Telecom — лучшая цена, $0.013/мин моб.

ОВ8. Живые клоузеры

Есть ли команда операторов для приёма «тёплых» лидов?

  • A: Есть команда + АТС → нужна интеграция warm transfer (SIP REFER)
  • B: Нет команды → бот фиксирует данные, клоузер перезванивает (CRM + SLA)
  • C: Нет команды, планируем набрать → включить в scope CRM-модуль для клоузеров

ОВ9. Роль Telegram

Как использовать Telegram в платформе?

  • A: Fallback для недозвонов (userbot DM после неотвеченного звонка)
  • B: Параллельный канал рассылки (userbot массовый outreach)
  • C: Follow-up дожим (Bot API после первого контакта)
  • D: Комбинация A + C (рекомендуем)

ОВ10. Партнёрская ссылка Альфа-Банка

Как работает атрибуция конверсий?

  • A: API партнёрской программы (webhook на статус заявки) → автоматический трекинг
  • B: Статическая реферальная ссылка + ручная сверка → достаточно для MVP

ОВ11. Существующая CRM

Есть ли CRM-система (Bitrix24, amoCRM, другая)?

  • A: Есть → интеграция через API (входит в пакет «Бизнес»+)
  • B: Нет → кастомный CRM-модуль (входит во все пакеты)

ОВ12. Формат базы контактов

В каком формате поступают данные? Какие поля? Примерный объём?

  • Ожидаемый формат: CSV/Excel
  • Минимальные поля: телефон, ИНН (опционально), тип юрлица
  • Желательно: ФИО, регион, текущий банк, оборот

ОВ13. Дашборд

  • A: Real-time дашборд (входит в «Старт»+)
  • B: Периодические отчёты в Telegram/email (входит в «Пилот»)

ОВ14. Допустимая задержка ответа

Target — 500–800 мс e2e. При Voximplant (РФ серверы) — 800 мс–1.5 сек. Устроит ли маскировка задержки коротким «Ага» / «Одну секунду»?


29. Перспективы развития

После запуска MVP и подтверждения unit-economics платформа может расшириться:

  1. Predictive dialing — ML-модель определяет оптимальное время звонка для каждого контакта, увеличивая contact rate на 15–20%
  2. Голосовая аналитика — анализ тональности и эмоций в разговоре (sentiment analysis), автоматическое выявление лучших паттернов в скриптах
  3. Мультиязычность — адаптация для рынков СНГ (казахский, узбекский) при выходе за пределы РФ
  4. Видео-презентации — автоматическая генерация персонализированных видеороликов с оффером для каждого сегмента клиентов
  5. Автономный клоузинг — AI-агент, способный самостоятельно завершить сделку (заполнить заявку на РКО), без участия живого оператора

30. Глоссарий

Термин Определение
CPA Cost Per Action — оплата за целевое действие (открытый счёт)
РКО Расчётно-кассовое обслуживание — банковский счёт для бизнеса
STT Speech-to-Text — распознавание речи
TTS Text-to-Speech — синтез речи
VAD Voice Activity Detection — детектор голосовой активности
Barge-in Перебивание — возможность прервать бота во время его ответа
DID Direct Inward Dialing — виртуальный телефонный номер
DNC Do Not Call — реестр номеров, запрещённых для обзвона
HLR Home Location Register — проверка активности номера
MNP Mobile Number Portability — проверка принадлежности номера оператору
SIP Session Initiation Protocol — протокол IP-телефонии
Warm transfer «Тёплый» перевод звонка — бот передаёт лида оператору без разрыва соединения
Lead scoring Оценка «температуры» лида по шкале 0–100 на основе его реакций
Consent Согласие абонента на получение звонков/сообщений
Self-ban Самозапрет — гражданин заблокировал рекламные звонки через Госуслуги
LangGraph Фреймворк для построения графов состояний диалога (state machine)

31. Следующие шаги

# Действие Ответственный Срок
1 Ответы на открытые вопросы (раздел 28) Клиент 1 неделя
2 Обновление КП до v2.0 по ответам AiDevTeam 2–3 дня после п.1
3 Выбор пакета и согласование условий Совместно 1 неделя
4 Подписание договора + предоплата Совместно 3–5 дней
5 Kick-off + Sprint 0 (инфраструктура) AiDevTeam 1 неделя после п.4

Все оценки являются предварительными и будут уточнены после получения ответов на открытые вопросы (раздел 28).

Предложение действительно 30 дней. Разработка: AiDevTeam