エージェントのメッセージを書式設定する

メッセージの書式設定により、エージェントメッセージを最大限に引き出すことができます。 エージェント メッセージをフォーマットして、ボタン、テキスト、画像などの対話型要素を含む添付ファイルとしてリッチ カードを含めることができます。

注:

エージェント メッセージ サイズ制限について:

  • エージェント メッセージのサイズ制限は 100 KB です。
    • 100 KB は、メッセージ自体 (テキスト、画像リンクなど)、@メンション、UTF-16 としてエンコードされたリアクションを含むため、おおよその制限です。 この 100 KB のサイズ制限には、base64 でエンコードされたイメージは含まれません。
    • 実装中は、メッセージが正常に配信されるように、メッセージ自体のサイズを 80 KB 以内にすることをお勧めします。
  • エージェント メッセージがサイズ制限を超えると、エージェントはエラー コード MessageSizeTooBig を含む413状態コード (RequestEntityTooLarge) を受信します。

テキスト コンテンツの書式設定

エージェント メッセージをフォーマットするために、オプションの TextFormat プロパティを設定して、エージェント メッセージのテキスト コンテンツのレンダリング方法を制御できます。

Microsoft Teams では、次の書式設定オプションがサポートされています。

TextFormat 説明
plain テキストは、書式設定が適用されていない生テキストとして扱われます。
markdown テキストは Markdown 書式として扱われ、必要に応じてチャネルにレンダリングされます。
extendedmarkdown テキストは拡張 Markdown として扱われ、表、タスク リスト、コード フェンス、数式、画像、言及、引用などのテキストのみのメッセージでより豊富なレンダリングがサポートされます。
xml テキストは、リッチ カードの書式設定に HTML タグのサブセットを使用します。 サポートされているタグについては、「 フォーマット カード」を参照してください。

注:

拡張マークダウンのサポートは、パブリック開発者プレビューで利用できます。

markdownの場合、Teams は Markdown 書式設定のサブセットをサポートしています。 extendedmarkdown の場合、Teams では、表、タスク リスト、コード フェンス、数式、画像、at-mentions、引用などの追加機能と共に CommonMark 構文がサポートされています。 拡張 Markdown コンテンツでは、サポートされている HTML タグは <at> のみです。

書式設定には、次の制限が適用されます。

  • plain形式のテキストのみのメッセージでは、テーブル形式はサポートされていません。
  • リッチ カードは、タイトルまたはサブタイトル プロパティではなく、テキスト プロパティでの書式設定のみをサポートしています。
  • リッチ カード ペイロード プロパティの場合、markdownextendedmarkdownの書式設定はサポートされていません。
  • 古いクライアントまたはサポートされていないクライアントでは、サポートされていない構造がプレーン テキストとして表示されることがあります。

テキスト コンテンツを書式設定した後、Teams でサポートされているすべてのプラットフォームで書式設定が機能することを確認します。

メッセージ テキスト形式を設定する

テキスト形式を設定するには、Activity オブジェクトで textFormat プロパティを指定します。 次の例は、 extendedmarkdown 形式でメッセージを送信する方法を示しています。

{
  "type": "message",
  "textFormat": "extendedmarkdown",
  "text": "### Sprint update\n\n- [x] Build completed\n- [1] Deploy pending"
}

Standard Markdown のサポート

一部のスタイルは、すべてのプラットフォームでサポートされているわけではありません。 次の表に、標準的な Markdown スタイルの一覧と、テキストのみのメッセージとリッチ カードでサポートされているこれらのスタイルを示します。

Style テキストのみのメッセージ リッチ カード - XML のみ
太字 ✔️️
斜体 ✔️ ✔️
ヘッダー (レベル 1 から 3) ✔️
取り消し線 ✔️
水平ルーラー
記号付きリスト ✔️
番号付きリスト ✔️
事前書式設定済みのテキスト ✔️ ✔️
Blockquote ✔️ ✔️
Hyperlink ✔️ ✔️
画像リンク

拡張された Markdown 機能

textFormat: "extendedmarkdown" を使用すると、テキストのみのメッセージで次の機能を使用できます。

