Microsoft developer platform documentation updateを確認している開発者が最初に押さえるべき結論は、今回の変更が「引用表示の厳密化」と「会話IDによるチャット履歴の継続」に関わる実装更新だという点です。対象は、Microsoftの「Agentic Applications for Unified Data Foundation」ソリューションアクセラレーターを使って、Microsoft Fabric、Microsoft Foundry agents、Agent Framework、Knowledge Base連携を含むチャットUIやワークショップ環境を構築・検証しているチームです。一般的なMicrosoft developer platform利用者全員に一律の作業が必要な更新ではありませんが、このリポジトリをフォーク、デプロイ、改修している場合は、引用フォーマット、conversation_idの扱い、フロントエンドの引用パネル挙動を確認する必要があります。(GitHub)
2026年5月5日のMicrosoft developer platform documentation updateで変わったこと
今回のPull Request #368は、2026年5月5日にdevブランチへマージされた更新です。主な内容は、エージェントの引用ルールをより厳格にすること、バックエンドとテストスクリプトで会話IDを扱えるようにすること、チャット履歴や引用表示まわりの細かな不具合を直すことです。PRページでは、7コミットがマージされ、後続のリリース情報ではこのPRがv1.23.0に含まれていることも確認できます。(GitHub)
| 確認項目 | 変更内容 | 影響を受けやすい箇所 |
|---|---|---|
| 引用ガイドライン | Knowledge Base由来の情報に必須の引用マーカー形式を明確化 | エージェント指示、RAG回答、引用パーサー |
| 会話追跡 | conversation_idをチャット実行時に渡す方式へ整理 | ワークショップモード、複数ターンの会話、テストスクリプト |
| フロントエンド | チャット履歴パネル切り替え時の引用クリア挙動を調整 | Citation Panel、Chat History Panel |
| テスト・保守 | 未使用importの削除、テスト整理、非同期クライアントのクリーンアップ | CI、ローカル検証、長時間実行時の警告 |
重要なのは、これは単なる「ドキュメント文言の修正」ではなく、エージェントの回答品質とチャット体験に直結する実装更新だという点です。特に、Knowledge Baseを使った回答に引用が出ない、フォローアップ質問で前の文脈が保持されない、チャット履歴を開いたら引用表示が消える、といった症状を見ていた環境では、確認優先度が高くなります。
変更点の中心は引用ルールの厳密化
もっとも大きな変更は、エージェント指示に「Citation Guidelines」が必須ルールとして追加・強化されたことです。更新後の指示では、Knowledge Baseの情報を使った回答には引用マーカーが必要で、形式は〖number:section†〗のように、番号、セクション、†を含む形に指定されています。さらに、引用は使用した文または段落の直後に置くこと、ファイル名を†の後ろに付けないこと、使っていない取得結果を引用しないこと、同じソース文書の複数チャンクは統合することも明記されています。(GitHub)
実務上は、次のような違いが出ます。
| 状態 | 例 | 判定 |
|---|---|---|
| 正しい引用 | ポリシーでは1時間以内の対応が必要です。〖4:1†〗 | OK |
†がない | 〖4:1〗 | NG |
| ファイル名を付ける | 〖4:1†policy.pdf〗 | NG |
| 複数チャンクを独自表記にする | 〖2:0,1†〗 | NG |
| Knowledge Baseの内容を使っているのに引用なし | 本文だけで出力 | NG |
この変更は、RAGや社内ナレッジ検索を使うAIチャットではかなり重要です。引用が曖昧だと、回答が正しそうに見えても、どの文書を根拠にしたのかを追跡できません。特に、ポリシー、しきい値、SLA、業務ルール、規制対応文書を扱う環境では、引用マーカーの欠落は「表示上の小さな不具合」ではなく、レビュー不能な回答を生む原因になります。
確認すべき実装ポイント
既存の独自実装で引用を加工している場合は、次の点を確認してください。
| 確認箇所 | 見るべきポイント |
|---|---|
| エージェントプロンプト | Knowledge Base利用時の引用必須ルールが残っているか |
| ストリーミング処理 | 〖...〗形式のマーカーを途中で壊していないか |
| フロントエンド表示 | 内部マーカーを[1]などに変換する処理が正しく動くか |
| 引用一覧 | 本文中の番号とCitation Panel側の番号がずれていないか |
| 独自パーサー | †を不要文字として削除していないか |
見落としやすいのは、マーカーがストリーミングの途中で分割されるケースです。たとえば、〖4:まで先に届き、1†〗が次のチャンクで届く場合、単純な文字列置換では引用を壊すことがあります。今回のバックエンド実装では、マーカー断片をバッファリングしながら処理する考え方が入っているため、独自のストリーミングUIでも同様の観点で確認すると安全です。(GitHub)
conversation_idによって複数ターンの会話管理が改善
もう一つの重要な変更は、チャット実行時にconversation_idを渡して、会話の文脈を継続できるようにした点です。PR説明では、scripts/07_test_agent.pyのchat関数が任意のconversation_idを受け取るようになり、OpenAIクライアントで作成した会話IDを各チャット呼び出しへ渡すことで、一貫した会話コンテキストを維持する、と説明されています。(GitHub)
バックエンド側では、ワークショップモードのストリーミング処理で、セッションオブジェクトではなくoptions経由で会話IDを渡す形に整理されています。実装上は、agent.run(..., options={"conversation_id": conv_id})のような流れで、同じ会話に属するフォローアップ質問を処理します。(GitHub)
この変更により、次のような会話が成立しやすくなります。
ユーザー: 最新のポリシーで、対応期限のしきい値は何ですか?
AI: 対応期限は1時間です。[1]
ユーザー: では、そのしきい値を超えている注文を一覧にして
AI: 先ほどの1時間という条件を使い、対象データを抽出します。
conversation_idが正しく引き継がれない場合、2つ目の質問で「そのしきい値」が何を指すか分からず、再検索や推測に頼る回答になりやすくなります。業務データと文書ナレッジを組み合わせるエージェントでは、この差が回答精度に直結します。
フロントエンドの引用クリア挙動も確認が必要
フロントエンドでは、ダッシュボードのパネル切り替え時に引用状態をクリアする条件が見直されています。PRのレビュー概要では、src/App/src/App.tsxでパネル状態の変更時に引用を消す挙動が調整されたと説明されています。実装上も、チャット履歴パネルそのものを操作しただけでは引用を消さないようにする意図が読み取れます。(GitHub)
この修正は小さく見えますが、ユーザー体験には影響します。たとえば、回答本文の[1]を確認した後にチャット履歴を開いた瞬間、Citation Panelの情報が消えると、利用者は根拠文書を追えなくなります。社内向けAIチャットでは「答えが出ること」だけでなく、「後から根拠を確認できること」が信頼性に直結します。
誰が対応すべきか
今回のMicrosoft developer platform documentation updateで対応優先度が高いのは、次のようなチームです。
| 対象者 | 対応優先度 | 理由 |
|---|---|---|
| このソリューションアクセラレーターをフォークしている開発チーム | 高 | 引用ルール、会話ID、UI挙動の差分が自社実装に影響する可能性がある |
| ワークショップ環境を使ってAIエージェントを検証している担当者 | 高 | conversation_idの引き継ぎが複数ターンの検証結果に影響する |
| Knowledge BaseやAzure AI Searchの引用表示をカスタマイズしている開発者 | 高 | 引用マーカーの形式変更・厳密化によりパーサー修正が必要になる場合がある |
| チャット履歴、Citation Panel、回答ストリーミングを改修しているフロントエンド担当者 | 中 | 引用クリアや番号表示のズレを確認する必要がある |
| Microsoft developer platformを一般的に利用しているだけのユーザー | 低 | このPRの対象リポジトリを使っていなければ直接影響は限定的 |
特に、エージェントの回答を社内ポータル、営業支援、問い合わせ対応、データ分析ダッシュボードなどに組み込んでいる場合は、単に最新版を取り込むだけでなく、引用と会話履歴のテストをセットで実施するべきです。
移行・設定確認のチェックリスト
既存環境へ取り込む場合は、次の順序で確認すると失敗しにくくなります。
リポジトリとバージョンを確認する
まず、利用中のブランチやタグがPR #368以前か以後かを確認します。PR #368は2026年5月5日にdevへマージされ、v1.23.0のリリースにも含まれています。自社でmain、dev、特定タグ、フォーク先ブランチのどれを基準にしているかを確認してください。(GitHub)
確認例は次のとおりです。
git branch --show-current
git log --oneline --grep="citation"
git log --oneline --grep="conversation"
フォークしている場合は、PRをそのまま取り込めるとは限りません。特に、chat.py、App.tsx、06_create_agent.py、07_test_agent.pyを独自改修している場合は、自動マージではなく差分を読みながら手動で反映する方が安全です。
エージェント指示を再生成・再確認する
06_create_agent.pyの指示文が更新されているため、既存のエージェント定義を使い続けている環境では、新しいCitation Guidelinesが反映されていない可能性があります。エージェントを再作成する運用の場合は、更新後のスクリプトで作成し直してください。
確認すべきポイントは次の3つです。
- Knowledge Base情報を使った回答に引用が必ず付く
- 引用マーカーが
〖number:section†〗形式になっている - 回答本文に存在しない引用がCitation Panelに出ない
エージェントの応答だけを見て「引用が出ているからOK」と判断するのは危険です。本文の番号と引用一覧のソースが一致しているかまで確認する必要があります。
conversation_idをバックエンドで引き継ぐ
ワークショップモードや独自チャットAPIを使っている場合は、同じ会話内でconversation_idが維持されているかを確認します。今回の更新では、ローカルテストスクリプトでも会話を作成し、そのIDをチャット呼び出しに渡し、終了時に会話を削除する流れが入っています。(GitHub)
確認時は、単発質問ではなくフォローアップ質問を使うのが効果的です。
| テスト | 質問例 | 期待結果 |
|---|---|---|
| 文書検索の継続 | 「返品ポリシーの期限は?」→「それを超えた注文は?」 | 2問目で1問目の条件を理解する |
| データ抽出の継続 | 「売上上位の商品を教えて」→「そのうち利益率が高いものは?」 | 前回の対象を踏まえて絞り込む |
| 引用の継続 | 「ポリシー根拠を示して」→「同じ根拠で要約して」 | 引用が消えず、根拠の整合性が保たれる |
Citation Panelとチャット履歴を操作して確認する
フロントエンドでは、回答後に次の操作を行い、引用が期待通りに残るかを確認します。
| 操作 | 確認すること |
|---|---|
回答中の[1]をクリック | Citation Panelが正しい文書を表示する |
| チャット履歴パネルを開閉 | 不要に引用が消えない |
| 別の会話を選択 | 前の会話の引用が混ざらない |
| 新規チャットを開始 | 古い引用状態が残らない |
| 連続で質問する | 引用番号が本文と一覧でずれない |
ユーザーから「さっきまで引用が見えていたのに消えた」「クリックしても違う文書が開く」と報告される場合、原因はAIモデルではなく、フロントエンドの状態管理やストリーミング処理にあることが少なくありません。
破壊的変更として扱うべきか
今回のPRは、SDK全体の廃止やAPIエンドポイントの全面変更のような大規模な破壊的変更ではありません。ただし、既存の引用パーサー、チャット履歴管理、テストスクリプトに依存している環境では、実質的な挙動変更として扱うべきです。
特に注意すべきなのは、次のような実装です。
| 既存実装 | 起こり得る問題 |
|---|---|
†を除去するサニタイズ処理 | 新しい引用マーカーを壊す |
| ファイル名付き引用を前提にしたUI | 引用元表示が空になる、または重複する |
| 会話ごとにIDを保持していないAPI | フォローアップ質問の文脈が失われる |
| パネル切り替え時に全状態を初期化するUI | Citation Panelが意図せず消える |
| テストが単発質問だけ | 会話追跡の不具合を検出できない |
安全に取り込むなら、「ビルドが通ったか」だけでなく、「引用」「複数ターン会話」「チャット履歴」「パネル切り替え」の4点を回帰テストに入れてください。
すぐ使える検証シナリオ
更新後の確認では、以下のシナリオをそのまま使うと、引用と会話追跡の両方を効率よく見られます。
| シナリオ | 入力例 | 合格条件 |
|---|---|---|
| Knowledge Base引用 | 「このシナリオのポリシー上のしきい値を教えて」 | 回答本文に引用番号が表示され、引用一覧に根拠文書が出る |
| 複数ターン会話 | 「そのしきい値を超えるレコードを抽出して」 | 前の質問の条件を使って回答する |
| 引用形式 | Knowledge Base由来の回答を複数回生成 | マーカー欠落、番号ズレ、重複引用がない |
| UI状態管理 | 回答後にチャット履歴パネルを開閉 | Citation Panelが不自然に消えない |
| 会話切り替え | 別の履歴会話を選択 | 前の会話の引用が混在しない |
| 終了処理 | ローカルテストを終了 | 作成した会話が削除され、未クローズセッション警告が増えない |
この検証で不具合が出た場合は、まずモデルや検索インデックスを疑うのではなく、conversation_idの受け渡し、引用マーカーの置換処理、フロントエンドの状態クリア条件を確認してください。
運用で押さえたい注意点
今回の更新は、AIエージェントの「答え方」を整える変更です。運用では、次の3点をルール化しておくと安定します。
引用なし回答を許容しない質問タイプを決める
すべての雑談や挨拶に引用は不要です。一方で、ポリシー、基準値、社内ルール、契約条件、手順、データに基づく判断には引用を必須にするべきです。06_create_agent.pyの更新でも、Knowledge Baseの内容を使う場合は引用が必須という考え方が明確になっています。(GitHub)
会話IDはユーザー・会話単位で分離する
conversation_idを使う場合、別ユーザーや別会話でIDを使い回すと、文脈の混入が起きます。キャッシュを使う実装では、ユーザーID、会話ID、有効期限、削除処理をセットで設計してください。今回のバックエンド実装でも、会話キャッシュや期限切れ時の削除処理が重要な要素になっています。(GitHub)
リリース取り込み後は「回答品質テスト」を行う
CIのユニットテストが通っても、AIチャットの品質が十分とは限りません。PRページでは489件のテスト結果やチェック通過が示されていますが、実際の業務データ、社内文書、独自UIで同じ品質が出るかは別問題です。自社環境では、代表的な業務質問を5〜10件用意し、引用、文脈、UI表示を人が確認するのが現実的です。(GitHub)
まとめ:まず確認すべき次の行動
今回のMicrosoft developer platform documentation updateは、Microsoft FabricとMicrosoft Foundry agentsを使ったエージェント型アプリケーションで、回答の根拠表示と会話継続性を改善する更新です。対応すべきチームは、まずPR #368またはv1.23.0相当の差分を取り込んでいるかを確認し、次に06_create_agent.pyのCitation Guidelines、chat.pyのconversation_id受け渡し、07_test_agent.pyの会話作成・削除、App.tsxの引用クリア条件を順に見直してください。
最短で安全確認するなら、次の3つを実行すれば十分です。
- Knowledge Base由来の回答に正しい引用が付くか確認する
- フォローアップ質問で前の文脈が維持されるか確認する
- チャット履歴やCitation Panelを操作しても引用が崩れないか確認する
この3点が通れば、今回の更新で狙っている「根拠を追える回答」と「自然な複数ターン会話」に近づけます。逆に、どれか一つでも崩れる場合は、AIモデルではなく、引用処理、会話ID管理、UI状態管理の順に切り分けるのが近道です。

コメント