次の方法で共有


Azure SRE エージェントにおけるカスタム エージェント

カスタム エージェントは、オンデマンドで呼び出すスペシャリスト エージェントです。 チャットに「 /agent 」と入力し、スペシャリストを選択して質問します。 このプロセスにより、SQL の問題に関するデータベースの専門家と、脅威の調査のためのセキュリティ監査担当者にアクセスできます。

(常に使用可能な) スキルとは異なり、カスタム エージェントでは明示的な呼び出しが必要です。 この要件は、専門知識を特定のタスクに限定します。

トリガーとツールに接続されているカスタム エージェントを示すエージェント キャンバスのスクリーンショット。

カスタム エージェントのしくみ

チャットで /agent スラッシュ コマンドを使用して、カスタム エージェントを呼び出します。 カスタム エージェントは完全な会話コンテキストを受け取り、集中した専門知識を持って動作します。

次の例は、基本的なカスタム エージェント定義を示しています。

name: database_expert
system_prompt: |
  You are a database specialist. Analyze query performance,
  diagnose connection issues, and recommend optimizations.
handoff_description: Handles SQL and database troubleshooting
tools:
  - execute_kusto_query
  - azure_cli
connectors:
  - azure_sql
enable_skills: true  # Can use skills for additional expertise

主なプロパティは次のとおりです。

  • system_prompt: 専門家のペルソナと指示。
  • handoff_description: オーケストレーターが委任を決定するときに表示される内容。
  • tools: 使用可能な機能。
  • enable_skills: このプロパティを使用すると、カスタム エージェントはスキルに動的にアクセスできます。

ヒント

スキルは自動です。 エージェントは、必要に応じてそれらを使用します。 カスタム エージェントは明示的であり 、集中した専門知識が必要な場合は /agent を使用して呼び出します。

カスタム エージェントを使用する理由

カスタム エージェントを使用すると、ドメインの専門知識、ツール、知識をパッケージ化して再利用できます。 メイン エージェントがすべてを処理しようとしているのではなく、専門家に委任されます。

データベースの問題を考えてみましょう。カスタム エージェントがない場合、メイン エージェントは一般的なトラブルシューティングを試みます。 "Database Expert" カスタム エージェントを使用すると、クエリ分析用にチューニングされた SQL の専門知識、データベース固有の Runbook、およびツールに重点を置きます。

カスタム エージェントではハンドオフ チェーンを有効にします。 インシデントトリアージカスタムエージェントは、問題を分類し、適切なドメインエキスパートに引き渡します。その後、ドメインエキスパートが調査し、通知ルーターに引き渡します。 各ステップは特殊化されています。

カスタム エージェントを作成する

Builder > Agent Canvas でカスタム エージェントを作成します

  1. Azure portal で Azure SRE エージェントに移動します。

  2. [ エージェント キャンバス ] タブを選択します。

  3. を選択してを作成します。

  4. [カスタム エージェント] を選択します

  5. 次の設定の値を指定します。

    財産 価値
    名前 カスタム エージェントのわかりやすい名前を入力します。
    手順 カスタム エージェントの動作を定義する明確なカスタム命令を指定します。
    ハンドオフの説明 他のカスタム エージェントがこのカスタム エージェントに処理を転送する必要があるシナリオとその理由について説明します。
    カスタム ツール (省略可能) 操作中に使用するカスタム エージェント用のカスタム ツールを 1 つ以上選択します。
    組み込みツール (省略可能) カスタム エージェントがアクセスできるようにする組み込みのシステム ツールを選択します。
    引き継ぎエージェント (オプション) このカスタム エージェントがタスクを完了した後に処理を引き継ぐカスタム エージェントを指定します。

    必要に応じて、 ナレッジ ベース 機能を有効にすることができます。 このオプションを使用すると、カスタム エージェントがクエリに応答するときに参照資料として使用できるファイルをアップロードできます。

ナレッジ ベース管理

ドキュメント、Runbook、手順ガイドをアップロードして、カスタム エージェントの知識を強化します。

エージェントに追加できるファイルの例:

  • アーキテクチャまたはシステム設計: システム コンポーネントとデータ フローについて説明する図とドキュメント。
  • トラブルシューティング ガイド: 一般的または繰り返し発生する問題を診断して解決するための詳細な手順。
  • Runbook と SOP: 日常的な運用、メンテナンス、インシデント対応のための詳細なワークフロー。
  • インシデント レポートと事後分析: 根本原因分析や学習した教訓など、過去の停止に関するドキュメント。
  • リリース ノートと変更ログ: 新機能、バグ修正、変更など、製品またはサービスの更新プログラムの概要。

サポートされているファイルの種類

Markdown (.md) またはテキスト (.txt) 形式の操作手順。

ファイル管理ワークフロー

  1. ナレッジ ベースの [設定] > [ナレッジ ベース > ファイル ] タブに移動して、ナレッジ ベースにアクセスします。
  2. ファイルをドラッグ アンド ドロップするか、ファイルの選択を参照してファイルをアップロードします (ファイルあたり最大 50 MB)。
  3. タグと説明を追加してコンテンツを整理し、検索しやすくします。
  4. 特定のナレッジ ソースにアクセスできるカスタム エージェントを構成して、カスタム エージェントアクセスを有効にします。
  5. カスタム エージェントが応答でアップロードされたナレッジを使用する方法を追跡して、使用状況を監視します。

カスタム エージェントは、アップロードしたファイルに自動的にインデックスを付け、検索できるようにします。 システムは、カスタム エージェント インスタンスあたり最大 1,000 個のファイルをサポートします。

エージェント キャンバス ビュー

Builder>Agent Canvas でカスタム エージェントをビルドします。 以下のビューが利用できます。

