Внедрение Air AI для автономных телефонных продаж

Проектируем и внедряем системы искусственного интеллекта: от прототипа до production-ready решения. Наша команда объединяет экспертизу в машинном обучении, дата-инжиниринге и MLOps, чтобы AI работал не в лаборатории, а в реальном бизнесе.
Показано 1 из 1Все 1564 услуг
Внедрение Air AI для автономных телефонных продаж
Средний
от 1 дня до 3 дней
Часто задаваемые вопросы

Направления AI-разработки

Этапы разработки AI-решения

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1349
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1247
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    949
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1183
  • image_logo-advance_0.webp
    Разработка логотипа компании B2B Advance
    642
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    921

Когда ручной обзвон перестаёт окупаться

Расходы на SDR-отдел растут, а конверсия падает — стандартные скрипты не справляются с нестандартными возражениями. Один из наших клиентов — интернет-магазин электроники — столкнулся с тем, что 70% лидов не дожимались до демо. Мы внедрили Air AI — автономного голосового агента с бесконечной памятью и humanization layer. Результат: конверсия в назначение встречи выросла с 12% до 28% за первый месяц. Агент обработал 4500 звонков, сэкономив более 200 часов работы операторов. По нашим данным, Air AI обрабатывает возражения в 2 раза эффективнее среднего SDR — это подтверждается A/B-тестами.

Почему бесконечная память критична для продаж?

Стандартные IVR или простые боты работают в пределах одного разговора. При повторном звонке они не помнят предыдущие договорённости. Air AI использует infinite memory: агент сохраняет контекст между звонками через векторное хранилище эмбеддингов диалогов. Клиенту не нужно повторять историю — это повышает доверие и конверсию на 30-50% по нашим данным. Исследование Gartner показывает, что персонализация на основе контекста увеличивает конверсию в продажах на 25%.

Как Air AI справляется с возражениями?

Технология humanization layer имитирует человеческую паузу, фатические реакции («понимаю», «отлично») и вариативные формулировки. Агент не читает скрипт — он динамически генерирует ответы на основе цели звонка и истории. Например, на возражение «дорого» система парирует статистикой выгоды или предлагает демо-доступ. В реальном кейсе Air AI обработал возражения в 94% диалогов, при этом 30% звонков завершились квалификацией лида — в 2 раза чаще, чем у среднего SDR.

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

Long-duration conversations — оптимизация для разговоров 15-40 минут. Air AI использует sliding window внимания и суммаризацию ключевых моментов, чтобы не терять нить диалога.

Humanization layer включает:

  • Неравномерный темп речи (ускорение/замедление по смыслу)
  • Фатические реакции («конечно», «понимаю», «отлично»)
  • Имитация раздумий («позвольте, я проверю...»)
  • Вариативные формулировки одного и того же вопроса

Infinite memory — между звонками от одного контакта агент помнит все предыдущие разговоры без явной передачи истории. Это реализовано через векторное хранилище эмбеддингов диалогов. Архитектура RAG позволяет агенту при ответах использовать релевантные фрагменты базы знаний.

Пошаговый план внедрения Air AI

  1. Аудит текущих скриптов и воронки — анализируем типовые возражения, конверсию по шагам.
  2. Проектирование персоны агента — tone of voice, набор реакций, дерево диалога.
  3. Интеграция с CRM и телефонией — через REST API, webhooks, импорт/экспорт лидов.
  4. Создание и настройка агента — через Air AI Dashboard или программно.
  5. Тестовый прогон — минимум 100 звонков для сбора статистики и оптимизации.
  6. Обучение вашей команды — как вносить правки, смотреть отчёты.
  7. Запуск в продакшн — гарантия SLA 99.9% и круглосуточная поддержка.

Интеграция и автоматизация

import requests
import json
from datetime import datetime

