Приветствие в навыке: различия между версиями
Содержание
Нет описания правки |
Нет описания правки |
||
| (не показана 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: | ||
Первое и главное: не стоит переоценивать общеизвестность своего навыка ) | |||
Для сравнения, вводная фраза Алисы перед запуском любого | Также одна из нередких ошибок в разработке — то, что очевидно вам, как создателю, неочевидно и непонятно широкой аудитории пользователей. | ||
Для сравнения, вводная фраза Алисы перед запуском любого из навыков звучит не первый год (а суммарный запуск всех явно больше любого отдельно взятого). И тем не менее, эта фраза до сих пор остаётся. Как вы думаете, почему? Как минимум по 1 и 2 пунктам из предыдущей главы. | |||
И не забывайте, что: | |||
* ваш навык '''может запустить гость''' или другой член семьи на том же устройстве; | |||
* никто '''не обязан — и не будет — зубрить возможности''' навыка; | |||
* '''не все одинаково легко и быстро адаптируются''' к голосовому взаимодействию; | |||
* это '''вы, как разработчик, должны проактивно предоставлять информацию''', а не пользователь тратить своё время и думать, как её раздобыть; | |||
* навык вообще '''может быть запущен случайно''' и человек может не знать не только о вашем навыке, но и о том, что он вообще какой-то там навык (?) запустил. | |||
К сожалению, не все разработчики понимают важность вступительного информирования (и не всем программистам легко даётся [[Интерфейсы от командной строки до голоса | перестроить своё мышление]] под разработку Voice UI в целом). И немногие задумываются, что приветствие может быть и интересным. | |||
== Как можно разнообразить и построить приветствие? == | |||
Если вы сделали приветствие в духе "Здрамвствуймте, я мполезный мнавык и могу мпомочь" - то неудивительно, что оно не нравится ни вам, ни пользователю, и слушать его каждый раз — действительно сплошное огорчение и потеря времени (но, скорее всего, и сам навык при таком подходе мог бы быть лучше, чем он получился). | |||
Что же можно сделать, чтобы приветствие стало и полезным и интересным? | |||
Для этого можно использовать: | |||
* случайные '''варианты приветствия''' (см "[//wiki.yaboard.com/index.php?search=промпт-лист промпт-листы]"); | |||
* '''художественно оформленные''' тексты; | |||
* красивые '''аудиоподложки, настраивающие на вход''' в навык (игровые, фантастические, медитативные, отбивки по принципу телешоу); | |||
* обращения, дающие понять, что '''вы рады возвращению пользователя''' (можно озвучить его имя, или его прогресс в игре, или состояние заказа из предыдущей сессии) и вложили в навык заботу и профессиональное внимание. | |||
Не помешает упомянуть про команду "Помощь" даже знакомому пользователю (особенно, если управление навыком может быть неочевидным, или содержит малозапоминающиеся побочные функции: смена сложности, возможность сравнить свой рейтинг с другими пользователями или сбросить прогресс, или прослушать список ранее завершённых заказов). | |||
Случайно выводимые напоминания о каждой такой функции при очередном запуске — тоже неплохая идея для улучшения как приветствия, так и опыта пользователя в навыке. А разработчик навыка "Одинаковые сундучки" продвинулся ещё дальше, и даёт дополнительный подарок в самом приветствии, поощряя пользователя чаще возвращаться в игру. | |||
В любом случае стоит хорошо поработать над краткостью и лёгкостью текста, ведь приветствие навыка — по сути его лицо (или крыльцо, или вешалка, это уже по вкусу). | |||
| Строка 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> | |||
Второй вариант нам и нужен (кстати, при этом способе запуска не будет и вступительного текста Алисы). По этому принципу работали и самые первые навыки управления умными устройствами ("Алиса, попроси Альфреда включить вентилятор"). | |||
В действительности, скорее всего, ваша команда будет состоять из двух частей — <span style="color:blue">%СДЕЛАЙ_ЧТО%</span> <span style="color:gray">%С_ЧЕМ_И_КАК%</span>, но платформе это безразлично, она полностью отдаёт строку как есть, оставляя все возможности её обработки разработчику. | |||
Классическим примером можно считать навык "[[Навыки общего типа и Умный дом: Часы-кукушка | Часы-кукушка]]": при фразе | |||
* "Алиса, запусти навык Часы-кукушка" — озвучит приветствие и даст выполнить любую тестовую команду, а при | |||
* "Алиса, попроси Часы-кукушка отбить час с голосом" — немедленно запустит сэмпл, произнесёт время и сразу же закроется. При этом "отбить" можно отнести к %СДЕЛАЙ_ЧТО%, а остальной хвост - — к %С_ЧЕМ_И_КАК%. Но это деление, конечно, условно и индивидуально. | |||
Чтобы закрыть навык сразу после выполнения действия, не забудьте отправить в ответе нужный параметр: | |||
{ | |||
"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>Во втором случае мы объяснили механику игры (ответ — и интересный факт в качестве приза); и потизерили парой примеров.<br> | |||
|- | |||
| style="background-color:#fee" | Привет, я игра в пиратов. Задача игры — захватить больше ценных грузов и кораблей и переходить на новые уровни. | |||
| style="background-color:#dfe" | Хэй, юнга! Ты готов стать настоящим морским волком? Больше кораблей, больше золота, больше влияния на море! | |||
|- | |||
| colspan="2" style="background-color:white" | В первом случае мы формально описали и без нас очевидные действия.<br><br>Во втором — немедленно погрузили игрока в атмосферу навыка, а ту же самую механику подали намного привлекательней.<br> | |||
|} | |||
'''Повторный заход в навык:''' | |||
{| class="wikitable" style = "width:100%" | |||
|- | |||
! style="width:50%;color:red" | Плохо | |||
! style="width:50%;color:green" | Хорошо | |||
|- | |||
| style="background-color:#fee" | Привет, я игра в пиратов. Задача игры... | |||
| style="background-color:#dfe" | С возвращением на борт, Сергей! Ты уже вырос от сопливого юнги до бывалого матроса, осталось добыть 510 монет — и ты уже канонир самого Дрейка! А если ты нашёл ответ на мою загадку с прошлого раза, получишь от меня 20 дополнительных монет. Но при ошибке я заберу у тебя 10. Ты готов ответить? | |||
|- | |||
| colspan="2" style="background-color:white" | В плохом приветствии мы даже не заметили, что игрок пришёл повторно.<br><br>В хорошем - не только отметили это, но и рассказали про его прогресс и перспективы в игре, и даже предложили призовой квест. | |||
|} | |||
== Сноски == | |||
<references /> | |||
[[Category:Диалоги]] | [[Category:Диалоги]] | ||
Текущая версия от 14:27, 27 мая 2024
У вас есть время поговорить о навыках?
Краткое вступление для новичков: навыки Алисы - это расширения возможностей Алисы, которые регистрируются на платформе Диалоги.
Навыки отличаются от "компьютерных" программ-расширений (плагинов, дополнений) тем, что[1]:
- навыки не нужно устанавливать на устройство, они всегда готовы к запуску;
- в любой момент всем пользователям доступны все активные навыки;
- визуально изучить все доступные навыки можно в едином каталоге (при необходимости оттуда же их и запустить);
- платформа постоянно проверяет навыки на их доступность; недоступный навык деактивируется и исчезает из каталога;
- для публикации навыка (появления в каталоге и возможности его запуска) необходима предварительная модерация;
- вебхук навыка должен быть размещён на домене, имеющем SSL-fullchain-сертификат или в Функциях Облака;
- к навыку предъявляется ряд требований платформы (включая, к примеру, лимит времени на ответ навыка).
К числу таких требований относится приветствие, и это не простая формальность.
Приветствие покрывает несколько ключевых нужд пользователя:
- коротко рассказать о возможностях навыка (онбординг);
- дать понять пользователю, куда он попал в принципе (информирование о состоянии);
- ввести пользователя в атмосферу навыка (особенно, если навык игровой или развлекательный);
- дать пользователю понять, что вы о нём помните и заботитесь (в том числе, использовав его имя в приветствии, если ранее вы его сохранили).
Мне не нужно приветствие, мой навык беспрерывно используют
Первое и главное: не стоит переоценивать общеизвестность своего навыка ) Также одна из нередких ошибок в разработке — то, что очевидно вам, как создателю, неочевидно и непонятно широкой аудитории пользователей.
Для сравнения, вводная фраза Алисы перед запуском любого из навыков звучит не первый год (а суммарный запуск всех явно больше любого отдельно взятого). И тем не менее, эта фраза до сих пор остаётся. Как вы думаете, почему? Как минимум по 1 и 2 пунктам из предыдущей главы.
И не забывайте, что:
- ваш навык может запустить гость или другой член семьи на том же устройстве;
- никто не обязан — и не будет — зубрить возможности навыка;
- не все одинаково легко и быстро адаптируются к голосовому взаимодействию;
- это вы, как разработчик, должны проактивно предоставлять информацию, а не пользователь тратить своё время и думать, как её раздобыть;
- навык вообще может быть запущен случайно и человек может не знать не только о вашем навыке, но и о том, что он вообще какой-то там навык (?) запустил.
К сожалению, не все разработчики понимают важность вступительного информирования (и не всем программистам легко даётся перестроить своё мышление под разработку Voice UI в целом). И немногие задумываются, что приветствие может быть и интересным.
Как можно разнообразить и построить приветствие?
Если вы сделали приветствие в духе "Здрамвствуймте, я мполезный мнавык и могу мпомочь" - то неудивительно, что оно не нравится ни вам, ни пользователю, и слушать его каждый раз — действительно сплошное огорчение и потеря времени (но, скорее всего, и сам навык при таком подходе мог бы быть лучше, чем он получился).
Что же можно сделать, чтобы приветствие стало и полезным и интересным?
Для этого можно использовать:
- случайные варианты приветствия (см "промпт-листы");
- художественно оформленные тексты;
- красивые аудиоподложки, настраивающие на вход в навык (игровые, фантастические, медитативные, отбивки по принципу телешоу);
- обращения, дающие понять, что вы рады возвращению пользователя (можно озвучить его имя, или его прогресс в игре, или состояние заказа из предыдущей сессии) и вложили в навык заботу и профессиональное внимание.
Не помешает упомянуть про команду "Помощь" даже знакомому пользователю (особенно, если управление навыком может быть неочевидным, или содержит малозапоминающиеся побочные функции: смена сложности, возможность сравнить свой рейтинг с другими пользователями или сбросить прогресс, или прослушать список ранее завершённых заказов).
Случайно выводимые напоминания о каждой такой функции при очередном запуске — тоже неплохая идея для улучшения как приветствия, так и опыта пользователя в навыке. А разработчик навыка "Одинаковые сундучки" продвинулся ещё дальше, и даёт дополнительный подарок в самом приветствии, поощряя пользователя чаще возвращаться в игру.
В любом случае стоит хорошо поработать над краткостью и лёгкостью текста, ведь приветствие навыка — по сути его лицо (или крыльцо, или вешалка, это уже по вкусу).
Когда приветствие действительно не нужно
А как быть, если надо быстро запустить навык для выполнения единственного действия и тут же его закрыть?
Платформа Диалоги предусматривает два варианта запуска навыков общего типа:
- Запусти навык %НАЗВАНИЕ_НАВЫКА%
- Попроси навык %НАЗВАНИЕ_НАВЫКА% %КОМАНДА_НАВЫКУ%
Второй вариант нам и нужен (кстати, при этом способе запуска не будет и вступительного текста Алисы). По этому принципу работали и самые первые навыки управления умными устройствами ("Алиса, попроси Альфреда включить вентилятор").
В действительности, скорее всего, ваша команда будет состоять из двух частей — %СДЕЛАЙ_ЧТО% %С_ЧЕМ_И_КАК%, но платформе это безразлично, она полностью отдаёт строку как есть, оставляя все возможности её обработки разработчику.
Классическим примером можно считать навык " Часы-кукушка": при фразе
- "Алиса, запусти навык Часы-кукушка" — озвучит приветствие и даст выполнить любую тестовую команду, а при
- "Алиса, попроси Часы-кукушка отбить час с голосом" — немедленно запустит сэмпл, произнесёт время и сразу же закроется. При этом "отбить" можно отнести к %СДЕЛАЙ_ЧТО%, а остальной хвост - — к %С_ЧЕМ_И_КАК%. Но это деление, конечно, условно и индивидуально.
Чтобы закрыть навык сразу после выполнения действия, не забудьте отправить в ответе нужный параметр:
{
"response": {
...
"end_session": true
},
...
}
Приветствие, Что ты умеешь и Помощь - разве не одно и то же?
Конечно, нет. Приветствие и его особенности мы уже рассмотрели подробно, перейдём к отличиям и этих требуемых платформой команд:
Что ты умеешь?
Как видно из самого вопроса, навык должен коротко и красиво рассказать о себе ...но будет странно, если в начале снова прозвучит "Привет, я навык такой-то!"
Конечно, бывает уместно подклеить к приветствию абзац из "Что ты умеешь", но в хорошо проработанном навыке это всё же разные тексты с отличающимися акцентами.
Помощь
Если пользователь просит помощи, ему точно не нужно ни приветствий, ни рекламы крутых возможностей супергипермеганавыка.
Он нуждается в чётком перечислении доступных команд (возможно, и сухом информировании о своём статусе, если это влияет на список доступных команд).
Если ваш навык ориентирован на далёкий от мира IT сегмент (например, пожилых людей), неплохо озвучить и команды выхода из навыка (несмотря на то, что Алиса это уже сделала при запуске).
Примеры
Первый заход в навык:
| Плохо | Хорошо |
|---|---|
| Я навык, который знает очень много загадок про животных, птиц и рыб! Я буду спрашивать, а ты отвечать на мои интересные вопросы. |
Привет! Я расскажу тебе, почему дельфины не рыбы, а арбуз - это ягода. Но для этого тебе тоже надо будет ответить на мои вопросы ;) |
| В первом случае навык хвастает своими абстрактными достижениями, которые мало интересны пользователю. Во втором случае мы объяснили механику игры (ответ — и интересный факт в качестве приза); и потизерили парой примеров. | |
| Привет, я игра в пиратов. Задача игры — захватить больше ценных грузов и кораблей и переходить на новые уровни. | Хэй, юнга! Ты готов стать настоящим морским волком? Больше кораблей, больше золота, больше влияния на море! |
| В первом случае мы формально описали и без нас очевидные действия. Во втором — немедленно погрузили игрока в атмосферу навыка, а ту же самую механику подали намного привлекательней. | |
Повторный заход в навык:
| Плохо | Хорошо |
|---|---|
| Привет, я игра в пиратов. Задача игры... | С возвращением на борт, Сергей! Ты уже вырос от сопливого юнги до бывалого матроса, осталось добыть 510 монет — и ты уже канонир самого Дрейка! А если ты нашёл ответ на мою загадку с прошлого раза, получишь от меня 20 дополнительных монет. Но при ошибке я заберу у тебя 10. Ты готов ответить? |
| В плохом приветствии мы даже не заметили, что игрок пришёл повторно. В хорошем - не только отметили это, но и рассказали про его прогресс и перспективы в игре, и даже предложили призовой квест. | |
Сноски
- ↑ У навыков умного дома есть небольшие отличия (например, для их использования необходимо создать связку аккаунтов), здесь мы говорим только о навыках общего типа. Также мы не рассматриваем здесь приватные навыки.