Внедрение платформы Bland AI для автономных телефонных AI-агентов

Проектируем и внедряем системы искусственного интеллекта: от прототипа до production-ready решения. Наша команда объединяет экспертизу в машинном обучении, дата-инжиниринге и MLOps, чтобы AI работал не в лаборатории, а в реальном бизнесе.
Показано 1 из 1 услугВсе 1566 услуг
Внедрение платформы Bland AI для автономных телефонных AI-агентов
Средняя
от 1 рабочего дня до 3 рабочих дней
Часто задаваемые вопросы
Направления AI-разработки
Этапы разработки AI-решения
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1240
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1167
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    867
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1084
  • image_logo-advance_0.png
    Разработка логотипа компании B2B Advance
    563
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    829

Разработка автономных телефонных агентов на Bland AI

Bland AI — платформа для создания телефонных голосовых агентов, которые ведут полноценные двусторонние разговоры по заданному сценарию. В отличие от классических IVR-систем с жёстким деревом меню, агент на Bland AI понимает свободную речь, обрабатывает нестандартные ответы и интегрируется с бизнес-системами через вебхуки в реальном времени.

Архитектура и возможности Bland AI

Платформа работает по модели: входящий/исходящий звонок → Speech-to-Text → LLM для генерации ответа → Text-to-Speech → озвучивание. Весь цикл занимает 300-700ms, что обеспечивает естественный темп разговора без заметных пауз.

Ключевые компоненты:

  • Pathways — граф диалога с условными переходами (ветвление по ответам пользователя)
  • Tools — вызов внешних API прямо в ходе звонка (проверка статуса заказа, запись в CRM)
  • Knowledge Base — векторное хранилище для ответов на вопросы по документам
  • Transfer — переключение на живого оператора при триггере эскалации
import requests
import json

class BlandAIAgent:
    """Управление агентами через Bland AI API"""

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

    def create_phone_call(self, phone_number: str,
                           task: str,
                           pathway_id: str = None,
                           voice: str = "maya",
                           max_duration: int = 12) -> dict:
        """
        Инициирование исходящего звонка.
        task: инструкция для агента (prompt)
        pathway_id: ID предварительно настроенного графа диалога
        """
        payload = {
            "phone_number": phone_number,
            "voice": voice,
            "max_duration": max_duration,
            "task": task,
            "language": "ru",
            "reduce_latency": True,
            "interruption_threshold": 100,  # ms, насколько ждём паузы
        }

        if pathway_id:
            payload["pathway_id"] = pathway_id

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

    def create_pathway(self, name: str, nodes: list[dict],
                        edges: list[dict]) -> dict:
        """
        Создание графа диалога (Pathway).
        nodes: узлы разговора (вопросы, ответы, действия)
        edges: переходы между узлами по условиям
        """
        payload = {
            "name": name,
            "nodes": nodes,
            "edges": edges
        }

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

    def analyze_call(self, call_id: str,
                      questions: list[dict]) -> dict:
        """
        Post-call анализ: извлечение структурированных данных из разговора.
        questions: [{"question": "...", "type": "boolean|text|date"}]
        """
        payload = {"questions": questions}

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

    def get_call_transcript(self, call_id: str) -> dict:
        """Транскрипт и метаданные завершённого звонка"""
        response = requests.get(
            f"{self.base_url}/v1/calls/{call_id}",
            headers=self.headers
        )
        return response.json()

Сценарии применения

Исходящие продажи и квалификация лидов. Агент обзванивает базу лидов, задаёт квалифицирующие вопросы по BANT-фреймворку и передаёт горячих лидов в CRM с заполненными полями. Конверсия из лида в квалифицированный лид — сопоставима с junior SDR при 10-кратной производительности.

Подтверждение встреч и записей. Автоматический обзвон накануне встречи с возможностью переноса через голосовой ответ. Снижает no-show rate на 35-55%.

Сбор отзывов после сервиса. NPS-опрос через звонок даёт response rate 40-60% против 5-15% у email. Агент углубляется в низкие оценки с follow-up вопросами.

Метрики и ограничения

Параметр Значение
Latency первого ответа 400-700ms
Распознавание русского хорошее (Whisper-based)
Одновременных звонков до 1000+ (enterprise)
Стоимость ~$0.09/мин
CSAT vs живой оператор 75-85%

Ограничения: сложные эмоциональные разговоры (жалобы, конфликты) требуют эскалации на человека. Агент не распознаёт сарказм и культурные нюансы с надёжностью живого сотрудника. Для чувствительных тематик (здравоохранение, юридические вопросы) необходима дополнительная настройка ограничений.

Типовой срок развёртывания простого агента для подтверждения записей — 1-2 недели. Сложный квалификационный агент с интеграцией CRM и обработкой возражений — 4-6 недель.