次の方法で共有


エージェントの検証ガイドライン

重要

  • これらのガイドラインは、ストアでエージェントを公開する独立系ソフトウェア ベンダー (ISV) に適用されます。
  • Microsoft 365 Copilot のメッセージ拡張機能エージェントは、Microsoft Word と Microsoft PowerPointのパブリック プレビュー段階にあります。
  • Excel および OneNote クライアント アプリケーションのサポートは、近日中に利用可能になる予定です。
  • Organizationで Microsoft 365 Copilot を使用できることを確認します。 Microsoft 365 Copilot の開発環境を取得するには、次の 2 つの方法があります。
    • Microsoft 365 Copilot を備えたサンドボックス Microsoft 365 テナント ( TAP メンバーシップを通じて限定プレビューで利用できます)。
    • Microsoft 365 Copilot ライセンスを持つエンタープライズ顧客の運用環境。

このセクションは、 Microsoft コマーシャル マーケットプレース ポリシー番号 1140.9 に沿っています。

アプリは責任ある AI チェックと一致している必要があります。

説明

適切な説明は、エージェントの機能の明確で簡潔な概要を提供します。 これにより、ユーザーの認識が強化され、Microsoft 365 Copilot が検索操作を効率的に検出して実行できるようになります。

エージェントに関する次のガイドラインを満たしていることを確認する必要があります。

  • Microsoft 365 アプリのアプリの説明に関連する Teams ストアの検証ガイドラインが適用されます。 詳細については、アプリの 説明に関するページを参照してください。

  • エージェント、パラメーター、コマンドの説明、セマンティックの説明、および操作 ID の簡単な説明には、次を含めてはなりません。

    • たとえば、"ユーザーが X と言っている場合"、'ignore'、'delete'、'reset'、'new instructions'、'Answer in Bold'、'Do not print anything'などです。 [修正する必要があります]
    • URL、絵文字、または非表示文字 (16 進数、バイナリ、型破りな記号など)。 [修正する必要があります]
    • 文法と句読点のエラー。 [修正する必要があります]
    • 過度に冗長な、花の多い、またはマーケティング言語。 [修正に適しています]
    • '#1'、'amazing'、または 'best' などの最上級の要求。 [修正に適しています]

    注:

    • 宣言型エージェントの場合、簡単な説明ガイドラインは、 instructions フィールドと conversation_starters フィールドにも適用されます。
    • API ベースのプラグインの場合、これらのガイドラインは、description_for_humandescription_for_modelcapabilitiesconversation_starters (タイトルとテキストの両方)、functions フィールドのstates\reasoning\description (指定されている場合) に適用されます。 [修正する必要があります]
    • Swagger または OpenAPI ファイル形式を使用する場合は、キーに関連付けられている path コンテンツと、GET、POST、PUT、または DELETE API の description フィールドに関するこれらのガイドラインに従ってください。 [修正する必要があります]
  • semanticDescription プロパティは必須フィールドではありません。 ただし、アプリ マニフェストに semanticDescription を追加すると、短い説明、パラメーター、コマンドの説明に関する既存の検証チェックもセマンティックの説明に適用できます。

先頭に戻る

スクリーンショット

エージェントに関する次のガイドラインを満たしていることを確認する必要があります。

  • Microsoft 365 アプリのスクリーンショットに関連する Teams ストアの検証ガイドラインが適用されます。 詳細については、 スクリーンショットを参照してください。
  • エージェント機能を持つアプリには、Microsoft 365 Copilot 機能に関連する少なくとも 1 つのスクリーンショットが必要です。 [修正する必要があります]

先頭に戻る

エージェント名

エージェントに関する次のガイドラインを満たしていることを確認する必要があります。

  • Microsoft 365 アプリのアプリ名に関連する Teams ストアの検証ガイドラインが適用されます。 詳細については、「 アプリ名」を参照してください。
  • 宣言型エージェントの場合は、次のパラメーターが同一であることを確認します。 [修正する必要があります]
    • name manifest.json
    • name 宣言型エージェント json ファイル内
    • name_for_human プラグインの json ファイル

先頭に戻る

プロンプト

サンプル プロンプトとプロンプト スターターについては、次のガイドラインを確認する必要があります。

サンプル プロンプト

メッセージ拡張機能ベースの宣言型エージェントの場合、 samplePrompts プロパティは、Microsoft 365 Copilot でエージェントを利用する際のガイダンスをユーザーに提供します

