はじめに
Power Platform推進チームの小野です。
USリージョンでプレビュー公開されている Copilot in Power Apps を使って、アプリを作成してみました。
先日の Japan Power Platform Conference 2023 においても Copilot の発表が盛りだくさんで、時代が激変するようなパワーを感じました。このビッグウェーブに乗らないわけにはいかないので、Copilot をちゃんと試してみよう! という取り組みです。
使い方
Copilot を試すには、現状、Power Platform 開発者環境を USリージョンで作成するのが手っ取り早いかと思います。開発者環境の作成については、下記を参照ください。
また、「Power Apps の設定」から、言語を English にすることも忘れずに。
上記の言語設定は、環境ごとの設定ではなく、自分のアカウントに対する設定のようです。言語設定変更後は、日本リージョンの環境に戻っても English 表示が残るので、気になる方は適宜変更ください。
なお、日本リージョンでも Copilotを試せるようになったとのことです。
が、組織の Copilot ポリシーによっては利用できないのでご注意を。その場合は USリージョンで試しましょう。
何を作る?
水族館で見た生き物を記録するアプリを作ります。スマートフォンで撮影し、名前やメモを記入するようなアプリになりますね。つくりは備品管理アプリなどとほとんど同じです。
アプリ作成
Copilot に指示
USリージョンの環境で Power Apps のサイトにアクセスすると、ホーム画面に Copilot のダイアログが表示されています。目立ちますね。
メニューの Apps にも Start with Copilot が表示されているので、こちらからでも OK です。
それでは、作りたいアプリの概要を入力して、Copilot にアプリを作ってもらいましょう。
テーブル作成
すると、まずはアプリではなくテーブルを提示してきます。このテーブルは、環境の Dataverse に追加されます。
ID、名前、種名、場所などの列が作られており、それぞれに水族館っぽいサンプルデータが入っていることがわかります。右にスクロールしていくと、日付型の "Date Seen" 列がありました。その生き物を見た日付を示す列だと思われますが、1日でたくさんの生き物を見ることになるので、時刻も記録したいところです。Copilot に修正を依頼してみましょう。
列名と型名を指定してみると、すぐに修正してくれました!型名は正確な表現ではないかもしれませんが、ちゃんと解釈してくれています。
続いて、”Location” 列を、選択肢の中から選ぶ形式にしたいです。現在はテキスト型になっています。選択肢は、すみだ水族館のフロアを参考にして、とあえて雑に投げてみました。
選択肢形式への変更には成功しましたが、すみだ水族館のフロア構成まではさすがに把握していませんでした。「フロア」の表現を解釈して、1~5Fになっています。ちなみに、すみだ水族館のフロア構成は 5F と 6F です。
URLを指定したらそこから取得してくれるのでは、と考えて、次はこんな指示を出してみました。例示も載せています。
雑な検証ですが、URLを指定しての作成はできないようです。「など」を拡大解釈されてしまいました。ここは、あとで自分で選択肢を追加することにしましょう。
続いて、水族館で撮影した画像を追加する列を作成します。シンプルに「画像列を追加して。」とだけ依頼してみました。
URLで画像を指定する列が作成されました。たしかに画像列ではありますが、今回の要件とは異なります。画像ファイルを格納する列に変更するように、再度指示します。
画像ファイルを格納するように修正できました。このあたりは、Copilot が解釈しやすいような単語を選ぶ必要がありそうです。とはいえ、誤解されない言葉を選ぶのは、対 AI であっても対人であっても変わらないところかなと思います。
最後に、生き物の感想を記入する列を作成します。1行テキストではなく、複数行テキストにしましょう。
1行テキスト型で作成されてしまいました。型を変更するように指示しても、変更できず… ここもあとで手修正することに。
テーブルの調整はこのくらいにして、いよいよアプリの作成に進んでみましょう。右下の Create app ボタンを押すと、このテーブルをもとにアプリが作成されます。
アプリ編集画面
このようなアプリが作成されました!左のペインで新規作成や検索・選択を行い、右のペインで詳細表示や編集が行えるアプリです。
とはいっても、これは Excel ファイルを読み込んでキャンバスアプリを作成したものとほとんど同じですね。違いとしては、右上の地球儀アイコンが追加されていて、接続状態によってメッセージを表示する機能があるようです。
アプリの編集画面でも Copilot を使うことができます。画面右上の Copilot アイコンから、自然言語を入力して指示する形です。
ただ、アプリ編集画面の Copilot は日本語には完全対応していないようで、簡単な指示であっても拒否されてしまいました。
もちろん、英語で指示すればちゃんと動作します。たとえば、アイコンを作成するなどは可能でした。
レスポンシブデザイン対応
なお、この自動作成されたアプリは、レスポンシブデザインに対応しています。プレビュー画面で「電話」を選択してみると、
スマホ画面に対応した形で表示されます。
スマホで実行してみた
ひとまず必要な機能は満たせているので、スマートフォンからアプリを実行してみたところ、レスポンシブ対応がちゃんと適用されており、画面の遷移なども正常に動作していることを確認できました。
しかし、スマートフォンから画像を追加する機能が正しく動作していないことがわかりました。PC から画像を追加することはできるのですが、スマホで写真を撮ったり、スマホの画像をアップロードしたりしても、Dataverse に登録されない状態です。同じテーブルで別のキャンバスアプリを作ってみたところ、スマホからでも問題なく画像アップロードができたので、自動作成したアプリに何か問題があるのかも…?要検証です。
おわりに
現状の Copilot は、テーブル作成のアシスタントとして非常に有用だと感じました。今までの Power Apps でも、Excel ファイルや SharePoint リストをベースにアプリを作成することは可能でしたが、ファイルやリストすらない状況からアプリが作成できるところが画期的です。お題に沿って必要な列を作ってくれて、対応したサンプルデータまで入れてくれるので、イメージを形にするまでの時間が大幅に短縮できます。日本語で指示しても対応してくれるところもありがたいですね。
一方で、アプリ編集画面での機能は、これからのアップデートに期待です。アプリ編集画面でやりたいことは多岐に渡るので、指示の解釈が難しいところなのかなとも思います。ユーザー側としても、Copilot が理解できる言葉選び(英語)を意識しておくと、うまく使いこなせるのではないかと。
Copilot in Power Apps を使うと、データテーブルからアプリを作ることになります。つまり、キャンバスアプリでありながら、モデル駆動型アプリ(model-driven apps)の考え方に近いと言えます。アプリで実現したいことをデータモデルとして明確にして、そのデータモデルに Copilot が作った「たたき台」を近づけていく、といった動きが求められるようになるのではないでしょうか。