機能 構文 説明
フェンスされたコード ブロック たとえば、言語識別子で三重バッククォートを使用する ```python 構文強調表示されたコード フェンス
数式 インライン: $E = mc^2$ ブロック: $$\int_0^\infty f(x)dx$$ インラインまたはブロックとしてレンダリングされる LaTeX/KaTeX 数学表記
画像と画像の URL ![alt text](https://example.com/image.png) Markdown から画像コンテンツをレンダリングする
At-mentions <at>User Name</at> または <at>GroupName</at> 参照ユーザーまたはグループ
引用 [#]メッセージ テキスト内 + アクティビティの配列entities 参照の詳細を含むインライン引用マーカー。 詳細については、 引用文献を参照してください。
区切り線によるパイプ区切り行 オプションの列配置を備えた構造化表形式データ
タスク リスト - [ ] item / - [x] item チェックリスト スタイルの項目。チェックボックスは読み取り専用です

アットメンション サポート

エージェント メッセージでユーザーとグループにメンションします。 At-mentions は標準 Markdown と拡張 Markdown の両方で機能します。

Hello <at>Jane Smith</at>, please review this.

Notifying team: <at>Engineering Team</at>

フェンスされたコード ブロック

言語識別子で三重バッククォートを使用すると、エージェント メッセージに構文で強調表示されたコードを表示します。

```python
def fibonacci(n):
    if n <= 1:
        return n
    return fibonacci(n-1) + fibonacci(n-2)
```

数式

LaTeX/KaTeX 構文を使用して、数学表記をレンダリングします。 インライン数式には 1 つのドル記号を使用し、ブロック数式には 2 つのドル記号を使用します。

Inline math: $E = mc^2$

Block math:
$$
\int_0^\infty f(x)dx
$$

画像

標準の Markdown 画像構文を使用して、エージェント メッセージ内の画像をレンダリングします。

![Build status](https://example.com/build-status.png)

引用

メッセージ テキストで [#] 表記を使用し、アクティビティ entities 配列に引用の詳細を指定することで、エージェント メッセージのソースを引用します。 引用文献を追加する方法の詳細については、「 引用文献」を参照してください。

テーブル

GitHub Flavored Markdown (GFM) テーブル構文を使用して、構造化データを表示します。 区切り文字の行にコロンを使用した列配置がテーブルでサポートされています。

| Feature | Status | Priority |
|:--------|:------:|----------:|
| Tables  | Done   | High      |
| Math    | Done   | High      |

この例では、最初の列は左揃え、2 列目は中央揃え、3 番目は右揃えです。

タスク リスト

タスク リスト構文を使用して、エージェント メッセージで完了済みアイテムと保留中のアイテムを表示します。

- [x] Checkout code
- [x] Install dependencies
- [x] Run unit tests
- [ ] Deploy to production

注:

タスク リストのチェックボックスは読み取り専用です。 ユーザーが操作して状態を変更することはできません。

拡張 Markdown を使用したストリーミング

拡張 Markdown コンテンツは、ストリーミング時にレンダリングされます。

  • フェンスされたコード ブロック: 独自のラインで終了 ``` フェンスを受信した後にのみレンダリングします
  • 数式: 終了$または区切り記号が受信された後にレンダリング$$
  • 画像と画像 URL: 画像 URL の閉じかっこが検証に合格した後のレンダリング
  • コメント時: <at>...</at> タグが完了し、有効な場合にレンダリングする
  • 引用:[#] マーカーと対応する entities がアクティビティに存在する場合にレンダリングします
  • テーブル: 有効なテーブル構造を形成するのに十分な行が受信されたときにレンダリングします
  • タスク リスト: リスト アイテムとチェックボックス マーカー (- [ ]- [x]) が完了したときにレンダリングされます

ストリーミング実装の詳細については、「Stream エージェント メッセージ」を参照してください。

個々のプラットフォームによるサポート

テキスト書式設定のサポートは、メッセージの種類とプラットフォームによって異なります。

テキストのみのメッセージ

次の表に、デスクトップ、iOS、Android でサポートされているスタイルの一覧を示します。

Style Desktop iOS Android
太字 ✔️ ✔️ ✔️
斜体 ✔️ ✔️ ✔️
ヘッダー (レベル 1 から 3)
取り消し線 ✔️ ✔️
水平ルーラー
記号付きリスト ✔️
番号付きリスト ✔️
事前書式設定済みのテキスト ✔️ ✔️ ✔️
Blockquote ✔️ ✔️ ✔️
Hyperlink ✔️ ✔️ ✔️
画像リンク

AI によって生成されるコンテンツ メッセージ

エージェントのメッセージ内の AI ラベル、引用、フィードバック ボタン、秘密度ラベルは、ユーザー エンゲージメントを向上させ、透明性と信頼を促進します。

  • AI ラベル を使用すると、ユーザーはメッセージが AI を使用して生成されたことを識別できます。
  • 引用 を使用すると、ユーザーはテキスト内の引用と参照を通じてエージェントのメッセージのソースを参照できます。
  • フィードバック ボタン を使用すると、ユーザーはエージェントのメッセージに対して肯定的または否定的なフィードバックを提供できます。
  • 秘密度ラベル により、ユーザーはエージェントのメッセージの機密性を理解できます。

詳細については、「 AI によって生成されたコンテンツを含むエージェント メッセージ」を参照してください。

次の手順

関連項目