Microsoft 365 Copilot でメッセージ拡張機能エージェントが有効になっている場合に表示されるサンプル プロンプトを示すスクリーンショット。

サンプル プロンプトは、アプリ マニフェストで samplePrompts プロパティを使用して指定します。 これらのプロンプトは、次の要件を満たす必要があります。

  • エージェントには、少なくとも 3 つのプロンプトと、各コマンドに対して最大 5 つのプロンプトが必要です。 [修正する必要があります]
  • 各プロンプトは 128 文字を超えてはなりません。 [修正する必要があります]
  • 同じエージェント内の 2 つのコマンドに、同じプロンプトを含めることはできません。 [修正する必要があります]
  • すべてのサンプル プロンプトが機能し、応答を返す必要があります。 [修正する必要があります]
  • プロンプトはコマンドに関連している必要があります。 [修正する必要があります]

スタート画面を表示する

プロンプト スターターは、宣言型エージェントとカスタム エンジン エージェントの使用を開始する方法についてユーザーをガイドします。 プロンプト スターターについては、次のガイドラインを確認する必要があります。

  • 宣言型エージェントまたはカスタム エンジン エージェントには、少なくとも 3 つのプロンプトと最大 6 つのプロンプトが必要です。 [修正する必要があります]
  • すべてのプロンプト スターターが機能し、応答を返す必要があります。 [修正する必要があります]

先頭に戻る

アダプティブ カードの応答

アダプティブ カードとして提供されるエージェント応答は、次の要件を満たす必要があります。

  • アダプティブ カードの応答には、アダプティブ カードのコンテンツとプレビューカード情報が同じテンプレートの一部として含まれている必要があります。 [修正する必要があります]

    スクリーンショットは、Microsoft 365 Copilot アプリ応答にプレビューとコンテンツが同じ応答に含まれていることを示すサンプル アプリの例を示しています。

  • エージェントのロゴ、タイトル、サムネイル、および情報のタイトルとは別に、アダプティブ カード内のデータは少なくとも 2 つの情報を表す必要があります。 変更されたデータ、作成者、状態、フラグなど、最も頻繁に検索される属性からフィールドを識別できます。 [修正する必要があります]

    アダプティブ カード応答の情報タイトル、追加のユーザー フィールド、アクション ボタンの例を示すスクリーンショット。

  • アダプティブ カードは、デスクトップ、Web、モバイル (iOS および Android) クライアントに合わせて適切な形式にする必要があります。 [修正する必要があります]

  • アダプティブ カードには 、メタデータの一部として URL を含める必要があります。これにより、カードをハブ間で簡単にコピーできます。 [修正する必要があります]

先頭に戻る

互換性

エージェントは完全に応答性が高く、これらのクライアントの最新バージョンで機能している必要があります: [修正する必要があります]

  • デスクトップと Web 上のMicrosoft Teams
  • Web 上の copilot.microsoft.com
  • Microsoft 365 Copilot in Word

エージェントが Microsoft 365 - Word、Excel、PowerPoint、OneNote、Office、Outlook Copilots と連携していることを確認する

