Разработка и DevOps / кейс 09

Carrot quest: AI-ассистент для обработки входящих лидов

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

  • AI
  • CRM
  • Омниканальность

AI-ассистент для продаж опасен не тогда, когда отвечает медленно, а когда уверенно выходит за разрешенные границы. Он может ускорить сбор типового контекста, но цена, условия сделки и нестандартное обещание должны оставаться под контролем сотрудника. Поэтому в этом кейсе автоматизация строилась не вокруг автономного продавца, а вокруг управляемой квалификации, проверяемой базы знаний и явной передачи диалога человеку.

Результат для менеджера состоит в одной очереди обращений с источником, историей и структурированной карточкой лида. Результат для бизнеса состоит в сокращении ручного переноса данных без потери контроля над тем, что AI имеет право спросить, зафиксировать или отправить.

Контур безопасной автоматизации

  • Задача: Собирать обращения с сайта и мессенджеров, задавать уточняющие вопросы и передавать менеджеру структурированную карточку лида.
  • Направление: AI, SaaS, CRM, омниканальные коммуникации.
  • Точная ответственность AIFlowPoint: Разработка единой очереди обращений, редактора сценариев и AI-модуля с извлечением лидов, базой знаний, CRM-интеграцией и передачей оператору
  • Продолжительность: 6 месяцев.
  • Команда: Product manager, conversation designer, frontend-разработчик, 2 backend-разработчика, ML/LLM-инженер, QA automation и DevOps. Всего 8 человек.
  • Фокус: AI, CRM, Омниканальность.

Почему автономного продавца исключили

Обращения приходили из чата сайта, email и мессенджеров, а менеджеру приходилось вручную собирать контекст и переносить его в CRM. AI мог ускорить уточнение типовых вопросов, но не должен был самостоятельно менять цену, условия или отправлять нестандартные ответы.

Проблема состоит из двух частей. Каналы фрагментируют историю и увеличивают ручную работу. Модель, если не ограничить ее правилами, добавляет новый риск: может сформировать неподтвержденный ответ или продолжить диалог там, где нужен сотрудник. Поэтому цель не сводилась к генерации текста. Нужно было получить управляемый поток от входящего сообщения до карточки и владельца в CRM.

Ответственность AIFlowPoint и решения сотрудника

В объем работ входили единая очередь, редактор сценариев, AI-модуль извлечения данных, база знаний, CRM-интеграция и передача оператору. Автономное ведение сделки, самостоятельное изменение цены и замена менеджера в этот контур не входили: такие решения оставались под человеческим контролем. Разработка всего продукта Carrot quest, всех каналов и CRM-интеграций компании также не входила в роль AIFlowPoint.

Четыре правила ассистента

  • Спроектировали ассистента как помощника, а не автономного продавца.
  • Ограничили ответы утвержденной базой знаний и разрешенными сценариями.
  • Оставили цену, изменение условий и нестандартные сообщения под контролем сотрудника.
  • Маскировали чувствительные поля перед обращением к внешней модели.

Эти ограничения определяют продукт сильнее, чем выбор модели. Разрешенный сценарий задает, какие вопросы можно задать. База знаний ограничивает источник ответа. Низкая уверенность и нестандартный запрос переводят ответственность сотруднику. Маскирование отделяет полезный контекст от полей, которые не должны уходить во внешний AI-контур.

Путь от сообщения до карточки CRM

  • Объединили чат сайта, email и мессенджеры в одну очередь.
  • Разработали визуальный редактор сценариев.
  • Добавили извлечение темы, компании, контакта, срочности и продукта.
  • Настроили поиск дубликатов и связь с существующей карточкой CRM.
  • Подключили базу знаний с указанием источника и календарь для выбора времени встречи.
  • Добавили ручное согласование нестандартных сообщений и сценариев с низкой уверенностью.
  • Подготовили evaluation-набор, журнал решений и контроль стоимости AI-вызовов.

