次の方法で共有


Azure SRE エージェントのメモリと知識

過去のインシデントで何が機能していたかを思い出し、ドキュメントを参照することで、エージェントの効果が徐々に高まります。

SearchMemory が過去のインシデント、ユーザーメモリ、ドキュメントの 3 つのソースに対してクエリを実行し、引用文献を含む根拠のある応答を提供することを示す図。

メモリのしくみ

質問すると、エージェントはすべてのナレッジ ソースを同時に検索します。

情報源 発見内容 最適な用途
過去のインシデント 同様の問題を解決した手順 以前、どのようにこれを修正したのですか。
ユーザーメモリ 明示的に保存するファクト 私の環境設定が使用することを覚えておいてください...
ナレッジ ベース アップロードしたランブックとドキュメント "標準手順に従う"

エージェントは、情報の由来を正確に示す クリック可能な引用文献 を含む、根拠のある応答を返します。

自動学習

エージェントは、すべての会話から学習します。 手動トレーニングは必要ありません。

エージェントが各セッションの後に学習を自動的に抽出することを示す図。症状、解決手順、根本原因、および回避する落とし穴。

各スレッドが完了すると、エージェントは次の情報をキャプチャします。

What 説明
観察された症状 エラー メッセージ、動作、パターン
動作した手順 成功した解決パス
根本原因 問題の原因
避ける落とし穴 うまくいかなかったこと、行き止まり

このプロセスは自動的に行われます。 スレッドが静かになってから 30 分後、エージェントは会話を評価し、学習のインデックスを作成します。

同じリソースの優先順位

リソースの問題を調査する場合、エージェントは過去のセッションに まったく同じリソースに優先順位を付けます。

"App Service app-prod-01 is returning 503 errors"

エージェントは最初に、 app-prod-01 で問題が発生したかどうかを確認します。 "はい" の場合は、最も関連性が高いため、これらの学習が最初に表示されます。

プロアクティブな知識の永続化

完了したスレッドから学習するだけでなく、エージェントは会話中に検出した内容をアクティブに保存します。 エージェントが何か重要な問題 (複雑な構成、明白でない依存関係、デバッグの問題) に遭遇すると、セッション間で実行される永続的なナレッジ ファイルに分析情報が記録されます。

どのように機能するのか

エージェントはナレッジ ディレクトリを memories/synthesizedKnowledge/に保持します。 エージェントは、すべての会話の開始時に特別なファイル ( overview.md) をシステム プロンプトに自動的に読み込みます。 このアプローチにより、エージェントは環境に関する最も重要なコンテキストにすぐにアクセスできます。

コンポーネント 動作内容
overview.md サービスの概要とインデックス。 常にコンテキストに読み込まれており、文字数の上限は約 2,000 文字です。
トピック ファイル 特定の主題に関する詳細な注意事項 (例: aks-networking-gotchas.md)。
概要からのリンク overview.md はトピック ファイルにリンクされるため、エージェントは、どのような詳細な知識が存在するかを把握できます。

エージェントが保存する内容

エージェントは、会話中に事前に分析情報を記録します。

カテゴリ 例示
問題の制約 このサービスは、クォータ制限のため、10 個のレプリカを超えてスケールできません。
うまくいった戦略 " --grace-period=0 でポッドを再起動すると、スタックしたデプロイが解決されました"
失敗した戦略 "メモリ制限の増加は役に立たなかった。 問題は CPU の調整でした"
明確でない依存関係 "app-frontend depends on a sidecar proxy that must start first" (アプリ フロントエンドは最初に開始する必要があるサイドカー プロキシに依存します)
構成の詳細 "運用環境では、Key Vault に格納されているカスタム TLS 証明書を使用します"

ナレッジ組織

エージェントは、時系列ではなく、 トピックごとに意味的に知識を整理します。 各ファイルは自己完結型の参照です。

