新しい Alexa Skills Kitデベロッパコンソールを試してみた

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

暮冬の候, 余寒なおきびしい昨今ですが、いかがお過ごしでしょうか、せーのです。
今日はベータ版として新しくなったASKの開発者コンソール(デベロッパーコンソール)が登場したので、色々触ってみました。

ある日こんな表示が

いつものように開発者コンソールに行ってみると、こんな表示が出ていました。

「ベータ版」とか「プレビュー」という言葉に目のない私は、一も二もなく飛びつきました。さて、何がどう変わっているのでしょうか。

試してみた

とりあえず「新メニューに切り替える」というボタンを押してみます。

おお、UIが一気に変わりました。以前よりマージンをゆったり取った感じで見やすいですね。ではMesureから見ていきます。

Mesure

ここらへんは以前とそんなに変わらないです。Intervalがわかりやすくなっていますね。次にEdit。

Edit

いきなりスキルビルダーが出てきました。新しいコンソールではInteraction Modelを書く項目はなくなったようですね。動画が埋め込まれているのは最近のAWSサービスでもよくあるパターンですね。上から見ていきましょう。

invocation name(呼び出し名)を書く部分は独立したメニューになっています。ここは特にカスタムスキルにとっては重要な部分なので下に制限などが細かく書かれています。

旧コンソールではタブで分かれていた多言語設定はトグルボタンに隠れていました。

こんな感じで簡単に言語を増やせます。

JSON Editorはスキルビルダーを使っていた方にはおなじみの項目ですね。型式はDialog Modelになっているので、いままでInteraction Modelを使っていた方には少し勝手が違うかもしれないです。

Endpointは今まで「設定(Configuration)」となっていた項目にあったものです。Optionとして選択することで各リージョンごとにLambda ARNを設定していましたが、新しいコンソールでは最初から入力ボックスが出ていますね。ただここはOptionのままなので設定してもしなくても構いません。

Account Linkingは独立したメニューになりました。ここはOAuthの仕組みを理解していないとなかなか設定が難しいので注意してみて下さい。

PermissionもConfigurationから独立しました。これは恐らくこれからPermissionに関わる選択肢が増えるからではないか、と考えています。先日ついに日本語版への実装が発表された「通知機能(Notification)」はPermissionによるオプトインになります。また将来的に開発者に公開されるかもしれないMessaging&Calling(Alexaから電話をかける機能)もオプトインです。これらの機能のPermissionをこの画面で一気に管理しようということかと思います。

Test

テスト画面は大きく変わりました。LEXのテストシミュレータに似ていますね。なによりも変わったのは「呼び出し名から呼び出す必要がある」という部分です。

旧コンソールにあった「サービスシミュレータ」はカスタムスキルを呼んだ状態からスタートしました。例えばこの画面は「コーヒーショップ」というスキルで、「コーヒーを下さい」と言うとAlexaが注文を受ける、というものなのですが、ただ「コーヒーを下さい」と言ってもビルトインスキルが反応してしまい、コーヒー自体の説明が返ってきます。

このようにちゃんと「呼び出し名」を呼び出した上で「コーヒーを下さい」と言わないと反応しません。ここらへんはより実機に近くなった印象です。尚、テストした時にLambdaに飛ぶrequestとresponseが返ってくるところは旧コンソールと同じです。

テストで最も変わったところは「Device Log」という項目が出来た事です。これはスキルを動かした時のデバイス側の動作ログを示したもので、EchosimなどでConsole Logを開くと出てきていた情報です。 これがあることでデバイス側ではどのような反応をしていたか、が追いやすくなりました。

大きな変更として声によるテストを受け付けるようになりました。そして声でテストした時にDevice Logを見てみると、SpeechRecognizerディレクティブで発話がどのように認識されたかを見ることが出来るようになりました。
これまでは実機でテストをして、Alexaアプリの履歴を見ないとわからなかったところなので、開発者コンソールで一気に確認できるのは便利ですね。認識されたまま分節でスペースが入っているので、スロットを認識しやすいように作り変える参考にもなります。ここらへんは先日の「Alexa Day」で私のセッションを聞いてくださった方にお話した「tokenizerに優しいスロット作り」という部分です。

残りの機能をざっと見ていきましょう。Manual JSONはrequestのJSONをそのまま手書きしてテストするものです。

Voice & Toneは旧コンソールにあった「ボイスシミュレータ」です。SSMLタグを打ち込むことで、Alexaがどのように話すかをテストするものです。

Launch

Launchは旧コンソールの「公開設定」にあたる部分です。書いてある項目は旧コンソールと変わりません。 ただ項目名やtooltipに思いっきり変数名が出ているので、、、多分バグですね(笑)。

Beta Testingは少し大きめにフィーチャーされています。この機能、慣れてくるとかなり重要なので今のうちに押さえておきましょう。

全ての設定が終わるとこのように大きなチェックマークが出て、審査に出せるようになります。

ちなみに英語版ですとバグらずにキチンとした項目名が出ていました。

項目名がキチンと出てようやくここの意味がわかりました。いままでAlexa for BusinessのPrivate Skillを登録するのにはCLIからダウンロードしてPublic項目部分を"PRIVATE"と書き換える必要があったのですが、おそらくここの選択肢を変えるだけでAlexa for Business用のプライベートスキルに出来る、という意味だったのですね。

まとめ

いかがでしたでしょうか。ざっと一通り見ていきました。
基本的にはテストの部分以外はそんなに内容は変わっていないようです。よく使う部分が独立したメニューに分けられてわかりやすくなった、というイメージですね。
ただ、本格的にInteraction Modelで書くことがなくなっていくようなので、旧コンソールで慣れている方はスキルビルダーへの早めの移行をご検討下さい。

参考リンク

  • https://developer.amazon.com/blogs/alexa/post/ea373bd3-cd80-4b09-b243-2b986d2922a0/new-alexa-skills-kit-developer-console-beta-streamlines-development-process