Такой контур связывает операционную работу менеджера и контроль качества модели. Очередь показывает источник и историю, редактор фиксирует допустимый сценарий, извлечение заполняет карточку, дедупликация не размножает сделки, а журнал решений и evaluation-набор позволяют разбирать ошибки по категориям.

Как контролировали данные и решения модели

React дает оператору живую очередь и редактор сценариев. Node.js обслуживает постоянные соединения чатов, FastAPI изолирует AI-обработку и оценку ответов. PostgreSQL хранит карточки и аудит, Redis и RabbitMQ управляют фоновыми задачами, vector search находит релевантный фрагмент базы знаний. Structured output и Zod проверяют формат ответа модели до записи в CRM.

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

Технологический контур проекта: React, TypeScript, Node.js, Python, FastAPI, PostgreSQL, Redis, RabbitMQ, Vector search, LLM API, Structured output, Zod, CRM API, WebSocket, OpenTelemetry, Sentry, Pytest, Vitest и Playwright. Технологии поддерживают разделение online-очереди, AI-обработки, фоновых операций, аудита, проверки формата и пользовательских сценариев.

Когда диалог обязан перейти человеку

Первый риск связан с выходом модели за разрешенный сценарий. Нестандартный ответ не должен отправляться автоматически. Второй риск связан с уверенностью: диалог с низкой уверенностью передается сотруднику вместе с контекстом. Третий риск связан с качеством базы знаний: ответ должен иметь проверяемый источник. Четвертый риск связан с дублями: повторное обращение не создает несколько сделок в CRM. Пятый риск связан с входящим текстом и чувствительными данными: пользовательское сообщение не становится системной инструкцией, а поля маскируются до внешнего вызова.

Как проверяли качество до масштабирования

  • Каждое обращение имеет источник, владельца, статус и историю.
  • После разрешенных уточняющих вопросов карточка содержит обязательные для передачи менеджеру поля.
  • Модель не отправляет нестандартный ответ без разрешения.
  • Ответ из базы знаний содержит проверяемый источник.
  • Низкая уверенность переводит диалог сотруднику.
  • Дубликаты не создают несколько сделок в CRM.
  • Качество проверяется на заранее размеченной выборке, ошибки разбираются по категориям.

Меньше рутины без потери коммерческого контроля

Менеджер получает обращения из чата, email и мессенджеров в одной очереди вместе с источником, историей и заполненной карточкой лида. Ассистент задает только разрешенные уточняющие вопросы, связывает дубликат с существующей записью и передает сотруднику диалог с низкой уверенностью или нестандартным запросом.

Измеримый результат: Время первичной квалификации лида сокращается минимум на 50%; точность обязательных полей карточки превышает 90%; не менее 95% сообщений с низкой уверенностью передаются сотруднику.

Эффект: Ассистент снял типовую нагрузку с менеджеров, но сохранил человеческий контроль над нестандартными ответами и условиями сделки.

Что осталось для безопасного развития ассистента

  • Интерфейс оператора и редактор сценариев
  • Интеграционный сервис
  • AI-модуль с контролируемой передачей сотруднику
  • Evaluation-набор
  • Политика данных и дашборд качества
  • Автотесты
  • Инструкция безопасного развития

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

Как проверяли качество квалификации и передачу сотруднику

Артефакты проекта: evaluation-набор, confusion matrix, CRM-аналитика, журнал решений модели и dashboard стоимости AI-вызовов. Вместе они показывают скорость квалификации, категории ошибок, качество полей, решения о передаче сотруднику и стоимость AI-вызовов.

Кейс релевантен B2B SaaS, сервисным компаниям и продуктам с несколькими входящими каналами, где типовую квалификацию можно структурировать, но коммерческие условия и нестандартная коммуникация должны оставаться у сотрудника. Особенно полезен такой подход, если CRM уже существует, а ручной перенос контекста тормозит ответ.

Если менеджеры собирают одну карточку из нескольких каналов, пришлите список обязательных полей и один типовой диалог. Разберем ограниченный сценарий, передачу диалога сотруднику, оценку качества и критерии безопасной записи в CRM.