File キャプチャされる内容
overview.md サービスの概要、キー リンク、トピック ファイルのインデックス (最大 2,000 文字)
team.md チーム メンバー、役割、専門知識 (最大 500 文字)
architecture.md コンポーネント、接続、環境 (最大 1,500 文字)
logs.md ログ ソース、テーブル、キー フィールド、有用なクエリ (最大 1,500 文字)
deployment.md パイプラインの詳細、バージョン参照、ロールバック プロシージャ (最大 1,000 文字)
auth.md 認証メカニズム、ID フロー (最大 800 文字)
debugging.md 一般的な問題、トラブルシューティング ガイド、Runbook リンク (最大 1,000 文字)
queries/*.md トピック別に整理された抽出されたクエリ (各 1,000 文字)

既存のナレッジを更新すると、エージェントは現在のファイルを読み取り、新しい情報をマージし、古くなったり正しくないものがあれば削除したりします。

ヒント

エージェントにナレッジの保存を依頼することもできます

自動永続化を超えて、情報をナレッジ ファイルに保存するようにエージェントに明示的に要求できます。

Save this to your knowledge: our Redis cache uses Premium tier with 6GB,
and failover takes about 90 seconds.

エージェントは、適切なナレッジ ファイルを作成または更新し、 overview.mdからリンクします。

この方法は、個別のファクトを個別のメモリ ストアに保存する #remember コマンド (次のセクションで説明) とは異なります。 ナレッジ ファイルは、すべての会話の開始時にエージェントが参照する構造化された永続的な参照です。 ユーザーの記憶は、 #retrieveを介して検索可能な個々の事実です。

ユーザーメモリ

エージェントが自動的に学習して永続化する以外に、エージェントが覚えておく必要がある個別のファクトを明示的に保存できます。 ユーザー メモリは、インシデントでは発生しない可能性がある環境固有の詳細に最適ですが、コンテキストにとって重要です。

次の表は、ユーザーメモリの適切な候補を示しています。

カテゴリ 例示
環境に関する事実 "運用環境では、米国西部 2 で 3 つの AKS クラスターが使用されます"
チームの基本設定 "デプロイにはポータルよりも CLI が優先されます"
アーキテクチャの詳細 "app-service-01 は sql-prod に依存しています"
エスカレーション パス PagerDuty、次に Teams チャネル、その後電話

メモリ コマンド

これらのチャット コマンドを使用して、ユーザーメモリを管理します。

命令 動作内容
#remember 将来の参照のためにファクトを保存する #remember our Redis cache uses Premium tier
#retrieve 保存した思い出を検索する #retrieve what's our caching setup?
#forget 保存されているメモリを削除する #forget the outdated Redis info

次の例は、一般的なメモリ ワークフローを示しています。

重要なコンテキストを保存します。

#remember Production uses 3 AKS clusters in West US 2
#remember Our escalation path: PagerDuty, then Teams channel, then phone
#remember Database failover takes approximately 15 minutes

後で取得します。

#retrieve how long does database failover take?

エージェントは、保存されたメモリに基づいて応答します。"データベースのフェールオーバーには約 15 分かかります。"

ナレッジベース

ドキュメントをアップロードし、外部ソースを接続して、エージェントにより広範な参照ライブラリを提供します。

アップロードされたドキュメントと MCP コネクタからの知識を示す図。すべて一緒に検索できます。

ドキュメントのアップロード

Builder > ナレッジ ベースに移動して、ドキュメントをアップロードします。

ドキュメントの種類 良い
運用手順書 ステップ バイ ステップのインシデント手順
アーキテクチャ ガイド 環境を理解する
オンコールプレイブック エスカレーションと応答の手順
API ドキュメント サービス固有の知識
チームの手順 ワークフローとプロセスのドキュメント

サポートされている形式: Markdown (.md)、プレーン テキスト (.txt)。 最大ファイル サイズは 16 MB です。

外部ソースを接続する

コネクタを使用して外部システムからナレッジに直接アクセスします。

コネクタ 提供される内容
Azure DevOps ADO Wiki ページのクエリを実行する
GitHub リポジトリ、Wiki、問題を検索する
Microsoft Learn Microsoft の公式ドキュメント
カスタム MCP 構成したナレッジ ソース

[設定] > コネクタ内でコネクタを構成します。 詳細については、コネクタに関するページを参照してください。

会話で知識を使用する

エージェントは、質問に関連するナレッジを自動的に検索します。

How should I handle a database failover?

Runbook をアップロードすると、エージェントは根拠のある答えで応答します。

Database Runbook(引用文献リンク) に基づいて、フェールオーバーの手順を次に示します。

  1. セカンダリ レプリカの正常性を確認します...

引用文献のリンクを選択して、完全なソース ドキュメントを表示します。

セッションの分析情報

すべてのスレッド (同期チャット会話または非同期自動トリガー タスク) の後に、エージェントによって セッション分析情報が生成されます。 セッションの分析情報は、エージェントが時間の経過と同時にスマートになる方法です。

キャプチャされる内容

各セッション分析情報は、検索可能なメモリになる構造化された学習を抽出します。

コンポーネント キャプチャされる内容
観察された症状 エラー パターン、動作 HTTP 503 エラー、メモリが95%に達しています
解決手順 何が機能しましたか "App Service SKU のスケールアップ"
根本原因 発生した理由 "デプロイ v2.3 でのメモリ リーク"
避ける落とし穴 機能しなかったもの "再起動しても役に立たなかった"

分析情報が生成されたとき

次の表では、セッション分析情報が生成されるタイミングについて説明します。

スレッドの種類 いつ 自動または手動
チャットの同期 最後のメッセージの 30 分後 自動
非同期タスク 完了から 30 分後 自動
ユーザーフィードバック 応答を評価する場合 トリガーする

セッションの分析情報を表示する

セッション分析情報>監視に移動して、次の情報を確認します。

  • エージェント アクションのタイムライン
  • 評価スコア
  • 抽出された主要な学習
  • ソース スレッド リンク: 各分析情報カードは、それを生成したスレッドにリンクし直します。そのため、元の会話に対する分析情報をトレースできます

メトリックと管理の詳細については、 エージェントの使用状況の監視に関する記事を参照してください。

ベスト プラクティス

エージェントのメモリとナレッジの機能から最大限の価値を得るには、次の推奨事項に従います。

アップロードする内容と接続する内容を選択する

アップロード コネクタ経由で接続する
インシデント実行計画書 ライブ Wiki ページ (ADO、GitHub)
アーキテクチャ図 ソース コード リポジトリ
エスカレーション手順 リアルタイム監視データ
静的 API ドキュメント 頻繁に更新されるドキュメント

ナレッジを最新の状態に保つ

古いドキュメントでは、正しくない応答が発生します。 ナレッジ ベースを四半期ごとに確認します。 エージェントが現在持っているドキュメントを確認するには、次の質問をします。

What knowledge documents do you have?

Builder > ナレッジ ベースで古いドキュメントを削除します。

ドキュメントに明確な名前を付けます

わかりやすいファイル名を使用して、エージェントとチームが適切なドキュメントをすばやく見つけるのに役立ちます。

使用しないでください 代わりに使用する
doc1.txt production-database-failover.md
runbook.md aks-cluster-scaling-runbook.md
notes.txt escalation-procedures-2026.txt

次のステップ

  • コネクタ: 外部ナレッジ ソースをエージェントに接続します。
  • サブエージェント: 焦点を絞った機能を持つ特殊なエージェントを作成します。