---
metadata:
  - name: generator
    content: Diplodoc Platform v5.39.1
alternate:
  - https://yandex.ru/dev/dialogs/alice/doc/ru/write-scenario.md
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.ru/dev/dialogs/alice/doc/ru/llms.txt



# Написание сценария для навыка

{% include notitle [neuroexpert-button](_includes/reusables/neuroexpert-button-99270fdba323.md) %}


## Инструменты {#tools}

В проектировании навыков помогут сервисы для быстрого создания заметок, таблиц и блок-схем, например [Miro](https://miro.com/online-diagram-and-map-maker/), [Figma](https://www.figma.com/). Используйте их, чтобы:

- создать основную ветку сценария;
- описать сценарий по ролям;
- отредактировать текст.

## Начало сценария {#begin}

Каждый сценарий начинается с приветственной фразы. От того, насколько она будет удачной, зависит популярность навыка.

#### Приветственная фраза не должна быть слишком длинной

{% cut "Посмотрите видеоурок" %}

<div style="
    border:1px solid #d1d5db;
    border-radius:20px;
    overflow:hidden;
    max-width:100%;
">
  <iframe src="https://runtime.strm.yandex.ru/player/video/vplvx3pisrnzmuocnc7p?autoplay=0&mute=0"
    frameborder="0"
    allowfullscreen
    style="
      display:block;
      width:100%;
      height:360px;
      "></iframe>
</div>

{% endcut %}

<div class="grid-container">
    <div class="grid-item">
        <p><img src="https://yastatic.net/s3/doc-binary/src/dev/dialogs/ru/like-dialogi.svg"/> <b>Хороший пример</b></p>
        <p>Привет! Это навык такси «Эх, прокачу!». Где вы находитесь и куда хотите ехать?</p>
    </div>
    <div class="grid-item">
        <p><img src="https://yastatic.net/s3/doc-binary/src/dev/dialogs/ru/dislike-dialogi.svg"/> <b>Плохой пример</b></p>
        <p>Милостивый государь! Вас приветствует компания «Ретро-извоз». Не изволите ли воспользоваться услугами наших извозчиков? У нас только новые пролетки, запряженные лошадьми всех мастей — гнедыми, рыжими, серыми и вороными. Наши извозчики носят красные кушаки, а оси колес смазаны чистейшим березовым дегтем!</p>
    </div>
</div>


#### Фраза должна сообщать всё, что нужно для начала работы с навыком

{% cut "Посмотрите видеоурок" %}

<div style="
    border:1px solid #d1d5db;
    border-radius:20px;
    overflow:hidden;
    max-width:100%;
">
  <iframe src="https://runtime.strm.yandex.ru/player/video/vplvepetqgtkaxgnjo5h?autoplay=0&mute=0"
    frameborder="0"
    allowfullscreen
    style="
      display:block;
      width:100%;
      height:360px;
      "></iframe>
</div>

{% endcut %}

<div class="grid-container">
    <div class="grid-item">
        <p><img src="https://yastatic.net/s3/doc-binary/src/dev/dialogs/ru/like-dialogi.svg"/> <b>Хороший пример</b></p>
        <p>Здравствуйте! Хотите поиграть в города? Нужно называть город, начинающийся на ту же букву, на которую заканчивался предыдущий названный город. Начнем?</p>
    </div>
    <div class="grid-item">
        <p><img src="https://yastatic.net/s3/doc-binary/src/dev/dialogs/ru/dislike-dialogi.svg"/> <b>Плохой пример</b></p>
        <p>Привет! Сыграем в игру «Две карты»?</p>
    </div>
</div>


#### Приветственную фразу стоит заканчивать закрытым вопросом

Приветственная фраза должна побудить пользователя к действию. Для этого закончите ее вопросом, на который человек отвечает либо согласием, либо отрицанием, например: «Начнем?», «Приступим?», «Готовы?» и т. д.

<div class="grid-container">
    <div class="grid-item">
        <p><img src="https://yastatic.net/s3/doc-binary/src/dev/dialogs/ru/like-dialogi.svg"/> <b>Хороший пример</b></p>
        <p>Привет! Это голосовой калькулятор, я могу вычислить результат выражения, сказанного вслух. Приступим?</p>
    </div>
    <div class="grid-item">
        <p><img src="https://yastatic.net/s3/doc-binary/src/dev/dialogs/ru/dislike-dialogi.svg"/> <b>Плохой пример</b></p>
        <p>Здравствуйте! Я умею угадывать задуманного литературного персонажа, задавая наводящие вопросы.</p>
    </div>
</div>


## Основная ветка сценария {#main-branch}

Чтобы создать основную ветку вашего сценария, воспользуйтесь следующим шаблоном.

#|
||
**Целевой сценарий:** 
|
**Примечания**
||
||
П (пользователь):
|
||
||
А (Алиса):
|
||
|#

В левом столбике пропишите фразы персонажа навыка и возможные ответы пользователя в виде диалога. 
 Справа можно оставить примечания о возможных действиях пользователя и вариантах ответа голосового ассистента в той или иной ситуации.

## Проверить сценарий {#demo-presentation}

Готовый сценарий сначала прочтите сами, а затем попробуйте прочесть вместе с коллегой по ролям. 
 Это поможет выявить неестественные фразы и скорректировать сценарий на начальном этапе.

Сделайте демопрезентацию навыка. Она позволит вам составить общее понимание о возможностях сценария внутри команды.

Демопрезентацию можно сделать с помощью синтеза речи или нарисовать структуру чата. 
 Для этого воспользуйтесь любым удобным для вас инструментом.

## Дополнительные ветки сценария {#extra-branch}

После того, как вы написали основную ветку и проверили работоспособность сценария, можно приступать к разработке дополнительных веток. 
 Они нужны для ситуаций, в которых пользователь может повести себя по-разному. Пронумеруйте каждую ветку.

Старайтесь не добавлять все сценарии в одно дерево, особенно если сценарий большой. Его сложно будет обновлять и корректировать.

1. **Основная ветка**. Самое ожидаемое развитие событий. Не забудьте добавить сценарий приветствия.
1. **Дополнительные ветки**. Дополнительные, наиболее вероятные события и условия.
1. **Возможные ошибки**. Ошибки могут быть специфическими и общими. Специфические ошибки относятся к конкретной ветке, а общие используются в том случае, если ни одна из уникальных ошибок не подходит для описания возникшей проблемы.
    Дайте пользователю вернуться в ветку сценария после ошибки — предложите ему [подсказку](https://yandex.ru/dev/dialogs/alice/doc/ru/interface.md#tips). Если вы используете подсказки, убедитесь, что они не пропадают, если навык не распознал ответ пользователя.
    
1. **Переходы**. Связь между сценариями. Нужно учитывать, что пользователь может перескочить с одной ветки сценария на другую, пропустив несколько шагов. Важно, чтобы фразы персонажа навыка при этом оставались актуальными.
1. **Дополнительные функции сценария**. Напрямую не относятся к цели вашего навыка. Например, в навыке «Экскурсия по Великому Новгороду» вопрос пользователя о ближайшем кафе будет дополнительным сценарием.
1. **Общие правила**. Сценарий, в котором пользователь может попросить персонажа навыка повторить фразу, рассказать о возможностях навыка или помочь в том или ином вопросе.


**Следующий шаг** → [Интерфейс навыка](https://yandex.ru/dev/dialogs/alice/doc/ru/interface.md)

{% include [index-support-button](_includes/index/id-index/support-button-b42a6334e45f.md) %}