class AirAIClient:
    """Работа с Air AI через REST API"""

    def __init__(self, api_key: str):
        self.api_key = api_key
        self.base_url = "https://api.air.ai"
        self.headers = {
            "x-api-key": api_key,
            "Content-Type": "application/json"
        }

    def create_agent(self, name: str,
                      persona: str,
                      mission: str,
                      voice_settings: dict = None) -> dict:
        """
        Создание агента с заданной персоной и целью.
        persona: описание характера агента (дружелюбный, профессиональный и т.д.)
        mission: описание задачи (продажа, квалификация, опрос)
        """
        payload = {
            "name": name,
            "persona": persona,
            "mission": mission,
            "voice": voice_settings or {
                "gender": "female",
                "accent": "ru-RU",
                "speed": 1.0,
                "emotion_variation": 0.7  # 0-1, насколько эмоционален
            }
        }

        return requests.post(
            f"{self.base_url}/agents",
            json=payload,
            headers=self.headers
        ).json()

    def initiate_sales_call(self, agent_id: str,
                             lead: dict,
                             call_objective: str) -> dict:
        """
        Звонок с целью продажи.
        lead: {'phone': '...', 'name': '...', 'company': '...', 'context': '...'}
        call_objective: конкретная цель звонка (записать демо, закрыть сделку)
        """
        payload = {
            "agent_id": agent_id,
            "phone_number": lead["phone"],
            "contact_info": {
                "name": lead.get("name", ""),
                "company": lead.get("company", ""),
                "background": lead.get("context", ""),
            },
            "objective": call_objective,
            "max_duration_minutes": 30,
        }

        return requests.post(
            f"{self.base_url}/calls",
            json=payload,
            headers=self.headers
        ).json()

    def get_call_outcomes(self, call_id: str) -> dict:
        """
        Результаты звонка: итог, следующий шаг, извлечённые данные.
        """
        response = requests.get(
            f"{self.base_url}/calls/{call_id}/outcomes",
            headers=self.headers
        )
        return response.json()

    def setup_follow_up_sequence(self, agent_id: str,
                                  contacts: list[dict],
                                  sequence_config: dict) -> dict:
        """
        Многошаговая последовательность обзвонов.
        sequence_config: {'max_attempts': 5, 'intervals_hours': [24, 48, 72, 168]}
        """
        payload = {
            "agent_id": agent_id,
            "contacts": contacts,
            "sequence": sequence_config,
            "stop_on_outcome": ["booked", "not_interested", "converted"]
        }

        return requests.post(
            f"{self.base_url}/sequences",
            json=payload,
            headers=self.headers
        ).json()
Пример настройки персонажа агентаДля дружелюбного консультанта задаются параметры: тон — нейтрально-позитивный, скорость речи — 0.9 от нормы, имитация раздумий — включена. Это делает разговор естественным и повышает удержание линии на 22%.

Сравнение эффективности: Air AI vs традиционный обзвон

Метрика Air AI Старший SDR
Звонков в час 8-12 8-15
Средняя длительность разговора 3-25 мин 3-20 мин
Конверсия в квалифицированный лид 15-25% 20-35%
Стоимость за MQL ниже в 3-5 раз $40-120
Доступность 24/7 8 часов/день

Air AI существенно снижает затраты на привлечение лида, хотя уступает лучшим SDR в конверсии. Оптимальный сценарий — первичная квалификация и назначение встреч с передачей живому сейлзу. Наша команда имеет 5+ лет опыта в AI и более 50 успешных внедрений.

Ключевые параметры настройки агента Air AI

Параметр Описание Рекомендация
Emotion variation Степень эмоциональной окраски речи 0.6-0.8 для доверия
Max duration Максимальная длина разговора 15-40 мин для продаж
Interruption handling Поведение при прерывании Дружелюбный отклик
Context window Размер окна диалогового контекста 1024 токена

Ориентировочные сроки

Проект от запуска до первой квалификации занимает от 2 до 4 недель. Стоимость рассчитывается индивидуально, зависит от количества агентов и сложности интеграций.

Ограничения и этика

В ряде юрисдикций требуется сообщать, что звонок совершает AI. Мы всегда настраиваем дисклеймер в начале разговора. Air AI не подходит для регулируемых отраслей (медицина, финансы) без дополнительной сертификации.

Чтобы оценить эффект для вашего бизнеса, закажите пилотный проект — мы настроим агента под вашу воронку за 2 недели. Свяжитесь с нами для консультации по внедрению.

Голосовой агент — технология, позволяющая автоматизировать телефонные продажи.

Распознавание и синтез речи: ASR, TTS, клонирование голоса

Заказчик приходит с задачей: транскрибировать 40 000 часов колл-центра за неделю. Штатный облачный ASR (Google Speech-to-Text) выдаёт WER 28% на отраслевой лексике и стоит ощутимо дорого при таких объёмах. Задача — снизить WER ниже 10% и перейти на self-hosted инференс.

Типовые проблемы, с которыми приходят

WER не сходится к нужной метрике. Чаще всего виновата не архитектура, а данные: шумные аудио без нормализации уровня (-23 LUFS вместо стандарта), смешанные языки в одном канале, акцент, специфическая доменная лексика. Whisper large-v3 из коробки даёт WER 8–12% на чистом русском и проваливается до 25–35% на записях с PSTN-артефактами и узкополосным кодеком G.711.

