Перейти к содержанию

Приветствие в навыке: различия между версиями

Материал из Wiki yaboard
Нет описания правки
Нет описания правки
 
(не показана 21 промежуточная версия этого же участника)
Строка 4: Строка 4:




[[Файл:Skill_hello-hank.jpg]]
[[Файл:Skill_hello-hank.jpg | | link=]]




== У вас есть время поговорить о навыках? ==
== У вас есть время поговорить о навыках? ==


Приветствие входит в требования платформы Диалоги к навыкам Алисы, и не просто так. Оно покрывает несколько ключевых нужд пользователя:
* коротко рассказать о возможностях навыка;
* информировать пользователя, куда он в принципе попал;
* ввести пользователя в атмосферу навыка (особенно, если навык игровой или развлекательный);
* дать пользователю понять, что вы о нём помните и заботитесь.


Краткое вступление для новичков: '''навыки Алисы - это расширения''' возможностей Алисы, которые регистрируются на [//dialogs.yandex.ru/store платформе Диалоги].


Навыки отличаются от "компьютерных" программ-расширений (плагинов, дополнений) тем, что<ref>У навыков умного дома есть небольшие отличия (например, для их использования необходимо создать связку аккаунтов), здесь мы говорим только о навыках общего типа. Также мы не рассматриваем здесь приватные навыки.</ref>:
* навыки не нужно устанавливать на устройство, они всегда готовы к запуску;
* в любой момент всем пользователям доступны все активные навыки;
* визуально изучить все доступные навыки можно в [//dialogs.yandex.ru/store едином каталоге] (при необходимости оттуда же их и запустить);
* платформа постоянно проверяет навыки на их доступность; недоступный навык деактивируется и исчезает из каталога;
* для публикации навыка (появления в каталоге и возможности его запуска) необходима предварительная модерация;
* вебхук навыка должен быть размещён на домене, имеющем [[Fullchain-сертификаты и как их добыть | SSL-fullchain-сертификат]] или в [//yandex.cloud/ru/services/functions?utm_referrer=https://wiki.yaboard.com/ Функциях Облака];
* к навыку предъявляется [//yandex.ru/dev/dialogs/alice/doc/requirements.html ряд требований платформы] (включая, к примеру, [//yandex.ru/dev/dialogs/alice/doc/response.html лимит времени на ответ] навыка).
'''К числу таких требований относится [//yandex.ru/dev/dialogs/alice/doc/requirements.html приветствие]''', и это не простая формальность.
Приветствие покрывает несколько ключевых нужд пользователя:
# коротко рассказать о '''возможностях''' навыка (онбординг);
# дать понять пользователю, '''куда он попал''' в принципе (информирование о состоянии);
# ввести пользователя '''в атмосферу навыка''' (особенно, если навык игровой или развлекательный);
# дать пользователю понять, что '''вы о нём помните''' и заботитесь (в том числе, использовав его имя в приветствии, если ранее вы его сохранили).




Строка 21: Строка 34:




Не стоит переоценивать общеизвестность своего навыка )  
Первое и главное: не стоит переоценивать общеизвестность своего навыка )  
Для сравнения, вводная фраза Алисы перед запуском любого навыка звучит не первый год, и суммарный запуск всех навыков явно больше любого отдельно взятого. И тем не менее, она остаётся. Как вы думаете, почему?
Также одна из нередких ошибок в разработке &mdash; то, что очевидно вам, как создателю, неочевидно и непонятно широкой аудитории пользователей.
 
Для сравнения, вводная фраза Алисы перед запуском любого из навыков звучит не первый год (а суммарный запуск всех явно больше любого отдельно взятого). И тем не менее, эта фраза до сих пор остаётся. Как вы думаете, почему? Как минимум по 1 и 2 пунктам из предыдущей главы.
 
И не забывайте, что:
* ваш навык '''может запустить гость''' или другой член семьи на том же устройстве;
* никто '''не обязан &mdash; и не будет &mdash; зубрить возможности''' навыка;
* '''не все одинаково легко и быстро адаптируются''' к голосовому взаимодействию;
* это '''вы, как разработчик, должны проактивно предоставлять информацию''', а не пользователь тратить своё время и думать, как её раздобыть;
* навык вообще '''может быть запущен случайно''' и человек может не знать не только о вашем навыке, но и о том, что он вообще какой-то там навык (?) запустил.
 
 
К сожалению, не все разработчики понимают важность вступительного информирования (и не всем программистам легко даётся [[Интерфейсы от командной строки до голоса | перестроить своё мышление]] под разработку Voice UI в целом). И немногие задумываются, что приветствие может быть и интересным.
 
 
== Как можно разнообразить и построить приветствие? ==
 


Кроме того, не забывайте, что:
Если вы сделали приветствие в духе "Здрамвствуймте, я мполезный мнавык и могу мпомочь" - то неудивительно, что оно не нравится ни вам, ни пользователю, и слушать его каждый раз &mdash; действительно сплошное огорчение и потеря времени (но, скорее всего, и сам навык при таком подходе мог бы быть лучше, чем он получился).
* ваш навык может запустить другой член семьи на том же устройстве;
* никто не обязан &mdash; и не будет &mdash; зубрить возможности навыка;
* это вы, как разработчик, должны проактивно предоставлять информацию, а не пользователь её выискивать;
* навык вообще может быть запущен случайно и человек может не знать не только о вашем навыке, но и о том, что он вообще какой-то там навык запустил.


Что же можно сделать, чтобы приветствие стало и полезным и интересным?


Для этого можно использовать:
* случайные '''варианты приветствия''' (см "[//wiki.yaboard.com/index.php?search=промпт-лист промпт-листы]");
* '''художественно оформленные''' тексты;
* красивые '''аудиоподложки, настраивающие на вход''' в навык (игровые, фантастические, медитативные, отбивки по принципу телешоу);
* обращения, дающие понять, что '''вы рады возвращению пользователя''' (можно озвучить его имя, или его прогресс в игре, или состояние заказа из предыдущей сессии) и вложили в навык заботу и профессиональное внимание.


Не помешает упомянуть про команду "Помощь" даже знакомому пользователю (особенно, если управление навыком может быть неочевидным, или содержит малозапоминающиеся побочные функции: смена сложности, возможность сравнить свой рейтинг с другими пользователями или сбросить прогресс, или прослушать список ранее завершённых заказов).


Случайно выводимые напоминания о каждой такой функции при очередном запуске &mdash; тоже неплохая идея для улучшения как приветствия, так и опыта пользователя в навыке. А разработчик навыка "Одинаковые сундучки" продвинулся ещё дальше, и даёт дополнительный подарок в самом приветствии, поощряя пользователя чаще возвращаться в игру.


В любом случае стоит хорошо поработать над краткостью и лёгкостью текста, ведь приветствие навыка &mdash; по сути его лицо (или крыльцо, или вешалка, это уже по вкусу).




Строка 39: Строка 73:




Платформа предусматривает два варианта запуска навыков общего типа:
А как быть, если надо быстро запустить навык для выполнения единственного действия и тут же его закрыть?
* Запусти навык %НАЗВАНИЕНАВЫКА%
 
* Попроси навык %НАЗВАНИЕНАВЫКА% %ДЕЙСТВИЕ% %ОПИСАНИЕДЕЙСТВИЯ%
Платформа Диалоги предусматривает [https://yandex.ru/dev/dialogs/alice/doc/activation.html#activation__activate два варианта запуска] навыков общего типа:
* Запусти навык <span style="color:green">%НАЗВАНИЕ_НАВЫКА%</span>
* Попроси навык <span style="color:green">%НАЗВАНИЕ_НАВЫКА%</span> <span style="color:blue">%КОМАНДА_НАВЫКУ%</span>
 
Второй вариант нам и нужен (кстати, при этом способе запуска не будет и вступительного текста Алисы). По этому принципу работали и самые первые навыки управления умными устройствами ("Алиса, попроси Альфреда включить вентилятор").
 
В действительности, скорее всего, ваша команда будет состоять из двух частей &mdash; <span style="color:blue">%СДЕЛАЙ_ЧТО%</span> <span style="color:gray">%С_ЧЕМ_И_КАК%</span>, но платформе это безразлично, она полностью отдаёт строку как есть, оставляя все возможности её обработки разработчику.
 
Классическим примером можно считать навык "[[Навыки общего типа и Умный дом: Часы-кукушка | Часы-кукушка]]": при фразе
* "Алиса, запусти навык Часы-кукушка" &mdash; озвучит приветствие и даст выполнить любую тестовую команду, а при
* "Алиса, попроси Часы-кукушка отбить час с голосом" &mdash; немедленно запустит сэмпл, произнесёт время и сразу же закроется. При этом "отбить" можно отнести к %СДЕЛАЙ_ЧТО%, а остальной хвост - &mdash; к %С_ЧЕМ_И_КАК%. Но это деление, конечно, условно и индивидуально.
 
 
Чтобы закрыть навык сразу после выполнения действия, не забудьте отправить в ответе нужный параметр:
{
  "response": {
  ...
  "end_session": true
    },
    ...
}
 
 
 
== Приветствие, Что ты умеешь и Помощь - разве не одно и то же? ==
 
 
Конечно, нет. Приветствие и его особенности мы уже рассмотрели подробно, перейдём к отличиям и этих требуемых платформой команд:
 
 
=== Что ты умеешь? ===
 
 
Как видно из самого вопроса, навык должен '''коротко и красиво рассказать о себе''' ...но будет странно, если в начале снова прозвучит "Привет, я навык такой-то!"
 
Конечно, бывает уместно подклеить к приветствию абзац из "Что ты умеешь", но в хорошо проработанном навыке это всё же разные тексты с отличающимися акцентами.
 
 
=== Помощь ===
 
 
Если пользователь просит помощи, ему точно не нужно ни приветствий, ни рекламы крутых возможностей супергипермеганавыка.
 
Он нуждается в чётком '''перечислении доступных команд''' (возможно, и сухом информировании о своём статусе, если это влияет на список доступных команд).
 
Если ваш навык ориентирован на далёкий от мира IT сегмент (например, пожилых людей), неплохо озвучить и команды выхода из навыка (несмотря на то, что Алиса это уже сделала при запуске).
 
 
== Примеры ==
 
 
'''Первый заход в навык:'''
{| class="wikitable" style = "width:100%"
|-
! style="width:50%;color:red" | Плохо
! style="width:50%;color:green" | Хорошо
|-
| style="background-color:#fee" | Я навык, который знает очень много загадок про животных, птиц и рыб! <br>Я буду спрашивать, а ты отвечать на мои интересные вопросы.
| style="background-color:#dfe" |Привет! Я расскажу тебе, почему дельфины не рыбы, а арбуз - это ягода. <br>Но для этого тебе тоже надо будет ответить на мои вопросы ;)
|-
| colspan="2" style="background-color:white" | В первом случае навык хвастает своими абстрактными достижениями, которые мало интересны пользователю. <br><br>Во втором случае мы объяснили механику игры (ответ &mdash; и интересный факт в качестве приза); и потизерили парой примеров.<br>&nbsp;
|-
| style="background-color:#fee" | Привет, я игра в пиратов. Задача игры &mdash; захватить больше ценных грузов и кораблей и переходить на новые уровни.
| style="background-color:#dfe" | Хэй, юнга! Ты готов стать настоящим морским волком? Больше кораблей, больше золота, больше влияния на море!
|-
| colspan="2" style="background-color:white" | В первом случае мы формально описали и без нас очевидные действия.<br><br>Во втором &mdash; немедленно погрузили игрока в атмосферу навыка, а ту же самую механику подали намного привлекательней.<br>&nbsp;
|}
 
 
'''Повторный заход в навык:'''
{| class="wikitable" style = "width:100%"
|-
! style="width:50%;color:red" | Плохо
! style="width:50%;color:green" | Хорошо
|-
| style="background-color:#fee" | Привет, я игра в пиратов. Задача игры...
| style="background-color:#dfe" | С возвращением на борт, Сергей! Ты уже вырос от сопливого юнги до бывалого матроса, осталось добыть 510 монет &mdash; и ты уже канонир самого Дрейка! А если ты нашёл ответ на мою загадку с прошлого раза, получишь от меня 20 дополнительных монет. Но при ошибке я заберу у тебя 10. Ты готов ответить?
|-
| colspan="2" style="background-color:white" | В плохом приветствии мы даже не заметили, что игрок пришёл повторно.<br><br>В хорошем - не только отметили это, но и рассказали про его прогресс и перспективы в игре, и даже предложили призовой квест.
|}
 
 


Заметим, что в случае запуска с такой "командной строкой" приветствие Алисы тоже не будет звучать.
== Сноски ==


<references />


[[Category:Диалоги]]
[[Category:Диалоги]]

Текущая версия от 14:27, 27 мая 2024


У вас есть время поговорить о навыках?

Краткое вступление для новичков: навыки Алисы - это расширения возможностей Алисы, которые регистрируются на платформе Диалоги. 

Навыки отличаются от "компьютерных" программ-расширений (плагинов, дополнений) тем, что[1]:

  • навыки не нужно устанавливать на устройство, они всегда готовы к запуску;
  • в любой момент всем пользователям доступны все активные навыки;
  • визуально изучить все доступные навыки можно в едином каталоге (при необходимости оттуда же их и запустить);
  • платформа постоянно проверяет навыки на их доступность; недоступный навык деактивируется и исчезает из каталога;
  • для публикации навыка (появления в каталоге и возможности его запуска) необходима предварительная модерация;
  • вебхук навыка должен быть размещён на домене, имеющем SSL-fullchain-сертификат или в Функциях Облака;
  • к навыку предъявляется ряд требований платформы (включая, к примеру, лимит времени на ответ навыка).


К числу таких требований относится приветствие, и это не простая формальность.

Приветствие покрывает несколько ключевых нужд пользователя:

  1. коротко рассказать о возможностях навыка (онбординг);
  2. дать понять пользователю, куда он попал в принципе (информирование о состоянии);
  3. ввести пользователя в атмосферу навыка (особенно, если навык игровой или развлекательный);
  4. дать пользователю понять, что вы о нём помните и заботитесь (в том числе, использовав его имя в приветствии, если ранее вы его сохранили).

Мне не нужно приветствие, мой навык беспрерывно используют

Первое и главное: не стоит переоценивать общеизвестность своего навыка ) 
Также одна из нередких ошибок в разработке — то, что очевидно вам, как создателю, неочевидно и непонятно широкой аудитории пользователей.

Для сравнения, вводная фраза Алисы перед запуском любого из навыков звучит не первый год (а суммарный запуск всех явно больше любого отдельно взятого). И тем не менее, эта фраза до сих пор остаётся. Как вы думаете, почему? Как минимум по 1 и 2 пунктам из предыдущей главы.

И не забывайте, что:

  • ваш навык может запустить гость или другой член семьи на том же устройстве;
  • никто не обязан — и не будет — зубрить возможности навыка;
  • не все одинаково легко и быстро адаптируются к голосовому взаимодействию;
  • это вы, как разработчик, должны проактивно предоставлять информацию, а не пользователь тратить своё время и думать, как её раздобыть;
  • навык вообще может быть запущен случайно и человек может не знать не только о вашем навыке, но и о том, что он вообще какой-то там навык (?) запустил.


К сожалению, не все разработчики понимают важность вступительного информирования (и не всем программистам легко даётся перестроить своё мышление под разработку Voice UI в целом). И немногие задумываются, что приветствие может быть и интересным.

Как можно разнообразить и построить приветствие?

Если вы сделали приветствие в духе "Здрамвствуймте, я мполезный мнавык и могу мпомочь" - то неудивительно, что оно не нравится ни вам, ни пользователю, и слушать его каждый раз — действительно сплошное огорчение и потеря времени (но, скорее всего, и сам навык при таком подходе мог бы быть лучше, чем он получился).

Что же можно сделать, чтобы приветствие стало и полезным и интересным?

Для этого можно использовать:

  • случайные варианты приветствия (см "промпт-листы");
  • художественно оформленные тексты;
  • красивые аудиоподложки, настраивающие на вход в навык (игровые, фантастические, медитативные, отбивки по принципу телешоу);
  • обращения, дающие понять, что вы рады возвращению пользователя (можно озвучить его имя, или его прогресс в игре, или состояние заказа из предыдущей сессии) и вложили в навык заботу и профессиональное внимание.

Не помешает упомянуть про команду "Помощь" даже знакомому пользователю (особенно, если управление навыком может быть неочевидным, или содержит малозапоминающиеся побочные функции: смена сложности, возможность сравнить свой рейтинг с другими пользователями или сбросить прогресс, или прослушать список ранее завершённых заказов).

Случайно выводимые напоминания о каждой такой функции при очередном запуске — тоже неплохая идея для улучшения как приветствия, так и опыта пользователя в навыке. А разработчик навыка "Одинаковые сундучки" продвинулся ещё дальше, и даёт дополнительный подарок в самом приветствии, поощряя пользователя чаще возвращаться в игру.

В любом случае стоит хорошо поработать над краткостью и лёгкостью текста, ведь приветствие навыка — по сути его лицо (или крыльцо, или вешалка, это уже по вкусу).

Когда приветствие действительно не нужно

А как быть, если надо быстро запустить навык для выполнения единственного действия и тут же его закрыть?

Платформа Диалоги предусматривает два варианта запуска навыков общего типа:

  • Запусти навык %НАЗВАНИЕ_НАВЫКА%
  • Попроси навык %НАЗВАНИЕ_НАВЫКА% %КОМАНДА_НАВЫКУ%

Второй вариант нам и нужен (кстати, при этом способе запуска не будет и вступительного текста Алисы). По этому принципу работали и самые первые навыки управления умными устройствами ("Алиса, попроси Альфреда включить вентилятор").

В действительности, скорее всего, ваша команда будет состоять из двух частей — %СДЕЛАЙ_ЧТО% %С_ЧЕМ_И_КАК%, но платформе это безразлично, она полностью отдаёт строку как есть, оставляя все возможности её обработки разработчику.

Классическим примером можно считать навык " Часы-кукушка": при фразе

  • "Алиса, запусти навык Часы-кукушка" — озвучит приветствие и даст выполнить любую тестовую команду, а при
  • "Алиса, попроси Часы-кукушка отбить час с голосом" — немедленно запустит сэмпл, произнесёт время и сразу же закроется. При этом "отбить" можно отнести к %СДЕЛАЙ_ЧТО%, а остальной хвост - — к %С_ЧЕМ_И_КАК%. Но это деление, конечно, условно и индивидуально.
Чтобы закрыть навык сразу после выполнения действия, не забудьте отправить в ответе нужный параметр:
{
  "response": {
  ...
  "end_session": true
   },
   ...
}

Приветствие, Что ты умеешь и Помощь - разве не одно и то же?

Конечно, нет. Приветствие и его особенности мы уже рассмотрели подробно, перейдём к отличиям и этих требуемых платформой команд:

Что ты умеешь?

Как видно из самого вопроса, навык должен коротко и красиво рассказать о себе ...но будет странно, если в начале снова прозвучит "Привет, я навык такой-то!"

Конечно, бывает уместно подклеить к приветствию абзац из "Что ты умеешь", но в хорошо проработанном навыке это всё же разные тексты с отличающимися акцентами.

Помощь

Если пользователь просит помощи, ему точно не нужно ни приветствий, ни рекламы крутых возможностей супергипермеганавыка.

Он нуждается в чётком перечислении доступных команд (возможно, и сухом информировании о своём статусе, если это влияет на список доступных команд).

Если ваш навык ориентирован на далёкий от мира IT сегмент (например, пожилых людей), неплохо озвучить и команды выхода из навыка (несмотря на то, что Алиса это уже сделала при запуске).

Примеры

Первый заход в навык:

Плохо Хорошо
Я навык, который знает очень много загадок про животных, птиц и рыб!
Я буду спрашивать, а ты отвечать на мои интересные вопросы.
Привет! Я расскажу тебе, почему дельфины не рыбы, а арбуз - это ягода.
Но для этого тебе тоже надо будет ответить на мои вопросы ;)
В первом случае навык хвастает своими абстрактными достижениями, которые мало интересны пользователю.

