.NET のエコシステムからは、AI アプリケーションを開発するための強力なツール、ライブラリ、サービスが多数提供されています。 .NET では、クラウドとローカルの両方の AI モデル接続に加えて、AI とベクトル データベースの多数のサービスの SDK や、その他のツールがサポートされているため、さまざまなスコープと複雑さのインテリジェント アプリを構築できます。
使用するツールを決定する
次の表では、さまざまな目的に基づいて使用するテクノロジを推奨しています。
| 目標 | 使用するテクノロジ |
|---|---|
| アプリに AI の動作を追加する | Microsoft.Extensions.AI ライブラリ (MEAI) を使用します。 測定する価値のあるものができたら、評価を追加します。 |
| 独自のデータを操作する | Microsoft.Extensions.DataIngestion (MEDI) を使用して、コンテンツの読み取り、チャンク化、またはエンリッチを行います。 次に、Microsoft.Extensions.VectorData (MEVD) を使用してベクターを格納および取得します。 |
| AI クライアント間で機能を共有または使用する | MCP サーバーを使用して機能を公開するか、MCP クライアントを使用してそれらを利用します。 |
| エージェント システムを構築する | 既製のハーネスには Copilot SDK を使用し、マルチステップの目標の追求、ルーティング、またはハンドオフには Microsoft Agent Framework を使用します。 |
| ホスティングモデルまたは実行モデルを選択する | マネージド クラウドの場合は Azure AI Foundry、ローカル優先またはプライバシーに依存する実行には Foundry Local、分散マルチサービス システムの場合は Aspire を使用します。 |
| 開発者ワークフローを改善する | AI Toolkit を使用します。 |
ほとんどの運用 AI アプリケーションでは、いくつかのコンポーネントが組み合わせられます。
- チャットまたは要約アプリ: MEAI + 評価
- RAG アプリケーション: MEDI + MEVD + MEAI
- マルチエージェント システム: MEAI + MAF + Aspire
- ツールの相互運用性: MEAI + MCP サーバー + MCP クライアント
- エンタープライズ クラウド アプリ: MEAI + Azure AI Foundry + Aspire
- ローカル優先アプリ: MEAI + Foundry Local + AI Toolkit (開発)
すぐに選択するには、次の実用的なルールを使用します。
- ほとんどのアプリ レベルの AI 機能については、
Microsoft.Extensions.AIから始めます。 - 独自のデータに基づいて応答する際は、
Microsoft.Extensions.DataIngestionとMicrosoft.Extensions.VectorDataを追加してください。 - プロセスまたは製品の境界を越えて機能を共有する必要がある場合は、MCP を使用します。
- 1 ステップのプロンプトが複数ステップのワークフローになったときに、Agent Framework に移動します。
- 動作が評価対象として十分に有用になり、回帰を防ぐ必要が出てきたら、評価を追加します。
Microsoft.Extensions.AI ライブラリ
Microsoft.Extensions.AI は、小規模および大規模言語モデル (SMM と LLM)、埋め込み、ミドルウェアなど、AI サービスと対話するための C# 抽象化の統一されたレイヤーを提供する一連のコア .NET ライブラリです。 これらの API は、.NET エコシステム全体の開発者と共同で作成されました。
IChatClientやIEmbeddingGenerator<TInput,TEmbedding>などの低レベル API はセマンティック カーネルから抽出され、Microsoft.Extensions.AI名前空間に移動されました。
Microsoft.Extensions.AI は、同じコア概念に従って、さまざまなサービスによって実装できる抽象化を提供します。 このライブラリは、特定のプロバイダーのサービスに合わせて調整された API を提供するためのものではありません。
Microsoft.Extensions.AIの目的は、.NET エコシステム内の統一レイヤーとして機能し、開発者が好みのフレームワークとライブラリを選択できるようにすることで、エコシステム全体のシームレスな統合とコラボレーションを保証することです。
MEAI を使用すると、.NET開発者はモデルの対話のためのクリーンな抽象化を使用できます。 これは、依存関係の挿入、構成、および既存のアプリ アーキテクチャに自然に適合し、AI 対応の.NET アプリケーションの通常の最初のレイヤーです。
MEAI だけではエージェント フレームワークではありません。 一発通話、チャット機能、またはツール呼び出しループは、"エージェント" にならずに MEAI を使用して構築できます。システムで目標指向のマルチステップ オーケストレーションが必要な場合は、代わりに MAF を 使用します。
詳細については、「Microsoft.Extensions.AI の概要を参照してください。
評価ライブラリ
Microsoft。Extensions.AI.Evaluation ライブラリ は、.NET AI スタックを使用して構築された AI 機能の品質と回帰レイヤーです。 AI の動作は、プロンプト、モデル、ツールの進化に伴ってすぐに変化します。 評価ライブラリを使用すると、出力を比較して回帰をキャッチする反復可能な方法がチームに提供されます。
詳細については、Microsoft.Extensions.AI.Evaluation ライブラリを参照してください。
Microsoft.Extensions.DataIngestion (MEDI)
Microsoft。Extensions.DataIngestion は、.NETの AI 対応データのインジェストと準備レイヤーです。
多くの AI アプリは、データが乱雑、特大、または構造化が不十分であるため、取得前に失敗します。 インジェストの品質は、ダウンストリームの回答の品質に強く影響します。 MEDI は、MEVD または別のストアが後でクエリするデータを準備し、整形します。
詳細については、「 AI アプリのデータ インジェスト」を参照してください。
Microsoft.Extensions.VectorData (MEVD)
Microsoft。Extensions.VectorData は、.NET AI アプリでのセマンティック検索、類似性検索、およびグラウンド処理のためのベクター データストレージと取得レイヤーです。
MEVD は、.NET アプリケーションにベクター ストアを操作するための一貫した方法を提供し、ベクターストレージと取得の問題をモデル呼び出しの問題から分離するのに役立ちます。
詳細については、「 ベクター ストアの概要」を参照してください。
MCP サーバー
MCP サーバーは、モデル コンテキスト プロトコルを介してツール、リソース、プロンプトなどの機能を公開するため、他のアシスタント、IDE、およびエージェントは、標準プロトコルを介してそれらを検出して使用できます。
MCP サーバーは、アプリの機能を再利用可能な AI に接続するエンドポイントに変換します。 これにより、アシスタント間で重複するツール統合作業が削減され、機能プロバイダーと機能コンシューマーの間によりクリーンな境界が作成されます。
MCP サーバーは 公開 機能に関するものです。 機能が 1 つのアプリ内でのみ使用される場合、通常のインプロセス関数呼び出しは簡単です。
MCP クライアント
MCP クライアントは、プロトコルのコンシューマー側です。MCP サーバーに接続し、公開されている機能をアプリ、アシスタント、またはエージェント ランタイムに取り込みます。
MCP クライアントは、機能 を使用すること ではなく、機能を使用することです。 アプリに必要なものがすべてローカルでインプロセスの場合、通常の関数またはツールの呼び出しは引き続き簡単です。
詳細については、「 MCP の使用を開始する」を参照してください。
Microsoft Agent Framework (MAF)
Microsoft Agent Framework は、真にエージェント的なシステムのオーケストレーションレイヤーです。複数のステップにわたって目標を追求し、その過程で意思決定を行い、ツールを使用し、複数のエージェントを調整する可能性があります。
すべての AI 機能に MAF が必要なわけではありません。 直接 MEAI 呼び出しまたは単純なツール呼び出しループによって問題が解決される場合は、より単純なアプローチを使用します。 MAF は、モデル アクセスだけでなく、オーケストレーションの複雑さが本当の課題である場合に重要です。
詳細については、「Microsoft Agent Framework の概要を参照してください。
AI ツールキット
AI Toolkit は、モデル、プロンプト、エージェント、評価の実験を高速化する、AI 開発用の VS Code 拡張機能パックです。
AI Toolkit は、運用アプリのコア ランタイム アーキテクチャではありません。 MEAI、Evaluations、Foundry Local を補完します。
詳細については、「AI Toolkit for Visual Studio Codeを参照してください。
Copilot SDK
Copilot SDK は、ツール、コンテキスト、自動ツールの呼び出しをすぐに利用できる事前構築済みのエージェント ハーネスとランタイムです。
Copilot SDK は MEAI よりも設計方針が強く定められており、必要な設定や連携があらかじめ組み込まれています。 完全にカスタムのアプリ アーキテクチャを目標とする場合は、直接 MEAI または MAF コンポジションの方が適している可能性があります。
詳細については、Copilot SDK リポジトリを参照してください。
Azure AI Foundry
Azure AI Foundryは、エンタープライズ AI ソリューション用のマネージド クラウド プラットフォーム レイヤーであり、モデル管理とホステッド エージェントの 2 つの主要な機能があります。
Azure AI Foundryは、アプリ向けのプログラミング抽象化ではありません。MEAI は、.NETコードで引き続きその役割を果たします。 本当の問いが、モデルがどこで実行され、どのような管理の下に置かれるのかということであれば、Azure AI Foundryが適切な選択肢となります。
詳細については、Azure AI Foundryドキュメントを参照してください。
ファウンドリー・ローカル
Foundry Local は、AI ワークロードをコンピューターまたは環境の近くに保つ必要があるチーム向けのローカル開発およびローカル優先デプロイ オプションです。
Foundry Local は、上位レベルのアプリ アーキテクチャ自体ではなく、開発とデプロイのパスに関するものです。 ローカルからクラウドへの移行はクリーンな 1 対 1 の移動ではないので、機能、ホスティング モデル、操作の違いを期待してください。
詳細については、 Foundry Local のドキュメントを参照してください。
Aspire
Aspire は、複数のサービスにまたがる AI システムを含む分散.NET アプリケーションのオーケストレーション、サービス配線、および可観測レイヤーです。
AIシステムは、検索、ツール、ゲートウェイ、ワーカーサービスが組み合わさると、多くの場合、もはや「単なる1つのアプリ」ではなくなります。 Aspire は、チームがそれらの部分を理解し、観察しやすくするのに役立ち、ビジュアルを使用すると、サービス間の AI フローを追跡しやすくなります。
Aspire は、具体的には AI ランタイムではありません。これは、その周囲のマルチサービス アプリケーション レイヤーです。 MEAI、MAF、またはAzure AI Foundryは置き換えられません。
詳細については、Aspire ドキュメントを参照してください。
.NET