Диаризация ломается при больше двух спикеров. pyannote/speaker-diarization-3.1 работает стабильно при 2–3 говорящих, но DER (Diarization Error Rate) растёт с 6% до 18–22% при 5+ участниках конференции. Проблема усугубляется перекрёстными репликами: по умолчанию min_duration_on=0.1 срезает короткие вставки.

Клонирование голоса — латентность или качество. XTTS v2 (Coqui) даёт натуральный голос, но при потоковой генерации stream_chunk_size=20 первый аудиочанк прилетает через 1.4–2.0 с — неприемлемо для интерактивных сценариев. StyleTTS2 и Kokoro быстрее, но требуют точной подготовки референсного аудио.

Как это решается на практике

Базовый стек для production-пайплайна:

  • ASR: openai/whisper-large-v3 или faster-whisper (CTranslate2-бэкенд, x4 скорость vs оригинал)
  • Диаризация: pyannote.audio 3.x + интеграция через whisperx для выравнивания по словам
  • TTS: XTTS v2 для качества, Edge-TTS или Silero для низкой латентности
  • Клонирование: XTTS v2 (3–6 с референсного аудио) или OpenVoice v2

Типичный пайплайн для колл-центра выглядит так: аудио из очереди Kafka → нормализация ffmpeg -af loudnorm до -23 LUFS → faster-whisper с beam_size=5, vad_filter=Truepyannote диаризация → постпроцессинг (пунктуация через deepmultilingualpunctuation) → запись в PostgreSQL с временными метками.

Кейс из практики. Финтех-компания с 12 000 звонков/день. Исходный WER на русском с банковской лексикой — 22% (Google STT). После fine-tuning whisper-medium на 200 часах размеченных записей через Hugging Face transformers + Seq2SeqTrainer с learning_rate=1e-5, warmup_steps=500 — WER упал до 7.3%. Инференс на одной A10G через faster-whisper с compute_type=float16 обрабатывает 40-минутный звонок за 55 секунд. Итоговая стоимость инференса — $0.0008/мин против $0.016/мин у облачного провайдера.

Дообучение Whisper на доменных данных

Когда общая модель не справляется, fine-tuning — первый инструмент. Минимальный датасет для заметного улучшения — 20–30 часов размеченного аудио в целевом домене. Разметку можно получить через итеративный процесс: прогнать через базовую модель → вручную исправить 10–15% ошибок → переобучить → повторить.

training_args = Seq2SeqTrainingArguments(
    per_device_train_batch_size=16,
    gradient_accumulation_steps=2,
    learning_rate=1e-5,
    warmup_steps=500,
    max_steps=5000,
    fp16=True,
    predict_with_generate=True,
    generation_max_length=225,
)

Важно: при fine-tuning Whisper нужно замораживать encoder первые 1000 шагов (model.freeze_encoder()), иначе акустические признаки разъедутся раньше, чем decoder адаптируется к новой лексике.

Синтез речи: выбор под задачу

Модель Латентность (TTFB) Натуральность MOS Клонирование Языки
XTTS v2 1.2–2.0 с 4.1–4.3 Да, 3 с референса 17
StyleTTS2 0.3–0.6 с 4.0–4.2 Да, требует адаптации en, + fine-tune
Kokoro-82M 0.08–0.15 с 3.7–3.9 Нет en, ja
Silero TTS 0.05–0.1 с 3.4–3.6 Нет ru, en, de, и др.
Edge-TTS ~0.4 с (cloud) 4.0 Нет 100+

Для интерактивных ботов с требованием TTFB < 300 мс — Silero или Kokoro. Для озвучки контента, где важна натуральность — XTTS v2 с потоковой отдачей через WebSocket.

Процесс работы

Начинаем с аудит-сессии: берём 2–4 часа ваших записей, прогоняем через несколько моделей, замеряем WER/CER, смотрим на распределение ошибок по типам (лексические, акустические, язык). Это занимает 1–2 дня и сразу показывает, нужен ли fine-tuning или достаточно пост-обработки.

Далее — выбор архитектуры под ваш throughput: один GPU для 1000 мин/день или кластер с балансировщиком для 100 000+ мин/день. Деплой через Docker-контейнер с FastAPI или Triton Inference Server для батчированного инференса.

Сроки зависят от сложности: базовая интеграция готовой модели — 1–2 недели. Fine-tuning с подготовкой данных и валидацией — 4–8 недель. Полная разработка голосового пайплайна (ASR + диаризация + TTS + мониторинг) — 2–4 месяца.