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

Умные колонки, прошивки, релизноутсы и облака: различия между версиями

Материал из Wiki yaboard
Нет описания правки
Строка 26: Строка 26:
# В распознанном запросе выявляется интент (намерение пользователя).
# В распознанном запросе выявляется интент (намерение пользователя).
# Колонке отправляется команда (и совсем необязательно содержащая запрос или его часть).
# Колонке отправляется команда (и совсем необязательно содержащая запрос или его часть).


  Например:  
  Например:  
Строка 31: Строка 32:
  - на фразу в режиме болталки - рандомный ответ всё той же облачной нейронки.
  - на фразу в режиме болталки - рандомный ответ всё той же облачной нейронки.
  - на запрос изменения громкости... команда изменения громкости, неожиданно)
  - на запрос изменения громкости... команда изменения громкости, неожиданно)


В зависимости от сценария данные могут ещё несколько раз "скрикошетить"  между колонкой и облаком. К примеру, мы хотим найти фильм. Тогда плюс к предыдущим действиям (это условная схема, чисто для иллюстрации):
В зависимости от сценария данные могут ещё несколько раз "скрикошетить"  между колонкой и облаком. К примеру, мы хотим найти фильм. Тогда плюс к предыдущим действиям (это условная схема, чисто для иллюстрации):
Строка 37: Строка 39:
* Колонка получает сообщение и направляет запрос уже для поиска "...в сети" в сервис Яндекс.Видео.
* Колонка получает сообщение и направляет запрос уже для поиска "...в сети" в сервис Яндекс.Видео.
* Сервис возвращает список фильмов.
* Сервис возвращает список фильмов.


Последующими командами можно пролистать галерею (при этом, возможно, будут подгружаться дополнительные данные) и запустить выбранное видео. При этом:
Последующими командами можно пролистать галерею (при этом, возможно, будут подгружаться дополнительные данные) и запустить выбранное видео. При этом:
* Колонка откроет соединение с удалённым сервисом видео (ok, youtube, эфирные стриминги)
* Колонка откроет соединение с удалённым сервисом видео (ok, youtube, эфирные стриминги)
* обрабатывает получаемый поток и выводит его на экран.
* обрабатывает получаемый поток и выводит его на экран.


Точно так же и с воспроизведением музыки. Что здесь самое главное:
Точно так же и с воспроизведением музыки. Что здесь самое главное:
Строка 49: Строка 53:
* Будет ли сервис работать с данным экземпляром колонки - облако.
* Будет ли сервис работать с данным экземпляром колонки - облако.
* Отдаёт готовые тексты (погода, фактоиды, итд) и мультимедиа-потоки - снова облако.
* Отдаёт готовые тексты (погода, фактоиды, итд) и мультимедиа-потоки - снова облако.


Что остаётся на стороне колонки?
Что остаётся на стороне колонки?
Строка 66: Строка 71:




== Там ещё про подписную колонку было... ==
== А что хранится в колонке? ==
 
 
Где что ''выполняется'' - уже понятно; теперь попробуем разобраться, где что ''хранится''. В колонке - совсем немного, например:
* Таймеры и будильники;
* Прогресс последнего воспроизведённого видео и музыки;
* История навигации (по которой можно вернуться серией команд "Назад").
После перезагрузки колонки большинство этих данных пропадёт.
 
Ну, а на серверах Яндекса (Паспорт, облачные сервисы, итд), в свою очередь:
* Дела и напоминания;
* Вся информация об аккаунте, подписках, покупке фильмов;
* Все настраиваемые параметры ("Семейный фильтр", "Отвечать одной колонкой", "Узнавать детские голоса", настройки новостей, итд);
* Устройства и сценарии Умного дома;
Все "серверные" данные останутся в целости и сохранности не только при отключении колонки, но и при её перевозке на новое место, замене, отвязке от аккаунта, итд.
 
 
== Там ещё про подписную было... ==





Версия от 08:51, 12 ноября 2020

Колонка обновилась, а что поменялось?

