AIコーディングエージェントを使うと、「なぜ古いSDKの書き方を選ぶのか」「なぜ公式ドキュメントではなく記憶だけでコードを書くのか」「MCPサーバーを用意したのに呼ばれないのはなぜか」といった問題が起きます。Microsoftの公式ブログ「How AI coding agents actually use your technology」が示した重要なポイントは、AIエージェントは人間の開発者と同じようにはSDK、CLI、API、ドキュメントを使わないという点です。エージェント向けには、見つけてもらう、選んでもらう、正しく呼び出してもらう、短く正確な情報を返す、エラーから自己修正できるようにする、という設計が必要になります。(Microsoft for Developers)
今回の内容は、Microsoft 365管理センターに新しい設定が追加された、といった単純な機能更新ではありません。GitHub Copilot、VS Code、MCP、Microsoft Learn、Azure系サービス、社内SDKやAPIを使う開発現場に対して、「AIコーディングエージェント時代の開発者体験」をどう整えるべきかを示す実務上の重要な更新です。
Microsoft公式情報の要点:AIコーディングエージェントは技術を“人間と違う順序”で使う
Microsoftは、開発者が「このAPIを使ってREST APIを作って」とプロンプトを入力してから、AIコーディングエージェントがコードを生成するまでの流れを段階的に整理しています。中心になるのは、モデルだけではありません。プロンプト、作業フォルダー、拡張機能、MCPサーバー、スキル、指示ファイル、会話履歴などを集める「ハーネス」の動きが結果を大きく左右します。(Microsoft for Developers)
人間の開発者なら、公式ドキュメントを探し、バージョンを確認し、エラー内容を読み解き、必要に応じて設計を見直します。一方、AIエージェントは、最初に与えられたコンテキストの範囲内で「使える道具」と「必要そうな情報」を判断します。ここでSDKの説明、CLIのヘルプ、MCPツールの説明、エラーメッセージが曖昧だと、エージェントは古い学習データや推測に戻りやすくなります。
今回のMicrosoft公式情報から読み取るべき変更点は、次の通りです。
| 観点 | これまでの前提 | AIエージェント時代の前提 |
|---|---|---|
| SDK/APIの利用者 | 主に人間の開発者 | 人間に加えてAIエージェントも利用者になる |
| ドキュメント | 人間が読んで判断する | エージェントが短時間で抽出・要約・誤解する可能性がある |
| 拡張機能/MCP | インストールされていれば使われると考えがち | コンテキストに入らない、選ばれない、呼び出されないことがある |
| エラー文 | 開発者が経験で補完する | エージェントは文字通り解釈し、曖昧だと誤った修正を繰り返す |
| テスト | 単体で動作確認すれば十分 | 他の拡張機能やツールと同時に使われる前提で検証が必要 |
何が変わるのか:機能追加よりも「設計・運用の前提」が変わる
今回の発表を、単なるAI関連ブログとして読むと重要な点を見落とします。実務上の変化は、「エージェントが自社技術をどう認識し、どう使い、どこで失敗するか」を管理対象に含める必要が出てきたことです。
Microsoftの記事では、エージェントがコードを生成するまでに、コンテキストの組み立て、モデルの解釈、ツール選択、ツール呼び出し、応答処理、コード生成、反復という流れがあると説明されています。どこか一つで失敗すると、その後の結果が連鎖的に崩れます。(Microsoft for Developers)
たとえば、MCPサーバーを用意していても、ツール説明が長すぎたり、他の拡張機能に埋もれたりすると、モデルに見えない場合があります。見えたとしても、「認証を設定して」という開発者の意図と「identity provider settingsをconfigureする」というツール説明が結び付かなければ、選ばれません。選ばれても、返す情報が長すぎれば、モデルが重要な箇所を読み落とす可能性があります。
つまり、今後のAI/Copilot活用では「エージェントが使える場所に情報を置いたか」だけでなく、「エージェントが迷わず選び、正しく使える形にしたか」まで確認する必要があります。
影響範囲:管理者、開発者、SDK/API提供者で見るべきポイントが違う
今回の内容は、Microsoft製品を使う全ユーザーに直接の設定変更を求めるものではありません。ただし、GitHub Copilot、VS Code、Azure、Microsoft Learn、MCP互換ツールを開発業務に取り入れている組織では、影響範囲が広がります。
管理者に影響するポイント
管理者がまず確認すべきなのは、エージェントに何を見せ、何を使わせるかです。
AIエージェントは、作業ディレクトリ、関連ファイル、インストール済み拡張機能、MCPサーバー、指示ファイル、会話履歴などからコンテキストを組み立てます。VS CodeのGitHub Copilotに関する解説でも、エージェントのハーネスはツール呼び出し、実行結果、履歴、コンテキストをループの中で扱うと説明されています。(Visual Studio Code)
管理者は次の点を確認するとよいでしょう。
| 確認項目 | 見るべき理由 | 実務上の対応 |
|---|---|---|
| CopilotやAIエージェントの利用範囲 | 社内コードや設定ファイルがコンテキストに入る可能性がある | 利用可能な部署、リポジトリ、データ範囲を整理する |
| MCPサーバーや拡張機能 | エージェントが外部ツールを呼び出す入口になる | 承認済みツール、禁止ツール、検証済み設定を分ける |
| ワークスペース内の指示ファイル | エージェントの行動に影響する | .github/copilot-instructions.md や AGENTS.md の管理ルールを決める |
| ログとレビュー手順 | 生成コードの根拠が見えにくい場合がある | 重要な変更ではコードレビュー、テスト、依存関係確認を必須にする |
| 公式ドキュメントへの接続 | 古い学習データへの依存を下げる | Microsoft Learn MCP Serverなどの利用可否を検討する |
特に注意したいのは、MCPサーバーやエージェント拡張を増やしすぎることです。Microsoftの関連投稿では、拡張機能やツール説明は有限のコンテキストウィンドウを奪い合うため、多ければ多いほど良いとは限らないと説明されています。(Microsoft Developer)
開発者に影響するポイント
開発者にとっての変化は、AIエージェントに「正しい情報源を使わせる」作業が重要になることです。
たとえばAzureやMicrosoft系サービスのコードを生成させる場合、モデルの学習時点では正しかったCLIコマンドやAPIが、現在は古くなっていることがあります。Microsoft Learn MCP Serverに関する公式投稿では、同じプロンプトでも、現在のMicrosoft Learn情報に接続しているかどうかで、古いAPIを選ぶか、現在のAPIを選ぶかが変わる例が示されています。(Microsoft Developer)
開発者は、次のような使い方を意識すると失敗を減らせます。
| シーン | 悪い使い方 | よい使い方 |
|---|---|---|
| Azureリソース作成スクリプト | 「作って」とだけ依頼する | 「Microsoft Learnの最新情報を確認してから、現在推奨されるCLIで作成して」と依頼する |
| 社内SDKの利用 | READMEだけ置いて任せる | サンプル、認証手順、バージョン、非推奨APIを短く明記する |
| エラー修正 | 生成コードをそのまま再実行する | エラー全文、実行環境、期待結果を渡して修正させる |
| 移行作業 | 旧APIから新APIへ一括変換させる | 変更対象、除外対象、互換性、テスト条件を明示する |
AIエージェントは便利ですが、生成されたコードが「それらしく見える」ことと「現在の仕様で正しく動く」ことは別です。特にSDKのメジャーバージョン変更、CLIコマンドの変更、認証方式の変更、非推奨APIの置き換えでは、人間による確認を省かないことが重要です。
SDK/API提供者に影響するポイント
SDK、CLI、API、開発者向けプラットフォームを提供しているチームは、今回のMicrosoft公式情報を最も重く見るべきです。理由は、今後はドキュメントやツール説明が「人間向け」だけでは不十分になるからです。
AIエージェントは、ツール説明を意味的に読み取って選択します。Microsoftの記事では、開発者が「authentication」と言っているのに、ツール説明が「configure identity provider settings」となっている場合、モデルが意図を結び付けられない可能性があると説明されています。(Microsoft for Developers)
実務では、次のように見直すと効果があります。
| 対象 | 見直し前 | 見直し後 |
|---|---|---|
| MCPツール名 | configureProvider | configure-authentication-provider |
| 説明文 | 「各種設定を行います」 | 「REST APIに認証を追加するときに、IDプロバイダー、リダイレクトURI、トークン検証設定を作成します」 |
| APIドキュメント | 全仕様を長文で掲載 | 最小サンプル、必須パラメータ、失敗例、非推奨項目を分ける |
| CLIエラー | Operation failed | Authentication provider ID is missing. Run xxx list and pass --provider-id. |
| サンプルコード | 古い書き方も混在 | 現行バージョンを優先し、旧方式は「非推奨」と明記する |
ポイントは、キーワードを詰め込むことではありません。開発者が実際に使う言葉と、エージェントがタスクとして認識しやすい言葉をそろえることです。「認証」「デプロイ」「マイグレーション」「接続」「テスト」「権限」「非推奨」など、タスク起点の表現を入れると、選択されやすくなります。
AIエージェントが失敗しやすい7つの段階
Microsoftの記事では、エージェントが技術を利用する流れを7段階で説明しています。これを実務向けに整理すると、どこを直せばよいかが見えやすくなります。
| 段階 | 起きること | 失敗例 | 対応策 |
|---|---|---|---|
| コンテキスト組み立て | ハーネスがプロンプト、ファイル、ツール説明を集める | MCPツール説明が長すぎて落とされる | 説明文を短くし、重要な用途を先頭に書く |
| モデルの解釈 | モデルが使える情報を読み取る | 古いSDK知識を正しいと思い込む | 最新ドキュメントや指示ファイルで補正する |
| ツール選択 | 使うツールを選ぶ | 認証タスクなのにID設定ツールが選ばれない | 開発者の言葉に近い説明へ変更する |
| ツール呼び出し | パラメータを組み立てて実行する | 存在しない値や誤った引数を渡す | スキーマ、必須項目、例を明確にする |
| 応答処理 | ツールの返答をモデルが解釈する | 長文ドキュメントから重要条件を見落とす | 要点、手順、コード例、注意点を分けて返す |
| コード生成 | 実際のコードを作る | 古いAPIや競合SDKを使う | バージョン、推奨API、禁止パターンを明記する |
| 反復修正 | ビルドやテスト結果から直す | 曖昧なエラーで誤修正を繰り返す | エラー文に原因と次の操作を含める |
この表で特に重要なのは、「ツールが呼ばれたかどうか」だけを成功指標にしないことです。ツールが呼ばれても、返した情報が長すぎたり、曖昧だったり、古かったりすれば、生成結果は悪化します。Microsoftは、呼び出しの有無だけでは品質を判断できないと説明しています。(Microsoft for Developers)
管理者が確認すべき設定・運用チェックリスト
今回の公式情報を受けて、Microsoft環境の管理者は次の順番で確認すると実務に落とし込みやすくなります。
AIエージェントの利用ポリシーを確認する
まず、GitHub Copilot、VS Codeのエージェント機能、MCP互換ツール、社内AIアシスタントの利用範囲を整理します。
確認すべき項目は次の通りです。
- どの部署・プロジェクトでAIコーディングエージェントを使っているか
- 社内リポジトリ、機密設定、認証情報が含まれる作業フォルダーで使っていないか
- MCPサーバーや拡張機能の導入を個人任せにしていないか
- 生成コードのレビュー、テスト、依存関係チェックがルール化されているか
- 外部サービスや社外APIを呼び出すコード生成に承認フローがあるか
ここでの目的は、AI利用を止めることではありません。エージェントが参照できる情報と、実行できる操作の境界を明確にすることです。
MCPサーバーと拡張機能を棚卸しする
MCPサーバーや拡張機能は、AIエージェントにとって強力な情報源です。ただし、数が多すぎるとコンテキストを圧迫し、重要なツールが見えにくくなります。
棚卸しでは、次のように分類します。
| 分類 | 例 | 対応 |
|---|---|---|
| 必須 | Microsoft Learn、社内API仕様、認証基盤のMCP | 標準構成として管理する |
| 条件付き | 特定プロジェクト専用DB、特定クラウド環境のツール | 対象チームだけに展開する |
| 検証中 | 新しいMCPサーバー、個人作成のエージェント拡張 | サンドボックスで評価する |
| 非推奨 | 古いSDK向けツール、更新されていないドキュメント参照 | 無効化または置き換える |
特にMicrosoft関連の開発では、Microsoft Learn MCP Serverのように現在の公式情報へ接続できる仕組みを検討する価値があります。Microsoft公式投稿では、Learn MCP ServerはMCP対応エージェントからMicrosoft Learnのドキュメント、コードサンプル、ガイダンスへアクセスできる仕組みとして説明されています。(Microsoft Developer)
指示ファイルをチームで管理する
AIエージェント向けの指示ファイルは、個人のメモではなく、開発標準の一部として扱うべきです。
たとえば、.github/copilot-instructions.md や AGENTS.md に次の内容を入れておくと、生成結果のブレを減らせます。
このリポジトリでは、以下のルールに従ってください。
- Azure関連のコードを生成する前に、現在のMicrosoft Learn情報を確認する
- 非推奨APIや旧SDKの使用を避ける
- 認証情報、接続文字列、シークレットをコードに直接書かない
- 新しい依存関係を追加する場合は、理由を説明する
- 変更後は既存テストを実行し、失敗した場合は原因を説明する
注意点は、指示を増やしすぎないことです。長すぎる指示ファイルは、他の重要なコンテキストを押し出す原因になります。プロジェクトで本当に守らせたいルールに絞り、優先順位の高い順に書くのが実用的です。
開発者が移行・展開時に注意すべきポイント
AIエージェントを使ってSDK移行、API移行、Azure構成変更、CLIスクリプト作成を行う場合、特に注意が必要です。エージェントは古いコードをもっともらしく生成することがあります。
バージョン指定を曖昧にしない
「最新版で書いて」だけでは不十分です。最新版という言葉は、モデルの学習時点、公式ドキュメントの現在、プロジェクトの制約で意味が変わります。
実務では、次のように指定します。
このプロジェクトでは SDK vX 系を使います。
非推奨APIは使わず、現在のMicrosoft Learnの情報を確認してください。
既存コードの互換性を壊す変更がある場合は、変更点を一覧にしてください。
実際のバージョン番号は、プロジェクトで採用しているSDKやランタイムに合わせて指定してください。不明な場合は、エージェントに決めさせるのではなく、パッケージ定義ファイル、公式ドキュメント、既存CIの設定を確認してから進めるのが安全です。
生成コードを「動いたか」だけで判断しない
AIエージェントが生成したコードは、一時的に動いても、次の問題を含む場合があります。
- 古いAPIを使っている
- 非推奨のCLIコマンドを使っている
- 例外処理が不足している
- 認証情報を安全に扱っていない
- テストが成功しても本番設定に合っていない
- 既存の運用ルールと異なるログ出力や監視設定になっている
移行や展開では、最低限次の確認を行います。
| 確認項目 | チェック内容 |
|---|---|
| 依存関係 | パッケージの追加・更新理由が明確か |
| API/CLI | 現在推奨されるコマンドやAPIを使っているか |
| 認証 | シークレットを直書きしていないか |
| 互換性 | 既存コードや既存データ形式を壊さないか |
| テスト | 単体テストだけでなく、実行環境に近い条件で確認したか |
| ロールバック | 失敗時に戻せる手順があるか |
エラー文をエージェント向けに改善する
社内CLIやSDKを提供している場合、エラー文の品質はAIエージェントの修正能力に直結します。Microsoftの記事でも、CLIやビルドツール、テストランナーが具体的なエラーコードや提案を返せば、エージェントは自己修正しやすくなると説明されています。(Microsoft for Developers)
悪い例は次のようなエラーです。
Error: operation failed
これでは、エージェントは原因を推測するしかありません。改善するなら、次のようにします。
Error: Missing --tenant-id.
This command creates an authentication provider and requires a tenant ID.
Run `contoso auth tenants list` to find the tenant ID, then retry with `--tenant-id <id>`.
人間にとっても分かりやすく、AIエージェントにとっても次の操作が明確です。エージェント対応は、結果的に通常の開発者体験も改善します。
展開前に行うべきテスト:単体確認だけでは足りない
AIエージェント向けのMCPサーバー、スキル、指示ファイル、SDKドキュメントを整備したら、単体で動くかだけでなく、実際の開発環境に近い組み合わせで検証します。
Microsoftの関連投稿では、エージェント拡張は発見、選択、品質、組み合わせの4点で評価すべきとされています。拡張が単体ではうまく機能しても、他の拡張があると効果が落ちる場合があります。(Microsoft Developer)
おすすめの検証手順は次の通りです。
| 手順 | 内容 | 合格基準 |
|---|---|---|
| ベースラインを作る | 拡張なしで同じタスクを実行する | 現状の失敗パターンを記録する |
| 対象拡張を追加する | MCPや指示ファイルを有効にする | エージェントが正しい情報源を使う |
| 他の拡張と併用する | 実際の開発者環境に近づける | 重要なツールが埋もれない |
| 生成コードを評価する | ビルド、テスト、APIの現行性を確認する | 正しいSDK、正しいパターンで動く |
| トークン量や手戻りを見る | ツール呼び出し回数、失敗回数を比較する | 手戻りが減り、説明が過剰でない |
ここで大切なのは、「エージェントがツールを呼んだ」というログだけで成功としないことです。最終的に生成されたコードが、現在の仕様に合い、保守しやすく、安全に動くかを見ます。
Microsoft Learn MCP Serverはどう位置付けるべきか
Microsoft関連の開発では、Microsoft Learn MCP Serverの活用が現実的な対策の一つになります。公式投稿では、MCP対応エージェントがMicrosoft Learnの最新ドキュメントやサンプルにアクセスでき、古い学習データに頼るリスクを下げられると説明されています。(Microsoft Developer)
ただし、導入すればすべて解決するわけではありません。次のように使いどころを決めるのが実務的です。
| 向いている用途 | 理由 |
|---|---|
| Azureサービスのスクリプト生成 | CLIやAPIの推奨方法が変わることがある |
| Microsoft 365やGraph API関連の実装 | 権限、エンドポイント、認証方式の確認が重要 |
| .NETやBicepの移行作業 | バージョン差分や推奨パターンを確認しやすい |
| 新機能を使うコード生成 | モデルの学習データに含まれていない可能性がある |
一方で、社内独自API、非公開SDK、顧客別設定などはMicrosoft Learnには載っていません。その場合は、社内MCPサーバー、短い仕様書、プロジェクト内の指示ファイルを整備する必要があります。
よくある誤解と失敗しやすいポイント
「Copilotが賢くなれば自然に直る」は危険
モデル性能は重要ですが、Microsoftの説明では、モデル、ハーネス、エージェント拡張は分けて考える必要があります。モデル自体を利用者側で直接変えることはできず、実務で調整しやすいのはMCP、スキル、指示ファイル、ドキュメントなどのエージェント拡張です。(Microsoft Developer)
「次のモデルなら直るはず」と待つより、エージェントが参照できる最新情報を用意し、ツール説明とエラー文を改善した方が、短期的な効果を得やすいでしょう。
「ドキュメントを全部返せば正確になる」は逆効果になり得る
AIエージェントに返す情報は、多ければよいわけではありません。長すぎるドキュメントはコンテキストを圧迫し、他の重要情報を押し出す可能性があります。Microsoftの記事でも、必要以上に多い情報はモデルを混乱させたり、重要な文脈を押し出したりする要因になると説明されています。(Microsoft for Developers)
返す情報は、次の順番で整理すると扱いやすくなります。
- 結論:このタスクでは何を使うべきか
- 最小コード例:そのまま試せる短い例
- 必須パラメータ:省略できない値
- 注意点:非推奨API、権限、認証、バージョン
- 追加リンクや詳細:必要な場合だけ参照させる
「人間向けに分かりやすい」だけでは足りない
人間は曖昧な説明を経験で補えますが、AIエージェントは説明文、スキーマ、エラー文をかなり文字通りに扱います。特に社内ツールでは、「いつもの設定」「標準の認証」「適切な権限」といった表現を避け、具体名を書きます。
たとえば、次のように変えるだけで精度が上がりやすくなります。
| 曖昧な表現 | 具体的な表現 |
|---|---|
| 適切な権限を設定する | User.Read と Group.Read.All を付与する |
| 標準の認証方式を使う | Microsoft Entra IDのOAuth 2.0認可コードフローを使う |
| 必要な設定を追加する | redirectUri、clientId、tenantId を設定する |
| エラーを確認する | npm test の失敗内容とHTTPステータスコードを確認する |
まず着手すべき実務アクション
今回のMicrosoft公式情報を受けて、すぐに取り組むなら次の順番がおすすめです。
最初に、開発チームでよく使うMicrosoft関連タスクを3つ選びます。たとえば「Azureリソース作成」「Graph API連携」「社内SDKを使った認証実装」などです。次に、現在のCopilotやAIエージェントで同じプロンプトを実行し、古いAPIを使う、MCPを呼ばない、エラー修正が迷走する、といった失敗を記録します。
そのうえで、指示ファイル、MCPツール説明、社内ドキュメント、CLIエラー文を一つずつ改善します。改善後は、同じプロンプトで再実行し、生成コードの正確性、ツール選択、テスト成功率、手戻り回数を比較します。
AIコーディングエージェント対応で重要なのは、派手な新機能を入れることではありません。エージェントが「見つけられる」「選べる」「正しく使える」「失敗しても直せる」状態を作ることです。Microsoftの今回の公式情報は、CopilotやMCPを導入済みの組織にとって、AI活用を実験段階から実務品質へ引き上げるためのチェックポイントになります。

コメント