エージェントに関する次のガイドラインを満たしていることを確認する必要があります。

  1. SSO 対応アプリを使用している場合は、アプリの登録Microsoft Entra更新します: [修正する必要があります]

    メッセージ拡張機能Microsoft Entraシングル サインオン (SSO) は、Teams や Outlook と同じように機能します。 アプリの SSO を有効にした場合は、Office アプリ Copilot のクライアント アプリケーション識別子を、テナントのアプリの登録 ポータルでボットのMicrosoft Entra アプリ登録に追加します。

    1. Azure 管理者アカウントを使用して、Azure portal にサインインします。

    2. [アプリ登録] を開きます。

    3. アプリケーションの名前を選択して、アプリの登録を開きます。

    4. [ 管理 ] セクションで、[ API の公開] を選択します。

    5. [ 承認されたクライアント アプリケーション ] セクションで、次のクライアント ID 値が一覧表示されていることを確認します。

      Microsoft 365 クライアント アプリケーション クライアント ID
      Word、PowerPoint、Excel (Web、デスクトップ) 3068386c-7a16-4f6a-a664-043b6b232816
      Teams デスクトップ、モバイル 1fec8e78-bce4-4aaf-ab1b-5451cc387264
      Teams Web 5e3ce6c0-2b1f-4285-8d4b-75ee78787346
      Microsoft 365 Web 4765445b-32c6-49b0-83e6-1d93765276ca
      Microsoft 365 デスクトップ 0ec893e0-5785-4de6-99da-4ed124e5296c
      Microsoft 365 mobile d3590ed6-52b3-4102-aeff-aad2292ab01c
      Outlook デスクトップ d3590ed6-52b3-4102-aeff-aad2292ab01c
      Outlook Web bc59ab01-8403-45c6-8796-ac3ef710b3e3
      Outlook モバイル 27922004-5251-4030-b22d-91ecd9a37ea4
      Bing 9ea1ad79-fdb6-4f9a-8bc3-2b70f96e34c7

      注:

      メッセージ拡張機能に対する SSO のしくみの詳細については、「 アプリの SSO を有効にする」を参照してください。

  2. 登録済みのボットが Microsoft 365 と Microsoft Teams チャネルに接続されていることを確認する: [修正する必要があります]

    1. Azure 管理者アカウントを使用して、Azure portal にサインインします。
    2. Bot Services を開きます。
    3. ボットの名前を選択して、そのチャネルを更新します。
    4. [ 設定] セクションで、[ チャネル] を選択します。
    5. [使用可能なチャネル] で、[Microsoft 365 & Microsoft Teams] を選択し、[適用] を選択します。
  3. コンテンツ セキュリティ ポリシー ヘッダーを構成する [修正する必要があります]

    エージェントが コンテンツ セキュリティ ポリシー (CSP) ヘッダーを使用する場合は、次のすべての フレーム先祖 が CSP ヘッダーに含まれていることを確認します。

    Microsoft 365 アプリ frame-ancestors 許可
    すべてのホスト (新規) *.cloud.microsoft
    Word fa000000125.resources.office.net
    PowerPoint fa000000129.resources.office.net
    Excel fa000000124.resources.office.net
    OneNote fa000000128.resources.office.net
    Microsoft 365 Copilot と Bing edgeservices.bing.com, www.bing.com, copilot.microsoft.com
    Microsoft 365 アプリ *.microsoft365.com, *.office.com
    Outlook outlook.office.com, outlook.office365.com, outlook-sdf.office.com, outlook-sdf.office365.com
    Office.com Office.com/copilot
    Office.com/chat
    Microsoft365.com Microsoft365.com/copilot
    Microsoft365.com/chat
    M365.cloud.microsoft M365.cloud.microsoft/chat
    M365.cloud.microsoft/copilot
    Copilot.cloud.microsoft Copilot.cloud.microsoft
  4. Teams JS バージョンを 2.22.0 ビルドにアップグレード する [修正が必要]

    Teams JS バージョン 2.22 以前を使用している場合は、バージョン 2.22 以降に更新します。 

    詳細については、「Teams JS リポジトリ @microsoft/teams-js - npm (npmjs.com)」を参照してください。

先頭に戻る

技術的要件

エージェントを検証、呼び出し、シームレスに動作させるには、次の条件を満たしていることを確認します。 [修正する必要があります]

条件 履行
マニフェストのバージョン アプリ マニフェストのバージョンは 1.13 以降である必要があります。 [修正する必要があります]
応答時間 応答時間は、99% の場合は 9 秒、75% の場合は 5 秒、50% の場合は 2 秒を超えてはなりません。 [修正する必要があります]
信頼性 アプリは 99.9% の可用性を維持する必要があります。 たとえば、Microsoft 365 Copilot がエージェントを 1,000 回呼び出す場合、意味のある応答を 999 回提供する必要があります。 [修正する必要があります]
ゼロ回帰 検証のためにエージェントを再送信する必要がある場合は、以前に動作していた既存のメッセージ拡張機能の機能を中断しないでください。 [修正する必要があります]
Microsoft 365 チャネル ユーザーが Outlook からメッセージ拡張機能を操作するには、Microsoft 365 チャネルをボットに追加する必要があります。 詳細については、「 アプリの Microsoft 365 チャネルを追加する」を参照してください。 [修正する必要があります]
シングル サインオン (SSO) 該当する場合は、SSO のMicrosoft Entra アプリの登録を更新します。 [修正する必要があります]
コンテンツ セキュリティ ポリシー (CSP) 該当する場合は、 コンテンツ セキュリティ ポリシー ヘッダーの構成に従って、CSP ヘッダーと X-Frame-Options を変更します。 [修正する必要があります]

先頭に戻る

ユーザーの開示とアクション シナリオの確認

この画像は、ユーザーの開示とユーザーの確認の例を示しています。

