Microsoft developer platform更新解説:READMEとAIエージェント指示の変更点

2026年5月5日に公開された「Microsoft developer platform documentation update: Update README and instructions for agents」は、アプリの実行仕様やAPIを直接変える更新ではありません。主なポイントは、Microsoft/DiskANN リポジトリで README と AI エージェント向けの作業指示を整備し、GitHub Copilot や coding agent を使った開発・レビューの品質を安定させることです。対象になるのは、DiskANNを参照している開発者、RAG・ベクトル検索基盤の検証担当者、CopilotなどのAI開発支援をチームで使っている管理者です。PRは本稿確認時点で Draft 状態のため、すぐに本番コードを変更するより、まずは「ドキュメント参照先」「AIエージェント設定」「レビュー基準」を確認するのが現実的です。(GitHub)

目次

Microsoft developer platformのドキュメント更新で何が変わったのか

今回の更新は、Microsoft の DiskANN リポジトリに対する Pull Request #1014「Update README and instructions for agents」として確認できます。PRは main ブランチへ5コミットをマージする内容で、2026年5月5日にPRコメントが作成され、その後5月7日にも README や instructions、AGENTS.md に関する追加コミットが入っています。(GitHub)

DiskANNは、検索、レコメンド、RAG、ベクトルDBプラットフォームで使うことを想定したスケーラブルなベクトルインデックスライブラリとして説明されています。READMEでは、DiskANN3 が Provider API を通じて新しいストアやデータベースへ拡張できる構成であること、リアルタイム更新、複数の距離関数・量子化、メモリ階層、フィルター連携などの特徴が整理されています。(GitHub)

つまり、今回の Microsoft developer platform のドキュメント更新は「DiskANNそのものの挙動変更」よりも、開発者とAIエージェントがリポジトリを正しく扱うための運用ルール整備と見るべきです。

変更点の全体像

今回確認すべき変更は、主に5つあります。

変更対象主な変更影響を受ける人まず確認すべきこと
.github/copilot-instructions.mdCopilot向けのコードレビュー指示を追加Copilot Code Review利用者、レビュアーSemVer、依存関係、unsafe、テスト、ライセンスのレビュー基準
.github/instructions.md旧来の簡易レビュー指示を削除既存の自動化・社内手順でこのファイルを参照しているチーム参照先を新しいファイルへ移せるか
AGENTS.md279行のエージェント向けオンボーディングガイドを追加Copilot coding agent、Codex系ツール、AI開発支援の利用者ファイル名の大文字小文字、記載された禁止事項・実行コマンド
README.mdDiskANN3の位置付け、Provider API、機能概要を更新DiskANNを評価・導入する開発者旧C++中心の理解で説明していないか
diskann/README.mdテストベースラインの開発者向け説明を整理テストを書く開発者、レビュー担当DISKANN_TEST=overwrite の扱いと生成ファイルの確認手順

PRの差分では、.github/copilot-instructions.md が65行追加され、.github/instructions.md は11行削除、AGENTS.md は279行追加されています。ファイル一覧にはルートの README.md、旧 agents.mddiskann/README.md も含まれています。(GitHub)

重要度が高いのはAGENTS.mdとCopilot向け指示

今回の更新で特に重要なのは、AGENTS.md.github/copilot-instructions.md です。どちらも人間向けの説明というより、AIコーディングエージェントやAIレビュー機能がリポジトリをどう扱うべきかを示す役割を持ちます。

GitHub公式ドキュメントでは、リポジトリ全体のカスタム指示は .github/copilot-instructions.md で指定でき、パス固有のカスタム指示は .github/instructions/NAME.instructions.md で指定できると説明されています。また、AIエージェント向けの指示として AGENTS.md をリポジトリ内に置けることも案内されています。(GitHub Docs)

