推定時間: 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 リソースに関連付けます。 エージェントは、そのリソースを調査すると、リンクされたコードを自動的に参照します。
リソース マッピングを開く
- 左側のサイドバーで [モニター ] を選択します。
- [リソース マッピング] を選択します。
- 一覧でリソースを見つけます。
- リソースを選択して詳細ビューを開きます。
リポジトリを追加する
- [ リポジトリの追加] を選択します。
- GitHub リポジトリの URL (たとえば、
https://github.com/your-org/your-repo) を貼り付けます。 - メッセージが表示されたら、GitHub にサインインします。
- [] を選択し、[] を追加します。
リポジトリをその Azure リソースにリンクしました。
オプション A を確認する
リンクされたリソースについてエージェントに問い合わせてください。
What could cause memory issues in the grocery-store-api container app?
次のような結果が表示されます。
- エージェントは、調査のために To-Do 計画 を作成します。
- エージェントは、
source_code_analysisスキルを読み込みます。 - エージェントは、リンクされたリポジトリを検索します。
- エージェントは、特定のファイルおよび行参照を含む結果を返します。
このスクリーンショットは、コード調査の準備としてエージェントが作成するプランを示しています。
このスクリーンショットは、エージェントがソース コードを分析し、特定のファイル参照を返す方法を示しています。
オプション B: MCP + サブエージェント
GitHub を MCP サーバーとして接続して、GitHub の機能にフル アクセスします。 この方法では、MCP ツールを使用するサブエージェントを作成する必要があります。
GitHub コネクタを追加する
左側のサイドバーで [ビルダー ] を選択します。
[コネクタ] を選択します。
[ コネクタの追加] を選択します。
GitHub MCP サーバーを選択します。
接続を構成します。
フィールド 価値 名前 my-github(またはわかりやすい名前)接続の種類 Streamable-HTTP (既定) URL https://api.githubcopilot.com/mcp/認証方法 ベアラー トークン 個人用アクセス トークン を使用する repoスコープを持つ GitHub PAT[ 次へ>コネクタの追加] を選択します。
状態が [接続済み] と表示されるまで待ちます。
サブエージェントを作成する
MCP ツールはメイン エージェントでは使用できません。 サブエージェントを使用するためには、作成する必要があります。
Builder>Subagent builder を選択します。
[ サブエージェントの作成] を選択します。
サブエージェントを構成します。
フィールド 価値 名前 github-analyst説明 根本原因分析のために GitHub リポジトリを分析します 手順 ソース コードを分析して、運用環境の問題の根本原因を見つけます。 リポジトリと症状が表示されたら、関連するコードを検索し、file:line 参照を指定します。 [ ツール ] セクションで、必要な GitHub MCP ツール (
search_code、get_file_contents、list_commitsなど) を選択します。保存を選びます。
オプション 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 プランを作成し、運用環境の症状をコードの変更に関連付けます。
次のステップ
関連するコンテンツ
- 根本原因分析: エージェントがソース コードを使用して根本原因を見つける方法
- 詳細な調査: 接続されたリポジトリを使用した拡張多仮説分析
- チュートリアル: 詳細な調査: ソース コードを使用して詳細な調査を実行する
- サブエージェント: サブエージェントがエージェントの機能を拡張する方法
- コネクタ: すべてのコネクタの種類とそのしくみ