ビュー Purpose
キャンバス ビュー カスタム エージェント、ツール、トリガー接続を示すビジュアル図
テーブル ビュー クイック アクセスを使用するすべてのカスタム エージェントの一覧
テストプレイグラウンド 対話型テスト環境

カスタム エージェントを使用する場合

次の表は、カスタム エージェントが適切な選択であるタイミングを判断するのに役立ちます。

シナリオ カスタム エージェントを使用しますか? なぜでしょうか
必要な深いドメインの専門知識 はい パッケージ SQL の専門知識、ネットワークの知識、セキュリティのベスト プラクティス
複数ステップのワークフロー はい インシデントトリアージ、デプロイ検証、バックアップ検証
特殊なツール セット はい データベース固有のツール、コスト最適化ツール
単純な単一操作 いいえ 単純で反復可能なアクションにスキルを代わりに使用する
読み取り専用クエリ いいえ メイン エージェントは委任なしで処理できます

カスタム エージェントの完全なセットアップについては、応答の自動化に関 するインシデント対応 を参照してください。

カスタム エージェントのハンドオフ

メイン エージェントがカスタム エージェントに接続すると、 1 つの会話コンテキストが共有されます。 受信側のカスタム エージェントには、次の内容が表示されます。

  • 完全な会話履歴: 以前のすべてのメッセージ、ツール呼び出し、結果。
  • サブタスクの推論: ハンドオフがこのカスタム エージェントに達成するよう求めている内容。
  • ユーザーの元の質問: ハンドオフ チェーン全体で保持されます。

カスタム エージェントは白紙の状態になりません。同じ会話スレッドを継続します。 このアプローチにより、各スペシャリストが前のエージェントの作業に基づいて構築されるハンドオフ チェーンが可能になります。

作業が完了すると、カスタム エージェントは次のエージェントに移動するか、オーケストレーターに制御を返します。 会話コンテキストは、チェーン全体にわたって蓄積され続けます。

カスタム エージェント パターン

次の表では、一般的なカスタム エージェント パターンについて説明します。

パターン 例示 利用シーン
ドメイン エキスパート VM エキスパート、AKS エキスパート、ネットワーク エキスパート 1 つのテクノロジに関する深い専門知識 (すべての VM の問題、Kubernetes のトラブルシューティング、VNet/NSG/ロード バランサー)
タスク スペシャリスト ログアナライザー、コストオプティマイザ、セキュリティスキャナー 特定のタスク (ログの解析、節約の検索、脆弱性の特定) に重点を置く
Workflow Executor インシデントトリアージ、デプロイバリデーター、バックアップ検証ツール 複数ステップの手順 (インシデントの分類、デプロイ後のチェック、バックアップの整合性のテスト)

スキル、カスタム エージェント、ナレッジ ファイルを比較する

次の表は、各機能拡張の概念を比較したものです。

特徴 スキル カスタム エージェント 知識ファイル
Access 自動 /agent コマンド KB クエリ ツールを使用する
ツール アタッチ可能 ツールがある ツールなし
コンテキスト スレッド コンテキストを使用します スレッド コンテキストを共有する 参照のみ
最適な用途 プロシージャ ドメイン スペシャリスト ランブック、ドキュメント

適切なアプローチを選択するには、次のガイダンスを使用します。

  • スキル: 必要に応じた実行を含むチーム全体の手順 (AKS トラブルシューティング ガイド + Azure CLI)
  • カスタム エージェント: オンデマンドで呼び出されるスコープ付きスペシャリスト (PostgreSQL Expert)
  • ナレッジ ファイル: コンテキストの参照コンテンツ (アーキテクチャ ドキュメント)

カスタム エージェントをトリガーに接続する

インシデントまたはスケジュールされたタスクは、カスタム エージェントを自動的にトリガーできます。 キャンバス ビューには、これらの接続が視覚的に表示されます。トリガーはカスタム エージェントに接続されているノードとして表示され、ツールは親カスタム エージェントでグループ化され、ステータス バッジにはアクティブまたは非アクティブな状態が表示されます。

セットアップの詳細については、「カスタム エージェントをインシデントに接続するための インシデント対応 」または「定期的な自動化のための スケジュールされたタスク 」を参照してください。

カスタム エージェント モード

各カスタム エージェントは、自律性の量を制御するモードで実行されます。 各応答計画またはスケジュールされたタスクのモードを設定します。

モード 説明
レビュー アクションを提案し、承認を待ちます
自律 人の承認を得ずに行動する

リスクに基づいてモードを選択します。

  • コストの最適化に関する推奨事項 レビューを使用する (人間の承認が必要)。
  • 適切にテストされた自動化 自律型 (信頼できる操作の場合) を使用します。

各応答計画またはスケジュールされたタスクのモードを構成します。 カスタム エージェントの YAML 定義でモードを設定しないでください。 詳細については、「 実行モード」を参照してください。

カスタム エージェントのテストと開発

デプロイする前に、 テスト プレイグラウンド でカスタム エージェントをテストします。 Builder>Agent Canvas に移動し、ビュートグルから [テストプレイグラウンド] を選択します。 分割画面レイアウトを使用すると、左側の指示を編集し、右側のライブ チャットでテストできます。AI を利用した評価により、構成をスコア付けできます。

VS Code ユーザーの場合、SRE エージェント MCP サーバー拡張機能を使用すると、エディターでカスタム エージェント YAML を編集し、変更をエージェントと同期させることができます。

分割画面エディターとチャット テスト パネルを含むエージェントプレイグラウンドのスクリーンショット。

詳細については、「 エージェントプレイグラウンド」を参照してください。

資源 説明
スキル エージェントの再利用可能な手順とツール
通知の送信 調査結果を Teams、Outlook などへ送信する
ツールからのチャット Teams、Webhook などのエージェントと対話する