どう考えても間違っていると思う。Amazon Echo、つまり Alexa の挙動だ。
先に断っておくが、僕は大の Alexa 通であり、ファンだ。その分野を切り開いたイノベーターをリスペクトすると決めているので、ホームオートメーション、スマートスピーカーに関しては、徹底して Amazon のエコシステムを貫いている。HomePod はスピーカーとしてしか使っていないし、Siri に呼びかけることは無い。
インターネットの構造がまさにそうであるように、良くも悪くも中央集権構造で徹底して造られているのが、Alexa エコシステムだ。初期の頃はそれで良かった。すべての個人情報は Amazon に集約すれば安心だし、それでこその付加的な価値を感じられた。消耗品の購入リマインドや音声を通した商品の購入など、まさに Amazon エコシステムの賜だ。
しかし、それが一向に進化しない。AI そして IoT 時代のコンシューマーデバイスで乗り遅れた Amazon の悪いところが全部出ているように思う。ハードウェアとしての選択肢が増えたり、価格が驚くほど安くなっているのは良いとは思う。しかし、その進化の方向は、ユーザーとして僕が望んでいた方向性とは違う。
消費者の行動を一番把握しているのが Amazon なのだから、現在の判断は間違っていないのだろうし、きちんと誰もが欲しいものを提供しているとは思っている。でも、あるべきスマートスピーカーの形とは到底思えない。読書端末として市場で圧勝している Kindle でさえ、ソフトウェア側、インフラ側においては設計思想が、昔ながらのいつもの味になっている。
致命的だと思う問題の実例を記しておこう。
まず、複数の拠点を管理したら簡単に破綻する。今手元にある Alexa は、家やオフィス、合計4カ所を操作している。Echo 端末の数は、10台を超えている。その状況で「ただいま」と言えば電気が点いてほしいのは当然だが、そんなシンプルなワードで自動化すれば、すべての場所で電気が点く。それに、日本語では「電気」は「照明」ではなく「電源」と理解されてしまう。電気を消そうとすれば、すべて消える。下手をすれば、すべての場所で、すべての電源が落ちる。
それぞれの Echo 端末は、担当する家と部屋がはっきりと分かれており、担当する家電もすべて紐付けてある。それでも、簡単に越境し、権限を侵害し、余計なことをする。
解決策は、すべての家電に固有の名称を設定することや、すべての場所、部屋に応じた、全く異なった、解釈の間違えようのない命令文を設計することだ。つまり、一種の、自分と Alexa 専用の言語の構築である。
その実現プロセスは、プログラミングや、魔法の呪文に似ている。
Alexa + 対象とする部屋 + 対象とする (家電 or グループ) + 期待する挙動
この文法の基本を押さえた上で、個別に命令を考えて設計していくことになる。もちろん最初にやるべきは、ルールの設計であるべきだ。統一感のあるルールに従って、部屋や家電の固有名称を設計しなければならない。これを間違えると、いまどの対象に命令を発しているのかが分からなくなってしまう。
応用として、頻繁に使う呪文を別の呪文で表す技法がおすすめだ。定型アクションとして、特定の呪文によって、あらかじめ指定しておいた呪文を複数発動させる方法になる。引数を渡せるわけでは無いが、関数の呼び出しに似ている。
Alexa + 固有ワード
非常に便利で、複数の呪文を一括して呼び出せたり、呪文詠唱を短くできる利点があるのだが、注意点もある。一般用語や予約語と重複はできないのだ。つまり、「いってきます」などの予約語を使うと、挨拶を返されてしまったりする。
ではどうするか。文字通り、呪文と考えて設計するしかない。
例えば、僕がこれまでに様々なことを試した結果、毎日のように使うようになった呪文を挙げておく。なお、呪文の種類が今いる家や部屋などごとに異なるので、場所によってコンテキストを切り替えられる。
Alexa + バルス
該当する家のすべての照明を消して、その後掃除をする呪文。ゴミをゴミのように掃除する。
Alexa + 領域展開
バルスと同じだが、該当する家が違う。違いは、エンディングソングを流すこと。
Alexa + 簡易領域展開
領域展開の簡易版。掃除はしない。
Alexa + エンペラーモード
照明の色を切り替えて集中モードにする。また、iPhone/Mac を集中モードにし、一切の通知をオフにする。音楽と、部屋の外にあるサインの点灯によって、集中モードへの移行を外部に知らせる。
Alexa + (x) 号機 (出撃 or 撤退)
x に該当する識別番号を持つエアコンを起動する。応用として、全機の出撃や撤退も可能。
このような呪文が、数十個用意されている。正直、バカみたいだと自分でも思っている。しかし、そうしなければ命令が通じないし、呪文詠唱が長くなってしまう。
この例だけでも、いかに期待を外れた挙動なのかが伝わると思う。
正直、言語の認識精度に関しては、諦めている。日本語で使えばそうなるのは仕方なく、Amazon が悪いわけではない。ただ、英語と日本語を併用して使える仕様にはしてほしかった。とはいえ、Google もそれをうまくできているとは言えないので、単純に日本語の限界なのだろう。
他にも、Amazon においては、各種アカウントの統合に関して、そもそものデータベース構造や認証システムの構造に起因する問題を抱えている。たとえば、未だに複数の国の Amazon でアカウントを持っている人が統合を試みると、生涯つきまとう厄介な問題に直面することになる。ただし、これは今回の本題ではないので詳しくは書かない。
Amazon のすごさは、コンシューマー市場の理解と、なにより AWS、サーバーサイドでの影響力だ。だからこそ Alexa は今日も稼働し、誤った認証をせず、遠隔での操作も実現できている。
しかしその強みも、すでに時流から外れつつある。トッププレイヤーの Amazon が、イノベーションのジレンマの実例のように、エッジ側での演算や分散認証、個人情報の保護といった新しい領域では後れを取っている。むしろ、Apple の方が先を行っている。
もし Echo 端末側、Alexa に生成 AI が搭載されれば、まず目の前の重要な問題は解決されるだろう。しかし、その演算を Amazon らしくクラウド側で処理するとなれば、演算コストは跳ね上がる。エッジ側で処理するには端末価格が高騰し、そもそも既存のエコシステムを捨てなければならない。
いつの日か、呪文詠唱から解き放たれる日は来るのだろうか。