Во втором случае мы объяснили механику игры (ответ — и интересный факт в качестве приза); и потизерили парой примеров.
 
Привет, я игра в пиратов. Задача игры — захватить больше ценных грузов и кораблей и переходить на новые уровни. Хэй, юнга! Ты готов стать настоящим морским волком? Больше кораблей, больше золота, больше влияния на море!
В первом случае мы формально описали и без нас очевидные действия.

Во втором — немедленно погрузили игрока в атмосферу навыка, а ту же самую механику подали намного привлекательней.
 


Повторный заход в навык:

Плохо Хорошо
Привет, я игра в пиратов. Задача игры... С возвращением на борт, Сергей! Ты уже вырос от сопливого юнги до бывалого матроса, осталось добыть 510 монет — и ты уже канонир самого Дрейка! А если ты нашёл ответ на мою загадку с прошлого раза, получишь от меня 20 дополнительных монет. Но при ошибке я заберу у тебя 10. Ты готов ответить?
В плохом приветствии мы даже не заметили, что игрок пришёл повторно.

В хорошем - не только отметили это, но и рассказали про его прогресс и перспективы в игре, и даже предложили призовой квест.

Сноски

  1. ↑ У навыков умного дома есть небольшие отличия (например, для их использования необходимо создать связку аккаунтов), здесь мы говорим только о навыках общего типа. Также мы не рассматриваем здесь приватные навыки.