Microsoft 365 Agents Playground (以前は Teams アプリ テスト ツール) を使用すると、ボットベースのアプリのデバッグが簡単になります。 ボットとチャットし、Microsoft Teamsに表示されるメッセージとアダプティブ カードを確認できます。 Agents Playground を使用するために、Microsoft 365 開発者アカウント、トンネリング、または Teams アプリとボットの登録は必要ありません。
次の図は、エージェントプレイグラウンドに応答を表示するサンプル アプリを示しています。
エージェント プレイグラウンドの利点を次に示します。
サンドボックス環境: Agents Playground のサンドボックス環境は、Teams の動作、外観、ユーザー エクスペリエンスをエミュレートします。
トンネリング: Agent Playground はボットが通信できるローカル サーバー上で実行されるため、外部トンネル サービスは必要ありません。
アカウントの依存関係を減らす: Microsoft 365 Developer テナントとアプリのアップロードアクセス許可は、ボットをデバッグするために必要ありません。
迅速な内部ループイテレーション: ボットをクラウドに再デプロイすることなく、アプリの設計とボット ロジックに変更を加えるプロセスを最適化します。
モック データとアクティビティ: Agents Playground を使用すると、新しいメンバーがチャネルに参加したときにウェルカム メッセージを送信したり、モック データとアクティビティ トリガーを使用したりするなど、複雑なシナリオを簡単にテストできます。
Reliable: Agent Playground は、ボットのアダプティブ カードが Teams と同じレンダリング テクノロジを利用する場合に信頼性が高いです。
既存の Teams ボット アプリケーションとの統合: Agents Playground は、Bot Framework SDK で構築された既存の Teams ボット アプリケーションと簡単に統合できます。
さまざまなスコープのサポート: Agents Playground では、個人用、チーム、グループのチャット スコープでのテストがサポートされています。
前提条件
Agent Playground でボットをビルドしてデプロイするための次のツールをインストールしていることを確認します。
| インストール | 使用するには... |
|---|---|
| Node.js | バックエンド JavaScript ランタイム環境。 |
|
Visual Studio 2022 |
Visual Studio 2022 でエンタープライズ バージョンをインストールし、ASP.NET および Web 開発ワークロードをインストールできます。 バージョン 17.9 以降を使用します。 |
Visual Studio でのエージェントのプレイグラウンド エクスペリエンス
Agents Playground では、Teams クライアントと比較して、ボット アプリケーションのデバッグ エクスペリエンスが高速になります。 Agents Playground では、すべてのボット アプリ機能がサポートされます。 このシナリオでは、 AI チャット ボット を例として使用しています。 Agents Playground でボットをデバッグするには、次の手順に従います。
Visual Studio を開きます。
[ 新しいプロジェクトの作成] を選択します。
検索ボックスに「Microsoft Teams」 と入力します。 検索結果から、[ アプリMicrosoft Teams選択します。
[次へ] を選択します。
「プロジェクト名」と入力し、[作成] を選択します。
[ AI チャット ボット>作成] を選択します。
注:
- OpenAI または Azure OpenAI は、 AI チャット ボット アプリをデバッグするための前提条件です。
[GettingStarted] ウィンドウが表示されます。
appsettings.Playground.jsonファイルを使用すると、いくつかのパラメーターを更新して Agents Playground を構成できます。appsettings.Playground.jsonファイルを更新するには、OpenAI または Azure OpenAI の手順に従います。appsettings.Playground.jsonファイル内の OpenAIApiKeyを更新します。
デバッグ ドロップダウン リストで、[ Microsoft 365 Agents Playground (ブラウザー)] を選択します。
エージェントプレイグラウンドは、Web ページでボットを開きます。
アクティビティ トリガー
エージェントプレイグラウンドでは、アクティビティ トリガーを使用してアクティビティをモックできます。 アクティビティ トリガーには、次の 2 種類があります。
定義済みのアクティビティ トリガー
Agents Playground には、ボットの機能をテストするための定義済みのアクティビティ トリガーが用意されています。
| カテゴリ | アクティビティ | ハンドラー |
|---|---|---|
| インストール更新アクティビティをトリガーする | ボットをインストールする ボットをアンインストールする |
onInstallationUpdate onInstallationUpdateAdded onInstallationUpdate onInstallationUpdateRemove |
| 会話更新アクティビティをトリガーする | Add user ボットを追加 チャネルの追加 |
onMembersAddedonTeamsMembersAddedEvent onTeamsChannelRenamedEvent |
| ユーザーを削除する ボットを削除する チャネルを削除 チームを削除する |
onMembersRemoved onTeamsMembersRemovedEvent onMembersRemoved onTeamsMembersRemovedEvent onTeamsChannelDeletedEvent onTeamsTeamDeletedEvent |
|
| チャネルの名前を変更する チームの名前を変更する |
onTeamsChannelRenamedEvent onTeamsTeamRenamedEvent |
注:
すべての種類のアクティビティは、すべてのスコープで使用できるわけではありません。 たとえば、個人用チャットやグループ チャットでチャネルを追加または削除することはできません。
定義済みのアクティビティ トリガーは、Agents Playground の [ アクティビティのモック ] メニューで使用できます。 このシナリオでは、例として [ユーザー アクティビティ トリガーの 追加] を使用しています。 ユーザーの追加アクティビティをモックするには、次の手順に従います。
Visual Studio Code で、[ソリューション エクスプローラー] に移動します。
Program.cs ファイルを選択します。
Program.cs ファイルの [
builder.Services.AddTransient<IBot>(sp =>] で、次のコードを追加します。app.OnConversationUpdate("membersAdded", async (context, state, cancellationToken) => { await context.SendActivityAsync($"new member added", cancellationToken: cancellationToken); });OnConversationUpdateハンドラーは、ユーザーの追加アクティビティで説明されているように、会話に参加するメンバーを認識します。
[エージェントの遊び場] で、[ アクティビティのモック ] に移動し、[ ユーザーの追加] を選択します。
アクティビティ ハンドラーをプレビューするためのポップアップ ダイアログが表示されます。
[ アクティビティの送信] を選択します。
ボットが応答を送信します。
カスタム アクティビティ トリガー
カスタム アクティビティを使用して、ボット アプリの要件に合わせてアクティビティ トリガー reactionsAddedをカスタマイズできます。 Agents Playground は、アクティビティの必要なプロパティを自動的に設定します。 アクティビティの種類を変更し、 MembersAdded、 membersremoved、 reactionsremovedなどのプロパティを追加することもできます。
Visual Studio Code で、[ソリューション エクスプローラー] に移動します。
Program.cs ファイルを選択します。
Program.cs ファイルの [
builder.Services.AddTransient<IBot>(sp =>] で、次のコードを追加します。app.OnMessageReactionsAdded(async (context, state, cancellationToken) => { await context.SendActivityAsync($"reaction added.", cancellationToken: cancellationToken); });OnMessageReactionsAddedハンドラーは、前の会話のReplyToIdプロパティを使用して追加する反応を識別します。
エージェントプレイグラウンドの Web ページに移動し、ログ パネルから最新の応答を選択して
replyToIdをコピーします。
[ Mock an Activity>Custom アクティビティ] を選択します。
アクティビティをカスタマイズするには、
typeプロパティの下にmessageReactionを追加します。を最新の
replyToIdに置き換えます。{ "type": "messageReaction", "reactionsAdded": [ { "type": "like" } ], "replyToId": "d60fd1cb-3e8f-44ef-849c-404806ba1b47" }[ アクティビティの送信] を選択します。
ボットは応答で
onReactionsAddedハンドラーを送信します。
制限事項
Agent Playground では処理されないため、アプリ マニフェストで有効になっているボット機能は使用できません。
Agent Playground では、アダプティブ カードを除くすべての種類のカードがサポートされているわけではありません。
Agents Playground では、次のアダプティブ カード機能はサポートされていません。
Agents Playground では、次のエクスペリエンスはサポートされていません。
- Mobile
- 会議
関連項目
Platform Docs