| Контекст | Финансовая компания, обработка входящих ответов после ежедневной холодной WhatsApp-рассылки |
|---|---|
| Задача | Внедрить AI-ассистента, который ведет «холодного» лида по скрипту до этапа самостоятельной регистрации |
| Роль | Integration & Automation Engineer (проектирование архитектуры, разработка пайплайнов, промпт-инжиниринг) |
| Стек | n8n, Google Gemini API, Supabase (pgvector), REST API, Webhooks, Google Sheets API. |
| Статус | MVP протестирован, на паузе у клиента. Деплой готов. |
| Главный результат | Спроектирована отказоустойчивая система квалификации лидов с ИИ, обрабатывающая мультимодальные данные (текст, голос) и снижающая нагрузку на менеджеров. |
Совместно с фаундером и отделом продаж оцифрован скрипт и матрица возражений.
Разработано event-driven middleware на n8n: бот ведёт клиента по State Machine к целевому действию — регистрации.
При отклонении от сценария LLM (Gemini) автономно отрабатывает возражения через векторную БД (Supabase) и возвращает клиента в скрипт.
При сложных, нестандартных запросах или по явной просьбе клиента — бот бесшовно передает диалог менеджеру на дальнейший созвон.
<aside>
| НАПРАВЛЕНИЯ | ПЛАТФОРМЫ |
|---|---|
| Channel / Ingress | Provider-agnostic Webhook — стандартизированный прием JSON payload от любого WhatsApp-провайдера. |
| Orchestrator | n8n — State machine, роутинг, нормализация данных, обработка ошибок. |
| AI / Reasoning | Google Gemini API — классификация интентов, скоринг. |
| Knowledge Base (RAG) | Supabase (pgvector) — хранение эмбеддингов, семантический поиск по официальным скриптам и FAQ. |
| Operational DB | CMS (Google Sheets API) — стейт-менеджмент сессий, дедупликация (Idempotency), Dead Letter Queue, динамическое хранилище скриптов. |
Гибридная машина состояний
Жёсткая воронка Discovery → Education → Registration Link на основе stage_id. LLM возвращает системные коды (SEND_INITIAL_OFFER, MANAGER, TERMINATE_CONVERSATION), а не просто текст.
Агентное поведение и RAG
При отклонении от скрипта ИИ автономно обращается к векторной БД (Tool "Objections") или генерирует ответ по Guardrails. Хендофф на менеджера — только если запрос вне компетенций ИИ или клиент явно просит человека.
Защита от банов
При детекции агрессии или просьб "не писать" бот мгновенно отправляет прощание и ставит статус Do Not Contact. Это предотвращает дальнейшие фоллоу-апы и защищает аккаунт от теневого бана.
Мультимодальный конвейер
Автоматическая конвертация голоса (Whisper) и vCard-контактов в единый текстовый контекст перед LLM.
Умная передача менеджеру
Kill-Switch командой /stop физически блокирует ИИ для данного контакта.
<aside>
messageId сверяется с базой processed_events. Дубли от ChatApp/провайдера мгновенно игнорируются (Drop) для предотвращения двойных ответов.HTTP 429 Rate Limits.99_global_incident_handler) перехватывает падение любой ноды, пишет лог ошибки в базу и отправляет Debug-алерт в Telegram.RUNBOOK.md с матрицей инцидентов (Edge Cases Handling Matrix) для быстрой реакции на сбои (падение LLM, лимиты Google API, дубли).processed_events, сбои — в dead_letters с привязкой к execution_id. Каждый ответ ИИ сохраняет источник (rag_source) для мониторинга качества.
</aside>| WhatsApp (Provider-agnostic) | Webhook (JSON POST). Прием мультимодальных payload-ов (text, voice, image, contacts). Сервер немедленно отдает 200 OK, а обработка и отправка ответов происходит асинхронно для стабильности провайдера. |
|---|---|
| Google Gemini API | Использование gemini-1.5-flash для классификации интентов и text-embedding-004 для генерации векторов Базы Знаний. |
| Supabase (PostgreSQL + pgvector) | Векторная база данных для семантического поиска по матрице возражений. Подключена через нативные ноды Postgres Vector Store — для загрузки эмбеддингов (Data Ingestion) и поиска релевантных ответов (Retrieve Documents). |
| Google Sheets API | Использование OAuth2 для безопасного доступа. Выполняет роль легковесной операционной БД (стейт-менеджмент сессий, логирование, DLQ). |
| Telegram Bot API | Отправка мгновенных уведомлений администраторам при критических ошибках (DLQ) или запросе эскалации. |