RAG-ассистент по звонкам на Битрикс24 VibeCode: расшифровки, эмбеддинги и База знаний
VibeCode открыл три API, которые позволяют собрать полноценного ИИ-ассистента по звонкам целиком внутри российского контура Битрикс24 - без сторонних сервисов и без передачи данных за рубеж: готовые расшифровки, векторные эмбеддинги и База знаний 2.0.
Зачем это нужно и в чём идея
Отдел контроля качества традиционно тратит часы на прослушивание записей. Руководитель отдела продаж хочет знать, следуют ли менеджеры скрипту. Новый сотрудник не может быстро поднять историю по клиенту.
VibeCode решает всё это одной связкой трёх API, которые появились в платформе к июлю 2026 года (платформа находится в активной бете):
- Расшифровки звонков - готовый текст прямо из Битрикс24, без повторной транскрибации.
- Эмбеддинги
bitrix/embeddings- векторизация расшифровок для семантического поиска. - База знаний 2.0 - хранение векторизованных фрагментов и поиск по ним.
Результат - ассистент, который отвечает на вопросы строго по реальным звонкам, а не генерирует вымышленные ответы. Это и есть RAG (поиск с дополнением генерации): модель получает только найденные куски расшифровок и строит ответ по ним.
Все три API работают внутри контура Битрикс24. Данные не покидают инфраструктуру портала - критично для компаний, работающих в рамках 152-ФЗ. Подробнее о хранении данных читайте в статье где ИИ Битрикс24 обрабатывает данные.
Три API: что за что отвечает
Как данные проходят путь от записи звонка до ответа ассистента. Телефония создаёт активность в CRM, VibeCode забирает готовую расшифровку, векторизует её и кладёт в Базу знаний; при запросе пользователя ассистент ищет релевантные фрагменты и формирует ответ через BitrixGPT.
flowchart LR
PHONE[Телефония / CRM] -->|активность| TRANSCRIPT["GET /v1/activities/:id/transcript"]
TRANSCRIPT -->|текст| EMBED["POST /v1/embeddings\n(bitrix/embeddings)"]
EMBED -->|вектор + текст| KB["База знаний 2.0\n(POST /v1/note)"]
KB -->|поиск| SEARCH["GET /v1/note/documents/search"]
SEARCH -->|релевантные куски| LLM["BitrixGPT\n(bitrix/bitrixgpt-5.5)"]
LLM -->|ответ| USER[Менеджер / РОП]
Таблица трёх API
| Эндпоинт | Роль в ассистенте | Scope | Примечание |
|---|---|---|---|
GET /v1/activities/:activityId/transcript |
Получить готовую расшифровку звонка из CRM | crm |
Требует включённого BitrixGPT для звонков в настройках портала |
POST /v1/embeddings |
Векторизовать текст (модель bitrix/embeddings) |
vibe:ai |
Бесплатная модель; формат запроса совместим с OpenAI |
GET /v1/note/documents/search и POST /v1/note |
Хранить фрагменты расшифровок и искать по смыслу | note |
База знаний 2.0; поиск полнотекстовый + API |
Актуальные квоты и лимиты модели проверяйте в документации: vibecode.bitrix24.tech/docs
Шаг 1. Получение расшифровки звонка
Битрикс24 умеет расшифровывать звонки силами встроенного BitrixGPT - текст сохраняется как часть активности в CRM. VibeCode даёт доступ к этому тексту напрямую через API:
GET /v1/activities/:activityId/transcript
Что нужно:
- Scope
crmв ключе приложения. - Включённая функция BitrixGPT для звонков на уровне настроек портала.
- Идентификатор (
activityId) активности-звонка - берётся из списка активностей CRM.
Что возвращает: готовый текст разговора, разбитый по ролям («Оператор» / «Клиент»). Повторно транскрибировать аудио не нужно - платформа уже сделала это за вас.
Если вам интересно, как AI Битрикс24 обрабатывает звонки в штатном режиме CoPilot, - смотрите статью AI-анализ звонков в Битрикс24.
Шаг 2. Векторизация расшифровки
Чтобы искать по смыслу (а не просто по ключевому слову), расшифровку нужно превратить в вектор. Для этого используется модель bitrix/embeddings:
POST /v1/embeddings
Формат запроса - OpenAI-совместимый:
{
"model": "bitrix/embeddings",
"input": [
"Оператор: Добрый день, как я могу помочь?",
"Клиент: Меня интересует доставка в регионы..."
]
}
Массив строк в input → массив векторов в ответе за один запрос. Длинные расшифровки лучше разбивать на смысловые фрагменты (по 300-500 слов) перед отправкой - так семантический поиск будет точнее.
Ключевые параметры:
- Нужен scope
vibe:ai. - Модель бесплатная (входит в AI-квоту по тарифу; на момент публикации - в пределах квоты без списания с кошелька).
- Подключается через тот же AI Router, что и остальные модели VibeCode.
Шаг 3. Хранение и поиск в Базе знаний 2.0
База знаний 2.0 открыта для API с июля 2026 года. Через неё можно создавать документы, наполнять их содержимым и искать - прямо из кода приложения.
Создание документа с фрагментом расшифровки:
POST /v1/note
В тело документа кладём: идентификатор звонка, дату, менеджера, текст фрагмента и его вектор (или метаданные для связки с вектором).
Поиск по содержимому:
GET /v1/note/documents/search
При запросе пользователя - сначала векторизуем вопрос той же моделью bitrix/embeddings, затем ищем ближайшие по смыслу фрагменты в Базе знаний. Найденные куски передаём в контекст языковой модели.
Подробнее о возможностях Базы знаний 2.0 через API читайте в статье База знаний 2.0 через API в Битрикс24 VibeCode, а об эмбеддингах и векторном поиске в целом - в RAG и векторный поиск на Битрикс24 VibeCode.
Шаг 4. Генерация ответа через BitrixGPT
Когда релевантные фрагменты найдены, их передают в языковую модель вместе с вопросом пользователя. Рекомендуемая модель для ассистента - bitrix/bitrixgpt-5.5 или bitrix/bitrixgpt-5.5-agent (доступны по умолчанию в тарифах Коворк/Код).
Системный промпт для ассистента:
Ты - ассистент по анализу звонков. Отвечай ТОЛЬКО на основе предоставленных фрагментов расшифровок.
Если ответа в фрагментах нет - сообщи об этом прямо. Не выдумывай.
Фрагменты:
{{retrieved_chunks}}
Вопрос: {{user_question}}
Модель bitrix/agent/auto (авто-роутер) лучше не использовать для этого сценария - она может выбрать недоступную модель и вернуть ошибку 402. Зафиксируйте конкретную модель явно.
Три сценария использования ассистента
Авто-резюме разговора
После каждого звонка приложение автоматически:
- Забирает расшифровку через
GET /v1/activities/:activityId/transcript. - Передаёт текст в BitrixGPT с промптом: «Выдели ключевые договорённости, возражения клиента и следующий шаг».
- Сохраняет резюме в карточку сделки или задачу.
Менеджер видит краткое резюме сразу после звонка - без необходимости прослушивать запись.
Проверка по чек-листу качества
Ассистент проверяет каждый звонок по заданному набору критериев:
| Критерий | Что проверяем |
|---|---|
| Приветствие | Назвал ли менеджер своё имя и компанию |
| Выявление потребности | Задавались ли открытые вопросы |
| Презентация | Было ли предложение под запрос клиента |
| Работа с возражением | Фиксировались ли возражения и давались ли ответы |
| Следующий шаг | Договорились ли о конкретном действии |
| Прощание | Корректное завершение разговора |
Результат проверки сохраняется в Базе знаний или карточке CRM; руководитель отдела продаж получает уведомление по звонкам ниже порогового балла.
RAG-поиск по истории звонков
Пользователь задаёт вопрос: «Что клиент говорил о сроках доставки в последних звонках?»
Ассистент:
- Векторизует вопрос.
- Ищет ближайшие по смыслу фрагменты в Базе знаний.
- Возвращает ответ со ссылками на конкретные звонки.
Ответ строго ограничен найденными расшифровками - модель не может «додумать» то, чего не было в разговорах.
Чек-лист сборки ассистента
Используйте этот список как план разработки перед стартом. Подробнее о том, как правильно оформить задачу на доработку, читайте в статье структура ТЗ на доработку Битрикс24.
- Ключи API - создан ключ со scope
crm+vibe:ai+note - BitrixGPT для звонков - включён в настройках телефонии портала
- Тест расшифровки -
GET /v1/activities/:activityId/transcriptвозвращает текст - Тест эмбеддингов -
POST /v1/embeddingsс модельюbitrix/embeddingsработает - База знаний создана - через
POST /v1/noteсоздан хотя бы один документ - Поиск работает -
GET /v1/note/documents/searchвозвращает релевантные результаты - Промпт для резюме написан и протестирован на 5+ реальных расшифровках
- Промпт для чек-листа написан, критерии согласованы с руководителем отдела продаж
- Промпт для RAG - модель получает только найденные куски, не выдумывает
- Модель зафиксирована - используется
bitrix/bitrixgpt-5.5илиbitrix/bitrixgpt-5.5-agent, неauto - Обработка ошибок - если расшифровка не готова, приложение ждёт и повторяет запрос
- Размер фрагментов - расшифровки разбиты на куски по 300-500 слов перед векторизацией
- Деплой - приложение задеплоено в галактику (рекомендуемый способ деплоя на платформе)
- Логирование - включены логи через
GET /v1/infra/servers/:id/logs
Технические ограничения и нюансы
AI-квоты. Модели бесплатны в пределах квоты по тарифу (множители X1/X2/X3 в зависимости от тарифа Коворк/Код). Сверх квоты - списание с кошелька. Точные значения квот и стоимость сверхлимитного использования - на момент публикации уточняйте в документации: vibecode.bitrix24.tech/docs/ai/embeddings.
Расшифровка только новых звонков. BitrixGPT для звонков обрабатывает записи, появившиеся после включения функции. Ретроспективная расшифровка старых записей через этот API недоступна.
Таймаут exec. При выполнении тяжёлых операций (массовая индексация расшифровок) учитывайте таймаут 500 секунд на операцию сервера. Для больших объёмов делайте пакетную обработку.
bitrix/bitrixgpt-5.5-thinking - «думающая» модель, которая могла бы улучшить качество проверки по чек-листу, - по умолчанию не включена для тарифов Коворк/Код. Требует отдельного включения на уровне аккаунта.
Командная разработка. Если над ассистентом работают несколько разработчиков - используйте git + worktree, иначе деплои будут перезаписывать друг друга.
Сравнение с внешними сервисами речевой аналитики
| Параметр | VibeCode RAG-ассистент | Внешние сервисы (Dialext, aiokk, WhisperAI и др.) |
|---|---|---|
| Хранение данных | Внутри контура Битрикс24 | На серверах стороннего сервиса |
| Стоимость транскрибации | Входит в AI-квоту BitrixGPT | Поминутная или по подписке |
| Гибкость логики | Полная - любой промпт, любой чек-лист | Ограничена настройками сервиса |
| Время внедрения | Разработка: от нескольких дней | Установка приложения: часы |
| RAG по истории | Да - через Базу знаний 2.0 | Зависит от сервиса |
| Интеграция с CRM | Нативная через API | Через коннектор/вебхук |
Внешние сервисы речевой аналитики подходят для быстрого старта без разработки. VibeCode-подход оправдан, когда важны: полный контроль над данными, кастомная логика оценки и возможность строить RAG по накопленной истории звонков.
Вывод
Связка трёх API VibeCode - transcript + embeddings + note - закрывает основные задачи контроля качества и аналитики звонков без вывода данных за периметр Битрикс24. Это актуально для компаний, которым важно соответствие 152-ФЗ, а также для тех, кто хочет гибко настраивать логику оценки под свои скрипты продаж.
Платформа VibeCode находится в активной бете (данные актуальны на июль 2026). API и квоты могут меняться - следите за обновлениями в документации: vibecode.bitrix24.tech/docs.
Команда АС Проект - Платиновый партнёр Битрикс24 - помогает спроектировать архитектуру ассистента, собрать приложение на VibeCode и встроить его в существующие процессы контроля качества и продаж.
Частые вопросы
Нужно ли заново транскрибировать звонки для RAG-ассистента?
Нет. Эндпоинт GET /v1/activities/:activityId/transcript возвращает уже готовую расшифровку, которую Битрикс24 создал силами BitrixGPT. Важно, чтобы функция BitrixGPT для звонков была включена в настройках портала до записи звонка.
Сколько стоит использование модели bitrix/embeddings?
На момент публикации модель bitrix/embeddings бесплатна в пределах AI-квоты по тарифу Коворк/Код. Точные лимиты и стоимость сверхлимитного использования уточняйте в документации VibeCode: vibecode.bitrix24.tech/docs/ai/embeddings - платформа находится в активной бете и параметры могут меняться.
Выходят ли данные звонков за пределы Битрикс24 при использовании VibeCode?
Нет. Все три API (расшифровки, эмбеддинги, База знаний 2.0) работают внутри инфраструктуры Битрикс24. Данные не передаются сторонним сервисам, что важно для соответствия требованиям 152-ФЗ.
Какую языковую модель использовать для генерации ответов ассистента?
Рекомендуется bitrix/bitrixgpt-5.5 или bitrix/bitrixgpt-5.5-agent - они доступны по умолчанию в тарифах Коворк/Код. Избегайте bitrix/agent/auto: авто-роутер может выбрать недоступную модель и вернуть ошибку 402.
Можно ли индексировать старые звонки, записанные до включения BitrixGPT?
Через эндпоинт GET /v1/activities/:activityId/transcript доступны только звонки, расшифрованные после включения BitrixGPT для звонков на портале. Для старых записей потребуется отдельная транскрибация сторонними инструментами с последующей загрузкой текста в Базу знаний 2.0.
Как разбить длинную расшифровку перед векторизацией?
По опыту работы с RAG-системами оптимальный размер фрагмента - 300-500 слов с небольшим перекрытием (overlap) между соседними кусками. Это обеспечивает точность семантического поиска и не превышает ограничения на длину входных данных модели эмбеддингов.
На основе практики
Статья подготовлена на основе 9 внутренних документов из практики АС Проект - планов работ, ТЗ, опросных листов и кейсов внедрения Битрикс24.
Нужна помощь с внедрением Битрикс24?
АС Проект - платиновый партнёр Битрикс24. Разберём вашу задачу, оценим объём работ в часах и предложим план - бесплатно.