【Microsoft×生成AI連載】シリーズです!
Microsoft Teams(以下、Teams)では、ボタン付きのメッセージや、入力フォームが表示される便利なカードを見たことがあるかもしれません。
これらのカードは「アダプティブカード」と呼ばれ、TeamsやOutlookなどで利用できるUIです。
Microsoft Copilot Studio(以下、Copilot Studio)のエージェントでもアダプティブカードが利用できるので、作成してみました。
これまでの連載
これまでの連載記事一覧はこちらの記事にまとめておりますので、過去の連載を確認されたい方はこちらの記事をご参照ください。
Copilot Studioのアダプティブカードの紹介
アダプティブカードとは、Teamsなどで表示できるカード形式のUIフォーマットです。
フォームとして作成することで、利用者が項目に沿って効率的に入力できるようにしたり、エージェントが取得した結果をグラフ化してよりデザイン性に優れた情報の表示を実現したりと、さまざまな用途で活用できます。
公式ドキュメントにサンプルが多数掲載されているので、ぜひご確認ください。
利用イメージ
まずはアダプティブカードを利用する状況をイメージしていただくために、会議調整を行うエージェントでの例を取り上げます。会議調整を行うためには参加者や日時など、ユーザー入力が必須の項目がいくつか存在します。
このような入力をエージェント利用者がスムーズに行えるようにするため、今回はアダプティブカードで2種類のフォームを作成しました。
参加者や会議日時を入力するアダプティブカード
まずは参加者などの情報を入力するアダプティブカードです。会議時間や開始日時などを選択する項目を用意しました。

必須項目や数値の入力制限も、アダプティブカードの設定で簡単に設定できます。
また、会議の参加者はPeople Picker(テナントのユーザー一覧から検索、選択できる機能)で実装しており、ユーザー名を入力すると検索することが可能です。

候補に表示されるユーザーをクリックすると、そのユーザーが入力フィールドに反映されます。

会議時間を決定するアダプティブカード
参加者などの情報を入力した後に、会議の候補時間を表示して選択してもらう必要があります。候補時間の選択もアダプティブカードで作成しました。

会議の説明は複数行テキストが既定で表示され、利用者の名字もあらかじめ入力される設定になっています。
また、会議の候補時間はドロップダウンリストから選択できるようになっています。

このようにエージェントに入力する情報が多い場合は特に、利用者がチャット欄で自由記述する方式だと手間がかかり満足度が下がると考えられます。
アダプティブカードを利用することで、入力項目が整理され、利用者の満足度を向上させることが期待できます。
作成方法
JSONカードでの作成方法
Copilot Studioのエージェントでは、アダプティブカードはトピックから作成できます。
トピック内の「+」アイコンをクリックすると「アダプティブカードで質問する」という項目が表示されます。

それを選択すると、アダプティブカードを表示するアクションが追加されます。

歯車マークの表示されている範囲内をクリックするか、右上の三点リーダーから「プロパティ」を選択すると、アダプティブカードのプロパティが表示されます。

「アダプティブカードを編集する」をクリックすると、アダプティブカードの編集画面に遷移します。

この画面では左ペインの要素や入力から項目を選択し、画面中央の枠へドラッグアンドドロップすることでアダプティブカードを編集することが可能です。画面下部の「カードペイロードエディター」が、要素に合わせて自動的に更新されていきます。

右ペインの「要素のプロパティ」で必須項目の設定も行えます。検証の「必須」にチェックを入れると、その項目は入力が必須になります。

数値の入力制限も「要素のプロパティ」から指定可能です。

JSONカードでは直感的にアダプティブカードを作成できるため、初心者でも分かりやすく作業することが可能です。
他の要素や入力の詳細は、公式ドキュメントのサンプルやスキーマ情報を確認のうえでお試しください。
式カードでの作成方法
会議の候補時間といった動的な値をアダプティブカードに表示したい場合は、JSONカードの編集画面では対応していません。変数や関数を入力するためには式カードで編集します。
まずアダプティブカードのプロパティで、「JSONカード」を「式カード」に変更します。

「式」をクリックすると、変数や関数を設定できる編集画面に切り替わります。

式カードの中であれば、変数や関数を使って値に埋め込むことや、選択肢として表示させることが可能です。下記画像の赤枠が実際に変数や関数を利用している部分です。

利用シーンとメリット、注意点
利用シーン
Copilot Studioでエージェントを作成する際に利用できます。
アダプティブカードを利用できることでユーザー入力を補助したり、エージェントの結果出力をより優れたデザインしたりすることが可能です。ユーザー満足度の高いエージェントを作成したい場合に活用できます。
メリット
ユーザーに大きな不満を感じさせずに、多くの情報入力を依頼することができます。
エージェントを正しく動作させるために、多くの入力情報が必要になるケースも考えられます。その時にアダプティブカードが設定されていることにより、自由記述形式で回答するよりも、利用者の手間を削減できると期待されます。
注意点
アダプティブカードの動作確認を行う際はCopilot Studioのテストウィンドウだけでなく、Teamsなど実際にユーザーが利用する場所でご確認ください。
執筆時点では、Copilot Studioのテストウィンドウはアダプティブカードのバージョン1.6まで対応していますが、Teamsはバージョン1.5までの対応でした。最新情報はMicrosoftのドキュメントからご確認ください。
対応バージョンに差異があるため、例えばPeople Pickerで利用する「Data.Query」はバージョン1.6から対応となっており、Teams上では会議室が一部表示されないなど正しく動作しない可能性があります。
まとめ
アダプティブカードを活用することで、よりエージェントの使い勝手が良くなります。
Copilotを活用して、仕事効率を向上させていきましょう!
おまけ(Copilot Chatによる本記事の要約)
本記事ここまでの執筆内容をCopilot Chatに転記し、記事内容の要約をしてもらいました。
本記事では、Microsoft Copilot Studio におけるアダプティブカードの活用方法について解説しています。アダプティブカードは Teams などで利用できるカード形式の UI で、ユーザーに効率的な入力体験を提供するための仕組みです。
まず、会議調整エージェントを例に、参加者の選択や日時入力のためのフォームカード、候補時間を表示してユーザーに選択してもらうカードなどのデモが紹介されています。必須項目設定や数値の入力制限、People Picker を用いたユーザー検索など、実用的な機能も取り上げています。
作成方法としては、Copilot Studio のトピック内で「アダプティブカードで質問する」を選択し、ドラッグアンドドロップでカードを構築できます。動的な値をカードに埋め込みたい場合は、カードタイプを「JSONカード」から「式カード」に切り替え、変数や関数を利用します。
利用シーンとしては、多くの入力情報が必要なエージェントでユーザーの手間を減らしたい場合や、結果表示を整えたい場合に有効です。メリットとして、自由記述による負担を軽減し、ユーザー満足度の高いエージェントを実現できます。
一方で注意点として、Copilot Studio のテストウィンドウと Teams では対応しているアダプティブカードのバージョンが異なるため、実際の利用環境での動作確認が必要であることが挙げられています。
アダプティブカードを活用することで、エージェントの使い勝手が向上し、業務効率化につながります。