アクション シナリオの場合、エージェントはユーザーの開示を共有し、ユーザーの確認を求める必要があります。

  • (ダイアログを通じて) サード パーティサービスに表示されるデータは、ユーザーが提供する確認を反映している必要があります。 [修正する必要があります]

  • アクションの完了の確認は、エージェントがカードの形式で共有する必要があります。 [修正する必要があります]

  • ユーザーが実行したアクションは、サード パーティのサービスに正しく反映されている必要があります。 [修正する必要があります]

  • アクションの確認前にユーザーによる変更要求を受け取る必要があります。 [修正する必要があります]

  • 一括削除などの非常に結果的なタスクはサポートされません。 [修正に適しています]

  • 宣言型エージェントは、ユーザーのアクセス許可を明示的に求める明確な言語を使用して、ユーザーが開始したアクションに合わせた確認プロンプトを提供する必要があります。 [修正する必要があります]

    確認プロンプトは、マニフェストの関数の Function capabilities オブジェクトの Confirmation オブジェクトで body プロパティを使用して設定できます。 詳細については、 確認テキストのカスタマイズに関するページを参照してください。

    パスの例 失敗の例
    チケットを検索する関数の場合 - "Contoso での検索を許可しますか?"チケットの検索を許可しますか? 続行しますか? --> 関数の動作は示されません。
    新しい注文を作成する関数の場合、"新しい注文の作成を続行しますか? チケットを検索する" --> アクセス許可が求められません
    新しいチケットを作成する関数の場合: "新しいチケットの作成を続行しますか? "チケットを作成します" --> アクセス許可が求められません
  • 宣言型エージェントの場合、外部システムに対する結果を伴うアクションでは、 isConsequential フラグを 'False' に設定しないでください。 [修正する必要があります]

    詳細については、「 プロンプト動作のオーバーライド」を参照してください。

    操作の種類 アクション isConsequential フラグの予期される値
    作成する 間接的 True
    読み取り 結果的でない False または True
    Update 間接的 True
    削除 間接的 True
    コマンドの説明 結果関数? isConsequential フラグの予期される値
    ユーザーの関心に基づいて、クエストの推奨事項の一覧を返します。 見積もりの推奨事項がない場合は、新しい推奨事項を作成します。 はい True
    ユーザーの好みに基づいて瞑想の推奨事項の一覧を返します。 不要 False または True
    ユーザーの関心に基づいて、クエストの推奨事項の一覧を返します。 見積もりの推奨事項がない場合は、新しい推奨事項を作成します。 はい True

先頭に戻る

カスタム エンジン エージェントのボット要件

カスタム エンジン エージェントは、次の要件を満たす必要がある会話型 Teams ボットです。

  1. シームレスなユーザー操作を行うには、カスタム エンジン エージェントに、大きな言語モデル (LLM) に基づく会話ボットを常に含める必要があります。 [修正する必要があります]

  2. カスタム エンジン エージェント ノードとしてのボット ID 宣言は、アプリ マニフェストのボット ノードで定義されているボット ID と同じである必要があります。 [修正する必要があります]

  3. ユーザーは、Microsoft 365 Copilot でカスタム エンジン エージェントを参照し、Teams でチャット エクスペリエンスをハンドオフできる必要があります。 [修正に適しています]

  4. ボットには、次の UX 設計コンポーネントが含まれている必要があります。

    1. ユーザーが AI を使用してメッセージが生成されたことを識別できるようにする AI ラベル。 このラベルは、永続的な免責事項、メッセージごと、またはコンテンツの免責事項として、または初回実行時に表示される場合があります。 [修正する必要があります]

    2. ユーザーがエージェントのメッセージに肯定的または否定的なフィードバックを提供できるようにするフィードバック ボタン 。 [修正する必要があります]

    3. ユーザー がテキスト 内引用と参照を通じてボット メッセージのソースを参照できるようにする引用。 [修正する必要があります]

    4. ユーザーがボット メッセージの機密性を理解できるようにする 秘密度ラベル 。 [修正に適しています]

    5. エージェントは、応答をユーザーにストリーミングする必要があります。 [修正する必要があります]

    6. エージェントには、少なくとも 3 つのプロンプト スターターまたはウェルカム メッセージを含める必要があります。 [修正する必要があります]

      詳細については、「 ボットのウェルカム メッセージ」を参照してください。

    7. ボットは、一般的または固定の提案ではなく、少なくとも 2 つのコンテキスト固有の提案またはプロンプトをユーザーに提供する必要があります。 [修正する必要があります]

  5. マニフェストの bot.scopes ノードと bot.commandList.scopes ノードで定義されているスコープは、適切なユーザー エクスペリエンスを維持するために一致する必要があります。

  6. カスタム エンジン エージェントは、適切な表示と完全なプラットフォーム サポートを確保するために、bot.scopesbot.commandList.scopescopilot を含める必要があります。

