Update: persona-based bot, fallback→lead pipeline, content admin, voice specifics

This commit is contained in:
neo committed 2026-06-10 21:18:55 +05:00
1 parent 1af355838a
commit 4c014b896f
1 file changed
+46 -19
+46 -19
View File
@@ -1,5 +1,7 @@
# 🗺️ План реализации calls24 # 🗺️ План реализации calls24
> На основе кейса Adict.ru: команда персон, маршрутизация, честный fallback → лид.
## Этап 0: Инфраструктура (неделя 1) ## Этап 0: Инфраструктура (неделя 1)
- [x] Репозиторий на Gitea (`neo/calls24`) - [x] Репозиторий на Gitea (`neo/calls24`)
@@ -25,7 +27,7 @@
**Вход:** WAV/MP3 файлы **Вход:** WAV/MP3 файлы
**Выход:** JSON-анализ + HTML-отчёт **Выход:** JSON-анализ + HTML-отчёт
## Этап 2: Генерация скрипта (недели 3-4) ## Этап 2: Генерация скрипта и персон (недели 3-4)
### voice-analyzer/pattern_gen.py ### voice-analyzer/pattern_gen.py
- [ ] Анализ паттернов успешных звонков - [ ] Анализ паттернов успешных звонков
@@ -34,13 +36,18 @@
- Фразы-крючки - Фразы-крючки
- Обработка возражений - Обработка возражений
- Закрытие сделки - Закрытие сделки
- [ ] Сохранение скрипта в PostgreSQL - [ ] Генерация набора персон (на основе типа бизнеса)
- Менеджер продаж (основной)
- Консультант (вопросы)
- Финансист (цены, ипотека)
- Куратор (постпродажа)
- [ ] Сохранение скриптов и персон в PostgreSQL
- [ ] Версионирование скриптов - [ ] Версионирование скриптов
**Вход:** Анализ 100+ звонков клиента **Вход:** Анализ 100+ звонков клиента
**Выход:** JSON state machine для робота **Выход:** JSON state machine для каждой персоны
## Этап 3: Голосовой робот (недели 4-6) ## Этап 3: Голосовой робот (недели 4-7)
### voice-bot/ ### voice-bot/
- [ ] `main.py` — FastAPI (REST + WebSocket) - [ ] `main.py` — FastAPI (REST + WebSocket)
@@ -53,52 +60,72 @@
- STT → текст - STT → текст
- LLM → текст → TTS → аудио - LLM → текст → TTS → аудио
- Задержка <1 сек - Задержка <1 сек
- [ ] `script.py` — State Machine - [ ] `router.py` — Маршрутизатор между персонами
- Приветствие - Автоопределение роли по контексту
- Квалификация - Выбор персоны (автоматически или клиент выбирает)
- Предложение - [ ] `persona.py` — State Machine для каждой персоны
- Приветствие (с тоном персоны)
- Квалификация / Ответ на вопросы
- Предложение / Консультация
- Возражения - Возражения
- Закрытие - Закрытие / Передача
- [ ] `memory.py` — Контекстная память (Redis) - [ ] `memory.py` — Контекстная память (Redis)
- Общая память сессии (персона видит, что было до)
- Память персоны (её специфичные данные)
- [ ] `fallback.py` — Честный «не знаю»
- Не галлюцинировать
- Предложить контакт менеджера
- Сохранить тему в content_entries
- [ ] `voice_bridge.py` — Звуковой мостик (300мс)
- При передаче между персонами
- Чтобы клиент не чувствовал разрыва
**Вход:** SIP-линия **Критичные фичи голоса:**
**Выход:** Живой голосовой разговор - Прерывания: клиент перебивает → система замолкает мгновенно
- Пауза внутри мысли ≠ конец фразы (ждём 1.5-2с тишины)
- Защита ролей: персоне нельзя уходить в чужую роль
## Этап 4: Замкнутый цикл (недели 6-8) ## Этап 4: Замкнутый цикл + контент-админка (недели 7-9)
- [ ] Автоматический анализ звонков робота - [ ] Автоматический анализ звонков робота
- [ ] Выявление слабых мест скрипта - [ ] Выявление слабых мест скрипта
- [ ] Автогенерация улучшенной версии - [ ] Автогенерация улучшенной версии
- [ ] A/B тестирование скриптов - [ ] A/B тестирование скриптов
- [ ] **Content Admin** — админка для контент-менеджера
- Список «запрашиваемых тем, на которые нет ответа»
- Добавление ответов без участия разработчика
- Гибридный поиск (BM25 + эмбеддинги)
- Обновление KB без релиза
- [ ] Dashboard для мониторинга - [ ] Dashboard для мониторинга
**Вход:** Все звонки робота **Вход:** Все звонки робота
**Выход:** Улучшенный скрипт → новая версия **Выход:** Улучшенный скрипт + обновлённая KB → новая версия
## Этап 5: CRM и интеграции (недели 7-9) ## Этап 5: CRM и интеграции (недели 9-11)
- [ ] Bitrix24 (контакты, сделки) - [ ] Bitrix24 (контакты, сделки)
- [ ] AmoCRM (контакты, воронки) - [ ] AmoCRM (контакты, воронки)
- [ ] Telegram-бот для клиента - [ ] Telegram-бот для клиента
- [ ] API для сторонних систем - [ ] API для сторонних систем
## Этап 6: Продуктовеение (недели 9-12) ## Этап 6: Продуктовеение (недели 11-14)
- [ ] Веб-дашборд для клиента - [ ] Веб-дашборд для клиента
- [ ] Личный кабинет - [ ] Личный кабинет
- [ ] Аналитика по звонкам - [ ] Аналитика по звонкам
- [ ] Биллинг и оплата - [ ] Биллинг и оплата
- [ ] Onboarding-онбординг - [ ] Onboarding
## Приоритеты ## Приоритеты
1. **Самый быстрый путь к деньгам:** Этап 1 (анализ 5-10 звонков → отчёт) 1. **Самый быстрый путь к деньгам:** Этап 1 (анализ 5-10 звонков → отчёт)
2. **Главная фича:** Этап 3 (реальный голосовой робот) 2. **Главная фича:** Этап 3 (голосовой робот с персонами)
3. **Конкурентное преимущество:** Этап 4 (замкнутый цикл) 3. **Конкурентное преимущество:** Этап 4 (замкнутый цикл + «не знаю» → лид)
## Риски ## Риски
- Yandex Realtime API: задержка, стабильность WebSocket - Yandex Realtime API: задержка, стабильность WebSocket
- SIP: NAT-пробросы, проброс RTP, WebSIP Proxy стабильность - SIP: NAT-пробросы, проброс RTP, WebSIP Proxy стабильность
- 152-ФЗ: хранение записей, согласие клиентов - 152-ФЗ: хранение записей, согласие клиентов
- Конкуренция: Exolve (МТС) — большой игрок с бюджетом - Конкуренция: Exolve (МТС), Звонобот, Unibell
- **Ключевой риск:** качество TTS — должен быть естественный, не шаблонный