В комьюнити нередко возникают вопросы такого рода:

  • А что нового в этой прошивке?
  • Почему нет релизноутсов прошивок!
  • Опять ничего нового в прошивке...

Ну и особо "хитрые" участники комьюнити задаются вопросом "А что будет, если поломать прошивку подписной колонки?" 😈

Давайте разберёмся вместе.

Как устроены умные колонки

Практически все - одинаково:

  1. Микрофоны слушают окружающий шум и непрерывно ищут команду активации.
  2. Если активационное слово найдено - вся следующая "громкая часть" до тишины также очищается от шумов.
  3. Очищенный сэмпл уходит на облачные сервера для распознавания.
  4. В распознанном запросе выявляется интент (намерение пользователя).
  5. Колонке отправляется команда (и совсем необязательно содержащая запрос или его часть).
Например: 
- на запрос "Расскажи про погоду" из облака возвращается готовый текст с прогнозом погоды.
- на фразу в режиме болталки - рандомный ответ всё той же облачной нейронки.
- на запрос изменения громкости... команда изменения громкости, неожиданно)


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

  • Получив команду, колонка направляет запрос на сервис Кинопоиска.
  • Кинопоиск сообщает, что такого фильма/сериала в базе нет.
  • Колонка получает сообщение и направляет запрос уже для поиска "...в сети" в сервис Яндекс.Видео.
  • Сервис возвращает список фильмов.


Последующими командами можно пролистать галерею (при этом, возможно, будут подгружаться дополнительные данные) и запустить выбранное видео. При этом:

  • Колонка откроет соединение с удалённым сервисом видео (ok, youtube, эфирные стриминги)
  • обрабатывает получаемый поток и выводит его на экран.


Точно так же и с воспроизведением музыки. Что здесь самое главное:

  • Распознаёт команду - облако.
  • Выделяет интент из запроса - облако.
  • Что отправить колонке в ответ на запрос - тоже решает облако.
  • Активирует тот или иной сервис (Такси, КП, итд) - опять облако.
  • Будет ли сервис работать с данным экземпляром колонки - облако.
  • Отдаёт готовые тексты (погода, фактоиды, итд) и мультимедиа-потоки - снова облако.


Что остаётся на стороне колонки?

  • Выделить из шума команду, отправить на сервер.
  • В зависимости от команды с сервера озвучить полученный текст илли открыть медиапоток.
  • Воспроизвести поток.

Так что с прошивкой?

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

  • Запустили одновременно облачную часть и прошивку. Возник баг. А где он возник? Что из двух частей или их взаимодействия надо немедленно исправить? Ведь одновременно нарушена работа, возможно, десятков тысяч устройств. А в случае поочерёдного ввода найти проблему в несколько раз проще.
  • Подготовили прошивку, начали тестировать работу с облачной частью. Выпустили. Если обнаружилась ошибка в облачной части - то снова не надо трогать прошивку. А вот если баг нашёлся именно в прошивке - когда облачная часть уже вовсю работает - вот только тогда есть необходимость трогать прошивку, накатив исправления.
Именно поэтому в релизноутсах нет ничего "вкусного", а список изменений - практически всегда сухое упоминание о багфиксах.

А что хранится в колонке?

Где что выполняется - уже понятно; теперь попробуем разобраться, где что хранится. В колонке - совсем немного, например:

  • Таймеры и будильники;
  • Прогресс последнего воспроизведённого видео и музыки;
  • История навигации (по которой можно вернуться серией команд "Назад").
После перезагрузки колонки большинство этих данных пропадёт.

Ну, а на серверах Яндекса (Паспорт, облачные сервисы, итд), в свою очередь:

  • Дела и напоминания;
  • Вся информация об аккаунте, подписках, покупке фильмов;
  • Все настраиваемые параметры ("Семейный фильтр", "Отвечать одной колонкой", "Узнавать детские голоса", настройки новостей, итд);
  • Устройства и сценарии Умного дома;
Все "серверные" данные останутся в целости и сохранности не только при отключении колонки, но и при её перевозке на новое место, замене, отвязке от аккаунта, итд.

Там ещё про подписную было...

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