このたび、Alexa Skills KitのSkill Connectionsが一般公開されました。現時点でAlexaが利用できる場所であれば、どこでも利用できます。Skill Connectionsとは、特定のタスクを別のスキルに実行させる機能のことです。スキルに大掛かりな変更を加えることなく機能を拡張し、さまざまなユーザーリクエストに応えられるようになります。
Skill Connectionsを使用すると、あるスキルから別のスキルが提供するタスクを呼び出すことができます。これにより、ユーザーエクスペリエンスをコントロールしつつ、頻度の高いタスクを外部のプロバイダーに任せることが可能になります。現在、印刷、レストランの予約、乗り物の手配などの機能が利用できます。
これまでは、スキルごとにすべての機能を開発する必要がありました。Skill Connectionsを使えば、単純なタスクを別のスキルに任せて機能を拡張できます。たとえば、Skill Connectionsでゲームスキルに印刷機能を加えれば、ユーザーはいつでもスコアボードを印刷できるようになります。食事に関するスキルであれば、Skill Connectionsでレストラン予約機能を追加することもできます。
現時点で、Skill Connectionsにより利用できるタスクは次の5つです。
Skill Connectionsを利用してタスクを任せる側のスキルを、リクエスターと呼びます。Skill Connectionsでは、別のスキルにリクエストを送る際、有用なコンテキスト情報を渡すことできます。たとえば、何かの予約を入れるスキルの場合、Skill Connectionsを使用してタクシー予約スキルに住所と予約時刻を渡すことで、予約が簡単になります。これからは、ユーザーが複数のスキルに情報を渡して知らせる必要はありません。必要に応じて、Alexaが接続されたスキルを自動で有効にします。スキルをリクエスターにするには、必要なハンドラーを実装して再公開します。
たとえば、AllrecipesのAlexaスキルでは、Skill Connectionsを使ってレシピを印刷できます。「印刷機能によって、全体的なスキルのユーザーエクスペリエンスが向上しました。家庭での料理中に、AlexaでAllrecipesスキルを使うだけで、自然な会話の流れで好きなレシピを簡単に印刷できるようになったのです。」と、Meredith Digitalのイノベーション担当VP、Corbin de Rubertis氏は言います。
別のスキルから任されたタスクを実行する側のスキルを、プロバイダーと呼びます。現在米国でSkill Connectionsのカタログには、印刷プロバイダーとしてエプソン(日本でも利用可)、キヤノン(日本でも利用可)、HPが、乗り物予約のプロバイダーとしてUberが、レストラン予約プロバイダーとしてOpenTableが登録されています。スキルをプロバイダーとして登録するには、スキルのマニフェストを更新してハンドラーを実装します。その後スキルの認定プロセスに再申請して承認されれば登録は完了です。Alexaは、複数のシグナルに基づいてリクエスタースキルにプロバイダースキルを提示します。シグナルには、プロバイダースキルの人気、該当地域で利用できるかどうか、ユーザーが最近使用したかどうかなどがあります。実装方法の詳細とサンプルコードは、ドキュメントを参照してください。
サポートされる接続やスキーマといったその他の詳細は、 Alexa Skill Connectionsに関する開発者向けドキュメントに記載されています。こちらのドキュメントで、Skill Connectionsを使ってAlexaスキルを拡張する方法をぜひご覧ください。
編集注:このブログはAnnouncing General Availability for Alexa Skill Connections: Improving Productivity by Outsourcing Tasks to Other Skillsの翻訳です。