# Best practice диалог-дизайна

### Перед созданием Агента

1. Определен диалог-дизайнер (проектировщик Сценарий агента Агента) и тестировщик/группа тестировщиков диалог-дизайна.
2. Проанализирован кейс.
3. Определены цель, задачи и ЦА Агента.
4. Обозначены основные шаги Сценарий агента.
5. Определено, с кем / чем будет взаимодействовать Агент (Собеседник, Оператор, база данных, внешние сервисы) и в каких каналах.
6. Каналы интеграции работают и поддерживают весь задуманный функционал.
7. Спроектирован Сценарий агента Агента в draw\.io / miro / др. программа / на бумаге.
8. Для NLU Слотов сформирована обучающая выборка из примеров фраз, которыми Собеседники будут формулировать запросы к Агенту.
9. Ветка сценария логично распределены по интентам (похожие интенты объединяются в один, разводя ветки через уточняющие вопросы / регулярные выражения и т.д.).

### Создание Агента

#### Обеспечено вовлечение Собеседника

1. Onboarding в Агенте: в приветственном сообщении раскрывается цель Агента (если приветственное сообщение нельзя создать напрямую в Платформе для канала, продуманы альтернативные варианты).
2. В Агенте есть подсказки, обеспечивающие безболезненное прохождение Сценарий агента.
3. Агент направляет Собеседника, призывает к действию (CTA) и предоставляет ему действие по умолчанию (если это кнопки).
4. Предусмотрен сбор обратной связи по качеству общения Агента с Собеседниками («Оцени меня, помог ли я тебе, что понравилось что нет и тп»).

#### Текстовые сообщения

1. Объем текста одного сообщения Агента в идеале не более 280 знаков, объёмная информация сокращена (разбита на абзацы / несколько сообщений / bullet-список), если сократить некуда, то кнопка «читать далее».
2. Суть на первом месте.
3. Стиль сообщений зависит от кейса и ЦА (если Агент носит информационный характер, применяем информационный стиль; если Агент носит развлекательный характер, добавляем экспрессии, но при этом оцениваем, когда именно Собеседник ожидает от Агента общения в приятельском тоне).
4. Стиль сообщений сохраняется на протяжении всего Сценарий агента.
5. Проверена орфография и пунктуация, особенно кавычки и тире (кавычки «ёлочки» для кириллицы, кавычки "лапки" для латиницы, тире длинное, дефис короткий).
6. Ответы Агента являются полными предложениями, понятны и развернуты, не начинаются со слов «да», «нет» и т.п.
7. Сообщения Агента гендерно нейтральны, если не требуется иное.
8. Корректно оформлены ссылки и изображения, с помощью тегов / кодов / гиперссылок.

#### Другое

1. Адаптированный Small Talk: Агент реагирует на эмоции, несколько вариантов для каждой Small Talk фразы – Random Responses.
2. Fallback подстроен под Собеседника и объясняет, что именно пошло не так.
3. В слоте Fallback присутствуют Random responses, и в них объясняется, что именно произошло и почему, а также предлагается дальнейшее действие или его выбор. Например: «я всего лишь бот, поэтому иногда не могу распознать ваши вопросы. Пожалуйста, перефразируйте вопрос, или я могу перевести вас на оператора» и кнопки «попробовать еще раз» и «перевести на оператора».
4. Агент не зациклен, нет слотов, возвращающих Собеседника в цикл (например, в слоте с кнопками на какой-то ответ происходит возврат к предыдущему текстовому слоту).
5. После каждой добавленной ветки проводится тестирование на предмет выявления ошибок в Сценарий агента.
6. Интенты – в первую очередь глаголы, а существительные – это сущности.
7. Для считывания сущностей применены словари или регулярные выражения (например, на сообщение Собеседника «у меня не работает принтер» не выдается ответ «с чем именно у вас возникли проблемы?» и кнопки «техника», «пропуск», «программное обеспечение», а сразу определяется суть проблемы с помощью словарей или регулярок).
8. В Диалоговом Сценарий агента у Собеседника есть возможность вернуться на шаг назад и, в зависимости от кейса, вернуться на старт.
9. Перед Slot Filling Агент сообщает, что в конце у Собеседника будет возможность проверить и при необходимости изменить введенные данные.
10. В сообщениях для Slot Filling отображается прогресс, например: «1/5 Введите ваш номер телефона», «2/5 Введите ваш адрес электронной почты» и т.д.
11. Добавлен минимальный small talk (привет, спасибо, пока, что ты умеешь).

### После создания Агента

1. Диалог-дизайнер формирует тестовую выборку, которая отличается от обучающей. При дальнейших изменениях NLU-модели автотесты будут прогонять тестовую выборку через NLU-модель.
2. Диалог-дизайнер тестирует Агента на тестовой выборке перед передачей тестировщику диалог-дизайна: большинство реплик распознаются, все нужные переменные сохраняются, все Слоты работают, как надо (например, нигде не пропущен Wait For Reaction), все интеграции с внешними сервисами работают, как надо).
3. Тестировщик тестирует Агента, ориентируясь в большей степени на кейс и в меньшей степени на интенты и не ориентируясь на обучающую выборку. Тестировщик проводит не только тест на работоспособность кейса, но ещё и на юзабилити.
4. Диалог-дизайнер анализирует тестовые данные и, если требуется, дообучает Агента и доделывает Сценарий агента.
5. Если изменений в переобучении было много, тестировщик диалог-дизайна повторно тестирует Агента.
6. Агент, если нужно, проходит тестирование другими членами команды;
7. Агент тестируется именно в том канале(-лах), в котором(-ых) будет использоваться.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://chatme-ai-4.gitbook.io/docs/prilozheniya/best-practice-dialog-dizaina.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
