Как это работает¶
Поток обращения¶
flowchart TD
START(["🗣 Клиент пишет<br/>виджет / Telegram"]) --> DETECT["AI определяет тип<br/>B2B или B2C"]
DETECT --> SELECT["Выбирает промпт +<br/>базу знаний + команды"]
SELECT --> DECOMP["Декомпозиция обращения<br/>категория → intent → сложность"]
DECOMP --> L1{"Ответ найден<br/>в KB?"}
L1 -->|Да| ANS1["✅ Ответ из<br/>базы знаний"]
L1 -->|Нет| L2{"Нужна<br/>диагностика?"}
L2 -->|Да| DIAG["🔧 Action Engine<br/>диагностика + команда"]
DIAG --> ANS2["✅ Ответ с<br/>результатом команды"]
L2 -->|Нет| INC["🚨 Инцидент #XXXX"]
INC --> ROUTE{"Маршрутизация"}
ROUTE -->|"knowledge_gap<br/>bad_answer"| TRAINER["🧑🏫 AI-тренер<br/>правит KB"]
ROUTE -->|"physical<br/>system_error"| TECH["👨🔧 Техспециалист<br/>решает проблему"]
TRAINER --> REGEN["AI перегенерирует<br/>ответ"]
TECH --> NOTIFY["AI уведомляет<br/>клиента"]
REGEN --> DONE(["✅ Клиент получил ответ"])
NOTIFY --> DONE
ANS1 --> FEEDBACK{"Помогло?"}
ANS2 --> FEEDBACK
FEEDBACK -->|Да| DONE
FEEDBACK -->|"Нет (2 попытки)"| INC
style START fill:#7c3aed,color:#fff,stroke:#5b21b6
style DONE fill:#22c55e,color:#fff,stroke:#16a34a
style INC fill:#ef4444,color:#fff,stroke:#dc2626
style DIAG fill:#3b82f6,color:#fff,stroke:#2563eb
style TRAINER fill:#f59e0b,color:#000,stroke:#d97706
style TECH fill:#f59e0b,color:#000,stroke:#d97706
Три уровня решения¶
Уровень 1 — ответ из базы знаний¶
Клиент спрашивает "как подключить подписку Семья". AI находит статью в KB, отвечает. Диалог закрыт.
Уровень 2 — диагностика + команда¶
Клиент: "камера не показывает". AI запрашивает серийный номер. Проверяет статус через Action Engine. Если камера offline — выполняет перезагрузку. Отвечает результатом.
На каждом этапе — двухэтапный вызов:
- AI генерирует JSON-команду
- Action Engine проверяет права и rate limits
- Action Engine выполняет
- Результат обратно в AI
- AI формулирует ответ человеческим языком
Уровень 3 — инцидент¶
AI понимает проблему, но не может решить удалённо. Сообщает клиенту номер обращения. Создаёт инцидент с полным контекстом. Диалог не закрывается — клиент получит ответ когда проблема будет решена.
Обратная связь¶
После каждого ответа AI клиент видит кнопки:
- Помогло — диалог завершён
- Не помогло — AI пробует альтернативный подход. Если повторно "не помогло" — создаётся инцидент
Две попытки — потолок.
Инцидент → решение → ответ¶
- AI создаёт инцидент, сообщает клиенту номер
- Система определяет тип и маршрутизирует (AI-тренеру или техспециалисту)
- Человек работает над решением за сценой (SLA тикает)
- Решение найдено — AI автоматически отправляет ответ клиенту
- Клиент подтверждает или инцидент переоткрывается
Человек никогда не пишет клиенту. Только решает проблему.
Кластеризация и предотвращение¶
Система группирует похожие инциденты в кластеры. Чем больше инцидентов — тем выше критичность:
| Инцидентов | Уровень | Действие |
|---|---|---|
| 1–2 | Обычный | В очереди |
| 3–5 | Повышенный | Подсветка в дашборде |
| 6–10 | Высокий | Push-уведомление менеджеру |
| 10+ | Критический | Алерт техкоманде, автосоздание тикета |
Тренд-детектор анализирует все обращения (не только инциденты) и предупреждает о растущих темах до того, как они станут массовыми.