次の方法で共有


手順 3: ソース コードを Azure SRE エージェントに接続する

推定時間: 10 分

エージェントが根本原因分析を実行できるように GitHub リポジトリを接続し、運用環境の問題を特定のコードに関連付けます。

達成する内容

この手順を完了すると、エージェントは次のことができます。

  • 調査中にソース コードを分析する
  • 問題の特定のファイルと行参照を指定する
  • 調査手順を示す To-Do プランを作成する
  • 運用環境の症状をコードの変更に関連付ける

前提条件

Requirement 詳細情報
エージェントが作成されました 「手順 1: エージェントを最初に作成する」を完了します。
GitHub PAT repoスコープを持つ個人用アクセス トークン。

アプローチを選択する

ソース コードは 3 つの方法で接続できます。

方法 最適な用途
オプション A: リソース マッピング 特定の Azure リソースにリンクされた単一のリポジトリ
オプション B: MCP + サブエージェント すべての GitHub リポジトリへのアクセス
オプション C: ADO ドキュメント コネクタ ナレッジ ソースとしての Azure Repos と Wiki

ヒント

セットアップに一致するアプローチを選択します。 複数のオプションを一緒に使用できます。

オプション C については、ADO Wiki ナレッジ機能ページと Connect ADO Wiki チュートリアルを参照してください。

オプション A: リソース マッピング

リポジトリを Azure リソースに関連付けます。 エージェントは、そのリソースを調査すると、リンクされたコードを自動的に参照します。

リソース マッピングを開く

  1. 左側のサイドバーで [モニター ] を選択します。
  2. [リソース マッピング] を選択します
  3. 一覧でリソースを見つけます。
  4. リソースを選択して詳細ビューを開きます。

リポジトリを追加する

  1. [ リポジトリの追加] を選択します
  2. GitHub リポジトリの URL (たとえば、 https://github.com/your-org/your-repo) を貼り付けます。
  3. メッセージが表示されたら、GitHub にサインインします。
  4. [] を選択し、[] を追加します。

リポジトリをその Azure リソースにリンクしました。

オプション A を確認する

リンクされたリソースについてエージェントに問い合わせてください。

What could cause memory issues in the grocery-store-api container app?

次のような結果が表示されます。

  1. エージェントは、調査のために To-Do 計画 を作成します。
  2. エージェントは、 source_code_analysis スキルを読み込みます。
  3. エージェントは、リンクされたリポジトリを検索します。
  4. エージェントは、特定のファイルおよび行参照を含む結果を返します。

このスクリーンショットは、コード調査の準備としてエージェントが作成するプランを示しています。

コード調査用のエージェントのタスク計画のスクリーンショット。

このスクリーンショットは、エージェントがソース コードを分析し、特定のファイル参照を返す方法を示しています。

ソース コードを分析し、ファイル参照を返すエージェントのスクリーンショット。

オプション B: MCP + サブエージェント

GitHub を MCP サーバーとして接続して、GitHub の機能にフル アクセスします。 この方法では、MCP ツールを使用するサブエージェントを作成する必要があります。

GitHub コネクタを追加する

  1. 左側のサイドバーで [ビルダー ] を選択します。

  2. [コネクタ] を選択します。

  3. [ コネクタの追加] を選択します

    コネクタの一覧のスクリーンショット。

  4. GitHub MCP サーバーを選択します。

  5. 接続を構成します。

    フィールド 価値
    名前 my-github (またはわかりやすい名前)
    接続の種類 Streamable-HTTP (既定)
    URL https://api.githubcopilot.com/mcp/
    認証方法 ベアラー トークン
    個人用アクセス トークン を使用する repo スコープを持つ GitHub PAT
  6. [ 次へ>コネクタの追加] を選択します。

  7. 状態が [接続済み] と表示されるまで待ちます。

接続状態を示す GitHub コネクタのスクリーンショット。

サブエージェントを作成する

MCP ツールはメイン エージェントでは使用できません。 サブエージェントを使用するためには、作成する必要があります。

  1. Builder>Subagent builder を選択します。

  2. [ サブエージェントの作成] を選択します。

  3. サブエージェントを構成します。

    フィールド 価値
    名前 github-analyst
    説明 根本原因分析のために GitHub リポジトリを分析します
    手順 ソース コードを分析して、運用環境の問題の根本原因を見つけます。 リポジトリと症状が表示されたら、関連するコードを検索し、file:line 参照を指定します。
  4. [ ツール ] セクションで、必要な GitHub MCP ツール ( search_codeget_file_contentslist_commitsなど) を選択します。

  5. 保存を選びます。

オプション B を確認する

エージェントに新しいサブエージェントへの引き渡しを依頼します。

Use the github-analyst subagent to analyze the code in my-org/my-repo for memory leaks.

メイン エージェントは、GitHub MCP ツールを使用してコードを分析するサブエージェントにハンドオフします。

ソース コードの違い

次の例は、ソース コードの接続によってエージェントの応答がどのように変化するかを示しています。

ソース コードがない場合:

"コンテナー アプリでメモリ不足が発生しています。 メモリ制限を増やすことを検討してください。

ソース コードの場合:

" src/api/suppliers.jsでメモリ リークの可能性が見つかりました:

45 行目から 52 行目:fetchSupplierData()関数は、クリーンアップなしで要求ごとに新しい HTTP クライアントを作成します。

110 から 117 行目: レート制限は 5 req/min に設定されていますが、API には最大 40/分のバースト パターンが表示されます。

推薦: 接続プーリングを追加するか、クライアントの再利用を実装します。

エージェントは、運用環境の症状を正確なコードの場所に関連付ける。

次の表に、最も多くの値を提供するリポジトリの種類を示します。

リポジトリの種類 価値
運用アプリ インシデント時の根本原因分析
コードとしてのインフラストラクチャ 構成ドリフト検出
Runbook スクリプト 自動化ロジックを理解する

ヒント

最もインシデントが発生しやすいアプリケーションを最初に接続します。 後でリポジトリを追加します。

まとめ

エージェントは、調査中にソース コードを分析し、問題のファイルと行の参照を提供し、調査手順を示す To-Do プランを作成し、運用環境の症状をコードの変更に関連付けます。

次のステップ