Задача: поддержать клиента от знакомства до первых использований
Помощь новому клиенту не заканчивается регистрацией. Ему нужно понять, подходит ли ему продукт, разобраться с началом работы и попробовать его на практике. На каждом этапе уместен свой разговор: при знакомстве — вопросы о потребности, после регистрации — помощь с первым шагом, после тестового использования — обсуждение впечатлений и сложностей.
В этом проекте я связал общение в WhatsApp с историей диалога, данными amoCRM и базой знаний о платформе. Задача ассистента — поддерживать разговор с учётом доступного контекста, а не каждый раз начинать знакомство заново.
Мой вклад
Я разработал связанное решение: подключение WhatsApp, обработку сообщений AI-агентом, сохранение истории диалогов, получение статусов из amoCRM, поиск по базе знаний и отправку отложенных напоминаний.
За ответом в чате стоит последовательность действий: принять сообщение, загрузить контекст, предоставить агенту нужные инструменты и отправить подготовленный ответ пользователю. Для фоновой обработки сообщений и напоминаний используются отдельные процессы.
Как проходит разговор
- Врач пишет в WhatsApp. Ассистент получает сообщение и историю этого диалога. В приветствии он прямо представляется искусственным интеллектом.
- Система подготавливает контекст. Для поиска контакта в amoCRM используется номер телефона. Доступный статус связанной сделки помогает определить, на каком этапе находится клиент.
- Ассистент выбирает следующий шаг. Для знакомства предусмотрен первичный опрос. Для зарегистрировавшегося пользователя и врачей, уже попробовавших платформу, — другие инструкции по ведению разговора.
- Вопросы о продукте обрабатываются через базу знаний. Агенту доступен инструмент поиска, который возвращает фрагменты материалов о платформе.
- При договорённости можно вернуться позже. Если пользователь просит напомнить, ассистент создаёт отложенное сообщение для отправки в WhatsApp.
Первичный опрос — в форме диалога
Для знакомства с врачом предусмотрены три темы: медицинская специализация, примерное количество пациентов в месяц и главная сложность в работе. В инструкциях ассистенту задано спрашивать по одному вопросу и дожидаться ответа, а не отправлять всю анкету сразу.
Так разговор строится вокруг практики конкретного человека. После знакомства ассистенту задано связать рассказ о платформе с обозначенной потребностью и предложить следующий шаг — регистрацию или демо с менеджером.
История переписки и состояние агента сохраняются в базе данных отдельно для каждого диалога. При новом сообщении система использует тот же диалог, поэтому предыдущий разговор остаётся доступным агенту.
Этап в CRM меняет содержание ответа
В проекте предусмотрены инструкции для нескольких этапов: регистрации на платформе и первой, второй и третьей тестовых консультаций.
Например, зарегистрировавшемуся врачу не нужно снова предлагать регистрацию. Для него уместнее уточнить, удалось ли войти в платформу и понятно ли, с чего начать. После первой тестовой консультации фокус меняется: можно спросить о впечатлениях и технических сложностях.
Данные CRM сохраняются в локальной базе и обновляются фоновым процессом. Агент получает доступный снимок статуса и соответствующие инструкции. Это интеграция под этапы конкретного клиентского процесса, а не универсальная настройка для любой воронки.
База знаний вместо ответов только из памяти модели
Для вопросов о продукте подключён поиск по документам: система находит подходящие фрагменты и передаёт их модели для подготовки ответа.
В инструкциях задана граница: не придумывать сведения о платформе. Если в базе знаний нет подтверждённой информации, ассистенту предписано сказать об этом и предложить обсудить вопрос с менеджером на демо. Это правило работы с ответами, а не гарантия безошибочности AI.
Напоминания по договорённости
Пользователь может попросить вернуться к разговору позже. Для такого случая агенту доступен инструмент, который сохраняет время и тему напоминания в базе данных. Когда наступает срок, отдельный фоновый обработчик отправляет сообщение в WhatsApp.
Предусмотрена и отмена ожидающего напоминания при новом ответе пользователя, если для него включена такая настройка. Это позволяет не отправлять ранее запланированное сообщение после того, как разговор уже продолжился.
Результат
Для клиента было разработано и использовалось в работе решение, объединяющее AI-диалог в WhatsApp, постоянную историю переписки, контекст amoCRM, продуктовую базу знаний и отложенные сообщения.
Этот проект показывает мой опыт создания ассистентов под конкретный процесс: не только подключить языковую модель к чату, но и связать её с данными и действиями, которые нужны для сопровождения пользователя.
В кейсе я показываю реализованные возможности. Замеров влияния на конверсию, нагрузку команды и финансовый результат у меня нет.
Технологии
Python, FastAPI, LangChain / LangGraph, OpenAI, PostgreSQL, SQLAlchemy, Taskiq, Redis, FAISS, Docker. Интеграции с amoCRM и WhatsApp.