🤖

Github Copilot Chat の Agent モードで Azure をいじってみる

に公開

執筆日

2025/08/23

概要

先日いい加減会社で使用させてもらっているGithub Copilotをもっと使いこなしたいなと思い、VSCodeのChat機能でAgentモードを触ってみると、想像より便利だったので少しでも伝えたい気持ちです。

Azure上のリソースを使う開発をしていると何かエラーがあったり、軽い設定の変更がしたくなったりということはよくあると思います。しかし、Azure Portalを開いてリソースのページまで行ってそのログを開いたり、設定ページを探して変更したり、というのは結構めんどくさいです。Azure CLI や Azure Developer Tools のコマンドを覚えるのがめちゃくちゃ得意であればターミナルで一撃かもしれませんが、そんな人は然うはいないと思います。
そこで今回は Github Copilot Chat の Agent モードを使ってどの程度 Azure の操作が出来るか検証したいと思います。

前提

  • VSCode
  • Github のアカウント
  • Github Copilot のアカウント
  • VScode拡張機能
    • Github Copilot, Github Copilot Chat
    • Github Copilot for Azure
  • Azure CLI のインストール・ログイン済み

Copilot Chat のToolボタンを押して、

Extension: Github Copilot for Azureにチェックが入っていればOKです。(折り畳みを開くとより詳細にどのtoolを利用するか選択できます。

今回はGPT-4.1をモデルとして選択しています。

Github Copilot for Azure

テナント変更(前準備)

サブスクリプションに目的のリソースがないと言われた。

選択中のテナント変更をお願いする。

リソース一覧を取得する

数がそんなに多くないのである程度のリソース詳細までつけてくれましたね。

機能一覧

toolボタンから設定を確認できます(沢山あるので全部紹介は厳しい)。機能横の文字列をホバーすると詳細説明が表示されます。あれ、これできないの?と思ったら確認してみると良いでしょう。

Agent ターミナルで Azure CLI を実行

リソースの詳細を確認する

Azure拡張機能だけでは解決できない質問をしてみます。

azure resource graphを使って調べていますが上手く取得できませんでした。APIやCLIでの取得方法を提案してくれるみたいなのでAzure CLIでの確認する方法を聞いてみます。

generate azure cli commandを使ってCLIコマンドを提案してくれました。
これはGPT-4.1の傾向なのですが、CLIコマンド生成をした後は基本的には「このコマンドを使ってください」とだけ出て、コマンド実行とその結果の報告をユーザーにさせようとします。「一緒に実行して確認しよう」と提案すると画像の様にcontinueボタンが出てきます。
continueを押すとCopilot用のターミナルが新規で開かれ、コマンドが実行されます。Copilot用ターミナルはアイコンが通常と違い、結果がダイレクトにCopilotに渡され会話が自動で進行します。

LLM泣かせの質問をしてみる

LLMは基本的に「ないもの」を聞かれると混乱する傾向があります。それはユーザーなどのコンテキストが付随するとより顕著になります(LLMにとって少ないコンテキストで無茶な質問をするのは悪魔の証明)。private endpoint を設定していない先程の Azure AI Foundry に設定があるか聞いてみました。

コマンド実行結果が空である理由がわからず3回実行した後、恐る恐るターミナルの出力に失敗、という結果と設定している場合の出力例を報告してくれました。ごめんね。

リソースの設定を変更する

リソースにネットワーク制限を付けてみます。

上のIP設定は上手くいきましたが、下のパブリックネットワークアクセスをDisableにする方が嘘コマンドで失敗してしまい意味のないIP設定だけが残りました(ポータル上で確認すると)。この辺りはネットワーク設定のコマンドオプションがリソース毎にばらついているAzureが悪いと言わせていただきたいところ……。
調べてみましたがそもそもAzure CLIからパブリックネットワークアクセスの変更ができないっぽい……?
https://learn.microsoft.com/ja-jp/cli/azure/cognitiveservices/account/network-rule?view=azure-cli-latest

新規作成をお願いしてみる

GPT-5が最近出たのでデプロイ出来るか聞いてみると、モデルリストを調べられるコマンドを実行してくれました(そんなのあるんだ)。

さっきまでcontinueが出る形式だったのに、流石にお金が発生するところだからかワンクッション挟むようになりましたね。continueを押さずに新規チャットを送るとコマンドはキャンセルされて会話が続きます。GPTのデプロイは特に間違ったやつ(プロビジョニング済み)とかを選択するとめちゃくちゃお金がかかるのでコマンド実行には十分注意しましょう。「これをデプロイしたらどれくらいお金がかかる?」みたいな質問を挟んでもいいでしょう。

で、これも引っ掛けなのですが実はこのAzure AI Foundryのリージョンはeastus2で、記事執筆時点ではデプロイできないリージョンでした。また、最近のモデルはStandardがなくグローバル標準しかデプロイがなかったりもします。こういうのは人間が知っていなければ、延々とエージェントに間違った提案を受けて時間を浪費することになります。新しいものを使ってみたいというときは特に注意しましょう。逆によくあるリソース操作なんかはすらすらと実行できるので適しています。

Copilot利用状況の確認

Githubの自分のプロフィール画面からCopilotfeatureを開くと利用状況や設定を確認できます。
Premium requestsは自分のアカウントで高級モデルの利用上限みたいなものが月毎に設定されています。GPT-4.1は基本無制限ですが、GPT-5Claude Sonnet 4, Gemini 2.5 Proなんかは利用に上限があります。とはいえ相当使い込まないと一月で使い切らないような気もします。
設定では拡張機能やMCPサーバー利用、IDEでの利用設定や新規モデルを使えるようにするかなどの設定があります。

おわり

先日使っていい感じじゃん!となったのでGithub Copilot ChatによるAzure操作について書きました。(が、後半は上手くできなかった部分が多くて申し訳ない。Azure AI Foundryはちょっと特殊なリソースなので仕方ない。)慎重にならないといけない部分はありますが、非常に便利なのでオススメの使い方の1つです。
今回は全てGPT-4.1を使いましたが、Claude Sonnet 4はよりコマンドを積極的に一緒に実行してくれる傾向がありオススメです。GPTもコード生成強くなってきていますが、エディタとの連携部分はClaudeが強いのかなあと感じています。

ヘッドウォータース

Discussion