architect/patterns/DIALOGS.md

Паттерны диалогов

Версия: 1.0.0
Дата: 2025-12-10
Уровень: У2 (Паттерны)

Вытекает из: ../concept/ROLES.md


СЦЕНАРИИ ДЛЯ КЛИЕНТА

1. Первый контакт (INTAKE)

Триггер: Новый пользователь пишет в бота

Поток:

Клиент: [любое сообщение]
    ↓
ПРОЕКТОР 256: Приветствие + вопрос "что хотите сделать?"
    ↓
Клиент: [описание]
    ↓
ПРОЕКТОР 256: Пересказ + "правильно?" + "зачем нужно?"
    ↓
Клиент: [цель]
    ↓
ПРОЕКТОР 256: "Для кого?"
    ↓
Клиент: [аудитория]
    ↓
ПРОЕКТОР 256: "Что уже есть? Файлы, ссылки?"
    ↓
Клиент: [материалы]
    ↓
ПРОЕКТОР 256: "Есть примеры/референсы?"
    ↓
Клиент: [референсы]
    ↓
ПРОЕКТОР 256: "Сроки? Бюджет?"
    ↓
Клиент: [ограничения]
    ↓
ПРОЕКТОР 256: Резюме + "всё верно?" + "передаю в работу"
    ↓
→ HANDOFF к ПРОЕКТОР (внутренний)

2. Запрос статуса

Триггер: Клиент спрашивает "как дела?" / "что с проектом?"

Клиент: Как там мой проект?
    
ПРОЕКТОР 256:
    Проект: [название]

    Сейчас: [фаза]  [что делается]
    Сделано: [кратко]
    Следующее: [что будет]

    Есть вопросы?

3. Уточняющий вопрос от системы

Триггер: PM/ПРОЕКТОР запросил уточнение

ПРОЕКТОР 256:
    Вопрос по проекту [название]:

    [Контекст почему спрашиваем]

    [Вопрос]?

    Варианты:
    1. ...
    2. ...

    Или напишите свой вариант.
    ↓
Клиент: [ответ]
    ↓
ПРОЕКТОР 256: Понял, записал. Спасибо!
    ↓
→ Передача ответа в ПРОЕКТОР

4. Согласование результата

Триггер: Готов промежуточный или финальный результат

ПРОЕКТОР 256:
    На согласование: [что]

    [Описание или ссылка]

    Посмотрите, пожалуйста:
    1. Всё ли верно?
    2. Что изменить?
    3. Можем продолжать?
    ↓
Клиент: [обратная связь]
    ↓
ПРОЕКТОР 256:
    (если ок) Отлично! Продолжаем.
    (если правки) Понял, передал. Исправим.

5. Клиент отправляет файл

Триггер: Получен файл (фото, документ, видео)

[Файл получен]
    
ПРОЕКТОР 256:
    Получил: [имя файла]
    Сохранил в проект

    (если неясно) Что это? Для чего?
    
Клиент: [пояснение]
    
ПРОЕКТОР 256: Понял, спасибо!

6. Клиент хочет поговорить с человеком

Триггер: "Позови человека" / "Хочу поговорить"

Клиент: Позови человека
    
ПРОЕКТОР 256:
    Конечно! Сейчас позову менеджера.
    Обычно отвечают в течение часа.
    
 Уведомление AM
    
AM: [подключается к диалогу]

СЦЕНАРИИ ДЛЯ AM (Аккаунт-менеджера)

1. Подключение к клиенту

Триггер: AM берёт в работу клиента

AM: /client [chat_id]
    
ПРОЕКТОР 256 (режим AM):
    Клиент: [имя]
    Проект: [id]  [название]
    Фаза: [фаза]

    История:
    [последние 5 сообщений]

    Чем помочь?

2. Отправка сообщения клиенту

AM: /send [chat_id] Текст сообщения
    
 Сообщение уходит клиенту от имени бота
    