GitHubのChangelogでも、Copilot coding agent が AGENTS.md のカスタム指示をサポートし、ルートの AGENTS.md やネストされた AGENTS.md を使えること、加えて .github/copilot-instructions.md.github/instructions/**.instructions.md 形式も引き続きサポートすると説明されています。(The GitHub Blog)

実務上は、次のように使い分けると混乱しにくくなります。

ファイル役割書くべき内容の例
.github/copilot-instructions.mdCopilotやレビュー支援に渡す共通の品質基準SemVer、依存関係、エラー処理、ドキュメント整合性、unsafeコードの扱い
AGENTS.mdAIコーディングエージェントが作業するための実務手順リポジトリ構造、依存関係の境界、テスト実行方法、禁止事項、事前確認コマンド
README.md人間の利用者・評価者向けの概要説明ライブラリの目的、機能、Provider API、利用開始方法
diskann/README.md特定クレートや開発者向け詳細テストベースライン、生成ファイル、比較用ユーティリティ

.github/copilot-instructions.mdで追加されたレビュー観点

新しい .github/copilot-instructions.md では、コードレビュー時に確認すべき観点が具体化されています。特に重要なのは、単なる「テストがあるか」ではなく、API互換性、依存関係、エラー処理、SIMDの移植性、unsafeコードの安全性までレビュー対象に含めている点です。(GitHub)

SemVerとAPI互換性

公開APIのシグネチャ変更、型の削除、re-exportの削除は破壊的変更として扱われます。公開挙動を変える場合は、PR説明に移行影響を書くことも求められています。(GitHub)

たとえば、次のような変更は「軽微な修正」として扱うべきではありません。

// 変更前
pub fn search(query: &[f32], k: usize) -> Result<Vec<Neighbor>, ANNError>

// 変更後
pub fn search(query: &[f32], limit: usize, filter: Filter) -> Result<Vec<Neighbor>, ANNError>

このような変更を入れる場合は、PRに次の情報を明記する必要があります。

  • 既存利用者がどのコードを書き換える必要があるか
  • 互換ラッパーを残すか
  • メジャーバージョン変更が必要か
  • READMEやdoc commentのサンプルも更新したか

依存関係とビルド時間

新しい依存関係を追加する場合は、PR説明で理由を書くことが求められています。これは、AIエージェントが安易に便利なクレートを追加してしまうリスクを抑えるうえで重要です。(GitHub)

特にRustのワークスペースでは、依存関係の追加がビルド時間、CI時間、バイナリサイズ、ライセンス確認に影響します。レビューでは「その依存は本当に必要か」「標準ライブラリや既存依存で代替できないか」を確認すべきです。

エラー処理

回復可能なエラーに対して panic! を追加しないこと、Result で伝播すること、古い log_* 系コンストラクタより ANNError::new(ANNErrorKind::…, e) を優先することが示されています。(GitHub)

失敗しやすいのは、AIが「簡単な実装」として次のようなコードを提案するケースです。

let value = items.first().unwrap();

入力が空になる可能性がある処理なら、これはレビューで止めるべきです。エラー内容に次元数、キー、対象インデックスなどの文脈を含め、デバッグしやすい形にする必要があります。

ドキュメント整合性

doc commentやREADMEの例は、実際のAPIシグネチャやシリアライズ形式と一致している必要があります。古いAPIへの参照や、コンパイルできないサンプルはバグとして扱う方針が示されています。(GitHub)

これはドキュメント更新だから軽い、という意味ではありません。AIエージェントが README の古いサンプルをもとにコードを生成すると、誤ったAPI利用が広がる可能性があります。README、doc comment、サンプルコード、社内ナレッジは同じタイミングで確認するのが安全です。

SIMDとプラットフォーム移植性

SIMDレーン幅を固定的に仮定せず、AVX2、AVX-512、ARM/NEONで正しく動くことが求められています。アーキテクチャ固有のintrinsicsに触れる場合は、diskann-wide/README.md に従ったクロスプラットフォーム検証が必要です。(GitHub)

RAGやベクトル検索基盤では、検証環境はx86、デプロイ先はArm、という構成も珍しくありません。ローカルだけで通った最適化をそのまま入れると、CIや本番で未対応命令により失敗する可能性があります。

unsafeコードの安全性

すべての unsafe ブロックに、具体的で検証可能な // SAFETY: コメントを置くことが求められています。曖昧な「this is safe」のような説明は不十分です。(GitHub)

悪い例は次のようなコメントです。

// SAFETY: this is safe
let value = unsafe { ptr.add(i).read() };

レビューで期待されるのは、次のように安全条件が分かる説明です。

// SAFETY: i + width <= len を事前に検証しているため、読み取りは境界内に収まる。
let value = unsafe { ptr.add(i).read() };

AGENTS.mdで明確になった開発時の境界線

AGENTS.md は、AIエージェントにとってのオンボーディングガイドです。今回追加されたファイルでは、リポジトリ構造、依存関係の階層、変更してはいけないファイル、事前確認が必要な変更、テスト実行方法、エラー処理方針などが整理されています。(GitHub)

特に注目すべきは、「Never」「Ask First」「Always」という判断基準が明確に分かれている点です。

Neverに入っている事項

AGENTS.md では、手作業で変更してはいけないものとして、diskann/tests/generated/ の直接編集、rust-toolchain.toml.github/workflows/.codecov.yml の無断変更、グローバルRayonスレッドプールの使用、rand::thread_rng の使用、既存テストの削除や弱体化、秘密情報のコミットなどが挙げられています。(GitHub)

AIエージェントを使う場合、ここは非常に重要です。エージェントはタスク達成のためにCI設定やテストを変更しようとすることがあります。今回のように「触ってはいけない場所」を明文化しておくと、意図しない変更をレビュー前に減らせます。

Ask Firstに入っている事項

新しいワークスペース依存関係の追加、diskann-* クレートの公開API変更、Tier依存関係ルールの変更、clippy.tomlrustfmt.toml の変更は、事前確認が必要な項目として示されています。(GitHub)

これは、人間の開発者にもそのまま役立つ判断基準です。たとえば「ベンチマーク用に新しいクレートを追加するだけ」と思っても、ワークスペース全体の依存関係やビルド時間に影響するなら、PR説明に理由を入れるべきです。

Alwaysに入っている事項

新しいソースファイルにはMITライセンスヘッダーを含めること、cargo fmt --allcargo clippy --workspace --all-targets -- -Dwarnings を実行すること、関数シグネチャ変更時はdoc commentも更新すること、すべての unsafe ブロックに具体的な // SAFETY: コメントを入れることが示されています。(GitHub)

AIエージェントに作業させる場合は、依頼文の最後に次のような確認を加えると安全です。

変更後にAGENTS.mdのAlways項目を確認し、cargo fmt、cargo clippy、関連テストを実行してください。
公開APIや依存関係を変更した場合は、PR説明に移行影響と理由を記載してください。

README更新から読み取れるDiskANNの位置付け

ルートの README.md では、DiskANN3が「検索、レコメンド、RAG、ベクトルDBプラットフォーム」に向けたベクトルインデックスライブラリであることが明記されています。また、Provider APIを実装することで新しいストアやデータベースに拡張できると説明されています。(GitHub)

これは、外部の開発者がDiskANNを評価するときの読み方にも影響します。従来の「高速なANNライブラリ」という理解だけでなく、既存のデータストアやベクトルDBに組み込むための基盤として見るべきです。

READMEでは、例として次のProvider実装が挙げられています。

Provider読み取れる位置付け
In-memory providerデータベース用途ではなく、実装例・性能比較・検証向け
Disk provider旧DiskANNの性能特性を意識したディスクベース実装
Garnet providerRedis互換の高スループットなスケールアップ検索例
Bf-tree providerデータベース内のB-tree接続例

評価担当者は、READMEを読んだうえで「自社のユースケースはライブラリ利用なのか、Provider実装なのか、既存DBへの組み込みなのか」を切り分けると検証計画を立てやすくなります。

diskann/README.mdで確認すべきテストベースライン

diskann/README.md では、開発者向けにテストベースラインの扱いが説明されています。テスト結果を diskann/tests/generated にJSONとして保存し、通常のテストフローで結果とベースラインを比較する仕組みです。差分が出ると、アルゴリズムの変化や回帰を確認するきっかけになります。(GitHub)

ベースラインを再生成するには、次の環境変数を使います。

DISKANN_TEST=overwrite

ただし、単に上書きして終わりでは不十分です。diskann/README.md では、チェックイン前に diskann/tests/generated を完全に削除してから再生成し、不要なベースラインが残らないようにすることも推奨されています。(GitHub)

実務では、次の流れで確認すると安全です。

手順作業目的
1関連テストを通常実行する既存ベースラインとの差分を確認する
2期待されるアルゴリズム変更か判断する意図しない回帰を見逃さない
3diskann/tests/generated を削除する使われなくなったJSONを残さない
4DISKANN_TEST=overwrite で再生成する新しい期待値を作る
5git diff でJSON差分を見るrecall、距離、件数などの変化をレビューする
6PR説明に差分理由を書くレビュアーが判断できるようにする

影響範囲は「利用者」より「開発・レビュー運用」に大きい

今回の更新は、エンドユーザー向けの利用手順変更というより、開発プロセスへの影響が大きい更新です。PRはDraft状態で、少なくとも2件の承認レビューが必要な状態であることも確認できます。(GitHub)

影響範囲は次のように整理できます。

対象影響度理由
DiskANNをライブラリとして使うだけの利用者API変更そのものではなく、主にドキュメントと開発指示の更新
DiskANNをforkして改修する開発者依存関係、公開API、テスト、unsafe、SIMDのレビュー基準が具体化されたため
GitHub CopilotやAIエージェントを使うチームAGENTS.md.github/copilot-instructions.md により、AIが参照するルールが変わるため
CI/CD管理者Codecov、clippy、nextest、生成ベースラインの扱いを確認する必要があるため
技術ドキュメント担当READMEの説明がDiskANN3とProvider API中心に整理され、社内資料の更新が必要になる可能性があるため

移行・設定確認で見るべきポイント

旧agents.md参照をAGENTS.mdへ見直す

今回の変更では、旧 agents.mdAGENTS.md に移動されたコミットが含まれています。GitHubのファイル一覧でも AGENTS.mdagents.md の両方が差分対象として見えます。(GitHub)

Linuxのような大文字小文字を区別する環境では、agents.mdAGENTS.md は別ファイルです。ローカルでは動いてもCIで参照できない、というミスが起きやすいため、次のコマンドで参照を確認してください。

grep -R "agents.md" -n .
grep -R "AGENTS.md" -n .

社内のAIエージェント設定、プロンプトテンプレート、オンボーディング資料、CIの補助スクリプトで agents.md を直接読んでいる場合は、AGENTS.md へ更新する必要があります。

.github/instructions.mdへの直接依存をやめる

削除対象になっている .github/instructions.md は、旧来の簡易チェックリストでした。内容は、ユニットテスト削除の理由、依存関係追加の妥当性、ビルド時間、ライセンスヘッダーなどに限られていました。(GitHub)

現在のGitHubドキュメントで案内されているパス固有のカスタム指示は .github/instructions/NAME.instructions.md 形式です。.github/instructions.md を社内運用で独自に読んでいる場合は、新しい .github/copilot-instructions.mdAGENTS.md へ寄せるのが安全です。(GitHub Docs)

PRテンプレートに移行影響と依存関係の説明欄を追加する

Copilot向け指示では、公開挙動を変える場合にPR説明で移行影響を説明すること、依存関係追加時に理由を書くことが求められています。(GitHub)

チームで使うPRテンプレートには、次の欄を追加するとレビューが楽になります。

### Migration impact
- Public API changes:
- Behavior changes:
- Compatibility shim or deprecation plan:

### Dependency impact
- New dependencies:
- Reason:
- Build time or binary size impact:

### Validation
- cargo fmt:
- cargo clippy:
- cargo test:
- Baseline regeneration:

AIエージェントがPR本文を自動生成する場合も、このテンプレートを使わせると抜け漏れを減らせます。

Copilot Code Reviewの設定を確認する

GitHub公式ドキュメントでは、Copilot Code Reviewでカスタム命令を使うには、個人設定で利用が有効になっている必要があり、既定では有効とされています。(GitHub Docs)

チームで確認すべきポイントは次の3つです。

確認項目確認理由
.github/copilot-instructions.md がリポジトリに存在するかCopilotがリポジトリ全体の指示を参照できるようにするため
Copilot Code Reviewのカスタム命令利用が有効か追加したレビュー基準が実際のレビューに反映されるため
AGENTS.md と内容が矛盾していないかAIエージェントが相反する指示を受けないようにするため

Codecovの警告は最終確認が必要

PR上のCodecovコメントでは、変更されたcoverable linesはすべてテストでカバーされていること、プロジェクトカバレッジが89.47%であることが示されています。一方で、レポートがmainより15コミット遅れているという警告も表示されています。(GitHub)

ドキュメント中心のPRであっても、最終マージ前には最新mainに追従した状態でCIとカバレッジを確認するのが安全です。特にAIエージェント向け指示はCI設定やテストの扱いに影響するため、PRがDraftからReady for reviewへ移るタイミングで再確認しましょう。

実務で起きやすい失敗と対策

失敗しやすいポイント起きる問題対策
agents.md のまま参照しているCIやAIツールが新しい AGENTS.md を読めない大文字小文字を含めて参照先を検索・修正する
READMEだけを更新してdoc commentを放置するAIや利用者が古いAPI例を使うAPI変更時はREADME、doc comment、サンプルを同時に更新する
依存関係をAIが勝手に追加するビルド時間やライセンス確認が増えるPR説明に追加理由を必須化する
テストベースラインを手編集する回帰検知の信頼性が落ちるDISKANN_TEST=overwrite で再生成し、JSON差分をレビューする
unsafe コメントが抽象的レビューで安全条件を検証できない境界、アライメント、非null、初期化済みなど具体条件を書く
x86だけでSIMDを確認するArmやAVX非対応環境で失敗するAVX-512、Aarch64、x86-64基本環境を意識して検証する

自分のリポジトリにも応用するなら

今回の更新は、DiskANNだけでなく、AIコーディングエージェントを使う多くの開発チームに応用できます。特に、AIがコードを書くだけでなくPR作成、レビュー、テスト修正まで関わる場合、ルールをチャットで毎回説明する運用は破綻しやすくなります。

自社リポジトリで導入するなら、まず次の3点だけでも整備すると効果があります。

## Repository boundaries
- Do not modify generated files by hand.
- Do not change CI workflows without approval.
- Do not add dependencies without explaining the reason.

## Required checks
- Run formatter.
- Run linter.
- Run relevant tests.
- Update documentation when public APIs change.

## Review focus
- Public API compatibility.
- Error handling.
- Security and secrets.
- Unsafe or platform-specific code.

ポイントは、AIに「いい感じに直して」と依頼するのではなく、どこまで触ってよいか、何を実行すべきか、何を書き残すべきかをリポジトリ内に固定することです。今回のDiskANN更新は、その実例として参考になります。

次に取るべき行動

今回の Microsoft developer platform documentation update を受けて、まずやるべきことはコード修正ではなく確認です。DiskANNを参照している場合は、PRがDraftであることを前提に、マージ状況を確認したうえでREADMEと AGENTS.md の内容を読み直してください。AIエージェントやCopilotを使っているチームは、.github/copilot-instructions.mdAGENTS.md、旧 .github/instructions.md の参照有無を確認し、レビュー基準やPRテンプレートに反映するのが安全です。

特に、公開API、依存関係、テストベースライン、unsafeコード、SIMD、Rayonの扱いは、AIが変更しやすく、人間が見落としやすい領域です。今回の更新を「ドキュメント変更」と軽く見ず、AIを開発プロセスに組み込むためのガードレールとして点検しましょう。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次