先頭に戻る

アクションとナレッジ ソース

  • エージェントには、アプリ マニフェストでアクションとして定義されたノードが必要です。 すべてのエージェントには、API アクションを通じて提供されるコア ユース ケースが必要です。 [修正する必要があります]
  • メール、Teams メッセージ、Teams 会議、ODSP、Graph コネクタ機能のすべてのテナント データへのアクセス権をマルチテナント エージェントに付与するには、宣言型エージェントでノードを空のままにします。 [修正する必要があります]

  • Dataverse、ファイル埋め込み、秘密度ラベル、シナリオ モデルの機能は、LOB シナリオでのみ使用するように制限されています。 [修正する必要があります]

  • action.insertImageカスタム アクションまたはアクション セット [修正が必要] を使用する場合は、次のガイドラインに従います。

    • ボタンのタイトルは、画像がキャンバスに挿入されることを示す必要があります。

    • ボタンをクリックすると、目的のイメージが挿入されていることを確認します

    • フォールバックが Drop に設定されていることを確認して、アダプティブ カードがすべての互換性のあるクライアントで機能することを保証します。

    • アダプティブ カード内のすべてのイメージの挿入をサポートします。

  • 宣言型エージェントでは、MCP サーバーからの静的ツール検出のみがサポートされます。 そのため、エージェント プラグイン マニフェスト内では、MCP サーバーのフラグ enable_dynamic_discoveryenable_dynamic_client_registration は常に false に設定する必要があります。 [修正する必要があります]

先頭に戻る

重複するエージェント

  • 同じ製品の複数のエージェントを個別に発行できますが、それぞれが異なる機能を持っている必要があります

  • エージェントはメイン アプリとは別に発行できますが、その理由は明確である必要があります。

  • 混乱を避け、エンド ユーザーの明確さを確保するには:

    • 名前、短い説明、長い説明は、既存のアプリの名前とは意味を持って異なる必要があります。

    • 簡単な説明と長い説明は、アプリの固有の価値提案と、関連する申請との違いを明確に伝える必要があります。

エージェントの応答

  • 宣言型エージェントは機能していて、ユーザーに正確な応答を提供する必要があります。 これを確実に行うには、宣言型エージェントのすべての関数ごとに、次のいずれかのフィールドに対応するプロンプトが少なくとも 1 つ存在する必要があります: [修正する必要があります]

    • サンプル プロンプトまたは会話スターター
    • マニフェストの [命令] フィールド
    • テスト ノート
  • メッセージ拡張機能のすべての検索結果には、関連するタイトルとサブタイトルが含まれている必要があります。これはエージェントの引用にも表示されます [修正する必要があります]。

  • アクションの完了の確認はエージェントによって共有する必要があります。これには、アクションの詳細、進む方法が含まれている必要があり、ユーザーがアクションを確認するためのソース リンクまたは追跡 ID が必要です [修正する必要があります]

    • エージェントに追跡 ID が指定されている場合は、実行されたアクションの詳細またはアクションが実行されたアイテムの詳細を返す必要があります。 [修正する必要があります]
  • 複数のメッセージを送信するエージェントは、メッセージが本質的に繰り返しまたは冗長でないことを確認する必要があります。

正常なエラー処理

すべてのエージェントが次のシナリオを適切に処理する必要があります。つまり、エージェントはユーザー要求を拒否し、前進する方法を提供する必要があります: [修正する必要があります]

  • 正しくない検索パラメーターの場合
  • 誤用または不適切な言語の場合

先頭に戻る

サーバー呼び出しのセキュリティ要件 (メッセージ拡張機能、OpenAPI、MCP サーバー)

メッセージ拡張機能、OpenAPI、および MCP サーバー呼び出しを使用するエージェントは、次のセキュリティ標準を保証する必要があります。

  • すべての呼び出しでは、TLS 1.2 以上の HTTPS を使用する必要があります。 [修正する必要があります]
  • 呼び出しによって URL リダイレクトが行われません。 [修正する必要があります]
  • 呼び出しは、開発者が検証したルート ドメインと同じドメインまたはサブドメインから提供する必要があります。 [修正する必要があります]

先頭に戻る

関連項目