ПРОЕКТОР 256: Отправлено

3. Запрос уточнения

AM: /clarify [chat_id] Вопрос?
    
ПРОЕКТОР 256  Клиент:
    Уточняющий вопрос:
    [Вопрос]?
    
Клиент: [ответ]
    
AM получает уведомление

СЦЕНАРИИ ДЛЯ PM

1. Получение нового проекта

Триггер: INTAKE завершён

ПРОЕКТОР  PM:
    НОВЫЙ ПРОЕКТ

    Клиент: [имя]
    Задача: [кратко]
    Цель: [зачем]

    Материалы: [список]
    Ограничения: [сроки, бюджет]

    Готовность к старту: да

    /accept  принять
    /assign @user  назначить другого

2. Управление проектом

PM: /project [id]
    
ПРОЕКТОР:
    ПРОЕКТ: [название]

    Фаза: [номер]. [название]
    Статус: [статус]

    Задачи:
    [x] [выполнено]
    > [в работе]
    [ ] [ожидает]

    /tasks  все задачи
    /next  следующие действия
    /team  команда

3. Создание задачи

PM: /task create
    
ПРОЕКТОР:
    Создание задачи. Ответьте на вопросы:

    1. Название?
    
PM: Сверстать главную
    
ПРОЕКТОР: 2. Описание?
    
PM: [описание]
    
ПРОЕКТОР: 3. Исполнитель?
    
PM: @designer
    
ПРОЕКТОР: 4. Приоритет? (high/medium/low)
    
PM: high
    
ПРОЕКТОР:
    Задача создана: PROJ-005
    Назначена: @designer
    Уведомление отправлено

4. Запрос уточнения у клиента

PM: /clarify Какой формат файлов нужен?
    ↓
ПРОЕКТОР → ПРОЕКТОР 256 → Клиент
    ↓
[Клиент отвечает]
    ↓
PM получает уведомление с ответом

СЦЕНАРИИ ДЛЯ ИСПОЛНИТЕЛЯ

1. Получение задачи

Триггер: PM назначил задачу

ПРОЕКТОР → Исполнитель:
    НОВАЯ ЗАДАЧА: PROJ-005

    Проект: [название]
    Задача: [название]

    Описание:
    [текст]

    Критерии готовности:
    [ ] ...
    [ ] ...

    Контекст:
    - Бриф: [ссылка]
    - Референсы: [ссылки]

    Дедлайн: [дата]

    /accept — взять в работу
    /question — задать вопрос

2. Вопрос по задаче

Исполнитель: /question PROJ-005 Какой цвет фона?
    ↓
ПРОЕКТОР:
    Вопрос передан PM.
    Ответ придёт уведомлением.
    ↓
PM получает вопрос
    ↓
PM: [отвечает]
    ↓
Исполнитель получает ответ

3. Отчёт о выполнении

Исполнитель: /done PROJ-005
    ↓
ПРОЕКТОР:
    Отчёт о выполнении PROJ-005:

    1. Что сделано?
    ↓
Исполнитель: [описание]
    ↓
ПРОЕКТОР: 2. Ссылка на результат?
    ↓
Исполнитель: [ссылка]
    ↓
ПРОЕКТОР:
    Задача отмечена как выполненная
    PM уведомлён

ОБРАБОТКА ОШИБОК

Непонятное сообщение

[Любая роль]: [непонятное]
    
Агент:
    Не совсем понял. Уточните, пожалуйста:

    - Это вопрос?
    - Это информация для проекта?
    - Нужна команда? /help

Нет активного проекта

Клиент: Как там дела?
(но проекта нет)
    
ПРОЕКТОР 256:
    У вас пока нет активных проектов.

    Хотите начать новый? Расскажите,
    что хотите сделать!

Нет прав

PM: /system restart
    ↓
ТЕРМИНАЛ:
    Недостаточно прав для этой команды.
    Доступно только Оператору.

Версия: 1.0.0