Use Case 13: Capstone — інтегрований бот
Ціль: один навчальний бот об'єднує навички онбордингу клієнта без Copilot — типовий MVP для клієнта. Завершення — self-check, без здачі наставнику.
Необхідні права та доступ
| Модуль / налаштування | Навіщо |
|---|---|
| Scenario Builder | Головне меню і три гілки flow |
| Fast Line Pro | FAQ-гілка (Use Case 1) |
| Settings → Operator Panel | Connect-гілка (Use Case 3) |
| Settings → Tickets | Тікет-гілка (Use Case 10) |
| Custom Data | Опційна третя гілка замість FAQ (Use Case 7) |
| Runs / Chat preview | Self-check усіх гілок |
Бізнес-контекст
Клієнт отримує один вхід у бота з головним меню: поставити питання AI, звернутися до оператора або подати формальне звернення (тікет або скарга в базу). Це перевірка, що ви вмієте зібрати робочий MVP для клієнта без зовнішнього супроводу.
Очікуваний результат
MessageKeyboard (головне меню)
├─ «Оператор» → flow Use Case 3
├─ «Скарга» / «Тікет» → flow Use Case 10
└─ «FAQ» → flow Use Case 1
(або «Скарга в базу» → flow Use Case 7)
Без Copilot у мінімальному capstone — Copilot див. Use Case 12 (optional).
Архітектура
Start → MessageKeyboard (головне меню)
├─ operator → [секція / підграф Use Case 3]
├─ ticket → [секція / підграф Use Case 10]
└─ faq → [секція / підграф Use Case 1]
(або complaint → Use Case 7)
Кожна гілка: повернення в меню або End після завершення
Покрокова реалізація
Крок 0. Підготовка в існуючому training bot
Використовуйте той самий навчальний бот, де проходили Use Case 1–11. Не створюйте новий бот — імпортуйте або скопіюйте вже перевірені фрагменти сценарію.
Переконайтеся, що з попередніх Use Case працюють:
| Use Case | Мінімум для capstone |
|---|---|
| Use Case 1 | Fast Line Pro + fallback edge |
| Use Case 3 | connect: success / limit / error |
| Use Case 10 | create: success / error, ticket_id |
| Use Case 7 | (опційно) запис у CD + id у Runs |
| Use Case 9 | метод audit unconnected edges |
Крок 1. Головне меню
Нода: MessageKeyboard після Start.
| Кнопка | Payload | Куди веде |
|---|---|---|
| «Оператор» | menu_operator |
Connect flow |
| «Подати звернення» | menu_ticket |
Ticket + categorizer flow |
| «FAQ» | menu_faq |
FAQ flow |
| (опційно) «Скарга в базу» | menu_complaint |
Custom Data flow |
| Параметр | Рекомендація |
|---|---|
| Output Variable | main_menu_choice (опційно) |
| Default edge | «Оберіть пункт головного меню.» |
Edges: кожна кнопка → окремий вхід у відповідну секцію або підграф.
Крок 2. Секції або підграфи
Рекомендовано винести кожну гілку в окрему секцію сценарію:
| Секція (приклад) | Зміст |
|---|---|
sec_operator |
Кнопка «Поговорити з оператором» → operator_panel__connect_to_operator_with_msg |
sec_ticket |
Повний flow Use Case 10 |
sec_faq |
Вітання FAQ → WaitForInput → action_fastline_pro |
sec_complaint |
Flow Use Case 7 (якщо обрано замість FAQ) |
Після завершення гілки — MessageKeyboard «Повернутися в меню» → edge на головне меню.
Крок 3. Обов'язкові edges на критичних нодах
Перевірте методом Use Case 9:
| Нода | Мінімум edges |
|---|---|
action_fastline_pro (FAQ) |
відповідь + fallback |
operator_panel__connect_to_operator_with_msg |
success + limit + error |
action_tickets_create |
success + error |
action_fastline_pro (categorizer) |
основний + fallback |
| Головне меню | кожна кнопка + default |
На edge limit має бути ваше повідомлення клієнту про очікування — не тиша.
Крок 4. Self-check у Runs (повний прогін)
Виконайте три окремі Runs (або один Run з послідовним поверненням у меню):
| # | Сценарій | Що перевірити в Runs |
|---|---|---|
| 1 | FAQ: питання з бази знань | ai_answer; fallback на невідоме питання |
| 2 | Оператор: connect | edge success або limit з текстом клієнту |
| 3 | Тікет: опис → categorizer → create | ticket_id у constants; edge error протестований |
Якщо третя гілка — Custom Data: id скарги у Runs/constants.
Крок 5. Документація data flow
Заповніть розділ Use Case 13 у results-template.md:
- Текстовий data flow (3–5 речень на гілку)
- Які
subject_aliasвикористані - Один приклад root cause, який ви знайшли через Runs під час збірки
Критерії завершення (self-check)
Troubleshooting
| Симптом | Що перевірити |
|---|---|
| Після гілки «зависає» | End vs повернення в меню; unconnected edge |
| FAQ працює окремо, не з меню | Edge payload головного меню → правильна секція |
Тікет без ticket_id |
Use Case 10 success edge; subject_alias |
| Оператор — тиша при limit | Підключено edge limit → MessageKeyboard |
Самостійне завдання
Розширте capstone одним optional-модулем на вибір:
- Пріоритетний сегмент — різний
subject_aliasу connect - Deeplink + registered users (Use Case 6)
- Use Case 12: Copilot
Довідкові посилання
Optional далі: Use Case 12 · Advanced Fast Line Pro