Copilot スタックを活用して AI ビルドを高速化する
カスタム エージェントとは
カスタム エンジン エージェントはプログラミング可能な Copilot エージェントであり、開発者は、シームレスなユーザー操作のために大規模言語モデル (LLM) の強力な機能を活用するように設計されたオーケストレーション、AI モデル、およびデータ統合を完全に制御できます。 これらの高度なエージェントは、従来のボットからの大幅な逸脱を示し、全体的なユーザー エクスペリエンスを向上させる広範な機能を提供します。 カスタム エンジン エージェントは、LLM テクノロジをコアとして利用し、ユーザー クエリを簡単に理解して応答し、動的でイマーシブな対話を作成できます。 カスタム エンジン エージェントでは、UI 操作、タスク実行、コンテンツ作成などの高度な機能も提供されるため、ワークフローの合理化と生産性の向上に不可欠なツールになります。 開発者にとって、カスタム エンジン エージェントはモデルの選択とオーケストレーションの柔軟性を提供し、既存の Teams ボット開発スキルを活用しながら、すべての Microsoft 365 ユーザーのアクセシビリティを確保できます。 これらのエージェントは、カスタマー サービス、サポート、および情報配信で使用するために非常に適応性が高く、コンテキスト データを活用してユーザー エクスペリエンスを向上させることができます。 Teams 内でシームレスに統合され、チャット、チャネル、会議を通じてユーザーと自然な会話を行い、作業の流れでユーザーに直接会うことができます。
Copilot スタックについて
Microsoft の Copilot スタック は、クラウド インフラストラクチャと AI モデルからオーケストレーション ロジック、拡張性レイヤー、および安全システムまで、Copilot エクスペリエンスを支えるエンドツーエンドのアーキテクチャです。 Microsoft 365 エージェント SDKを使用してカスタム AI エージェントを作成する場合、このスタックの各レイヤー (多くの場合、コンポーネントの調整またはスワップ) を活用して、ビジネス シナリオに適したエージェントを構築します。 以下では、Copilot スタックの主要コンポーネントを分解し、各レイヤーで使用できるツールと開発パス (Azure OpenAI、Teams AI ライブラリ、Copilot Studioなど) など、カスタム エージェント開発との関連について説明します。
Pro-Code パス: Azure OpenAI と Teams AI ライブラリ
開発者が Teams 中心の copilot を構築する場合、このパスでは、LLM をホストするために Azure OpenAI Service を使用し、Teams アプリ内のオーケストレーション用の Teams AI ライブラリを使用します。 選択したモデルを呼び出して意図を処理するコード (VS Code の Microsoft 365 エージェント ツールキットなど) を記述します。 Teams AI ライブラリには、会話型スキャフォールディング、インテント プランナー、メモリ、および Teams プラットフォーム統合が用意されているため、ボットはユーザー プロンプトを解釈してアクションを実行できます。 このアプローチでは、Teams の機能 (メッセージ拡張機能、アダプティブ カードなど) を統合する柔軟性が提供され、Copilot スタックの機能を利用しながら、ロジックをきめ細かく制御できます。 Copilot スタックの主要コンポーネント カスタム copilot を構築するには、Copilot スタックの各レイヤーとその役割を理解することが重要です。 スタックは、次の 3 つの層で視覚化できます。
- バックエンド AI インフラストラクチャとモデル、
- 推論とツールの使用を管理する AI オーケストレーション レイヤー
- エージェントがユーザーと対話するフロントエンド ユーザー エクスペリエンス。
カスタム エージェントは、これらのレイヤーに Microsoft の実装を使用したり、SDK を介してカスタムの実装を導入したりする場合があります。 次のセクションでは、カスタム エージェントに関連する主要なレイヤーを次に示します。
AI インフラストラクチャと基盤モデル (バックエンド)
スタックのベースには、 大規模な言語モデル (LLM) と 、それらをホストするクラウド インフラストラクチャとデータがあります。 Microsoft 365 Copilot では、Azure の AI スーパーコンピューティング インフラストラクチャで実行されているホスト型 GPT ファミリ モデル (GPT-4 など) が使用されます。 これにより、エンタープライズ レベルの信頼性、セキュリティ、コンプライアンスが提供されます (データは転送中と保存時に暗号化され、Microsoft のモデルのトレーニングには使用されません)。 また、コンテンツ フィルタリングと安全システムがモデル レベルでベイクインされていることも意味します。Azure OpenAI Service は、許可されていないコンテンツを含む出力をブロックまたは編集して、AI コンテンツの安全性モデルに対してプロンプトと完了を自動的にチェックします。 カスタム エージェントの場合、このレイヤーにはモデルの選択とデプロイが含まれます。 Azure OpenAI サービスの使用は一般的な方法です。Azure でGPT-4または GPT-3.5 (例: gpt-35-turbo-16k) のデプロイを起動できます。これにより、そのモデルを呼び出すプライベート エンドポイントと API キーが提供されます。 Azure OpenAI を使用すると、"Azure OpenAI on Your Data" 機能 (基本的に拡張生成 (RAG) の取得) を有効にして、ドキュメントの Cognitive Search インデックスまたはベクター データベースをアタッチして、モデルがそのデータで回答を得ることができるようにすることもできます。 または、Microsoft 365 エージェント SDKを使用すると、他のモデル ホストを持ち込むことができます。たとえば、Azure AI Foundry モデルで配線したり、必要に応じてオープンソースの LLM を配線したりして、基盤モデル レイヤーを完全に柔軟性を提供することもできます。 いずれの場合も、カスタム エージェントの品質とスコープはこのレイヤーによって異なります。長いドキュメントのコンテキスト長が大きいモデル、または専門的な知識のドメイン固有のモデルを選択できます。 Microsoft 365 Copilot インフラストラクチャと Azure は、セキュリティで保護された認証 (Entra ID/AAD 経由)、コンプライアンス ログ記録、強力な GPU ハードウェアによるスケーリングなど、ここで重要なサービスも提供しています。
オーケストレーションと推論レイヤー
生のモデルの上に、Copilot のオーケストレーションレイヤーは、LLM を複数ステップのタスクを実行し、ツールを使用できる対話型エージェントに変えるものです。 Microsoft 365 Copilot には、ダイアログを管理するオーケストレーターがあります。モデル システム プロンプトにユーザー コンテキストをフィードし、外部プラグインを呼び出すタイミングを決定し、最終的な回答が生成されるまで計画手順を繰り返します。 カスタム エージェントでは、Microsoft のオーケストレーションに依存するか、独自のオーケストレーションを実装できます。 たとえば、Teams AI ライブラリはボットのオーケストレーション エンジンを提供します。これには、モデルを使用してユーザー入力を解釈し、コード内のアクション ハンドラーまたは関数にマップする組み込みのプランナーがあります。 また、会話の状態とコンテキストがターン間で維持され、ボットのシステム命令とダイアログの例を定義できるため、プロンプト エンジニアリングが簡素化されます。 基本的には、LLM をラップして複雑な操作を可能にする既製のコントローラーです。 Microsoft 365 エージェント SDK (pro-code) を使用すると、SDK の機能拡張ポイントを介してオーケストレーション ループにプラグインしたり、カスタム オーケストレーションに完全に置き換えたりすることもできます。 たとえば、高度なシナリオでは、セマンティック カーネルまたは特注プランナーを使用して、あるエージェントが別のエージェントを呼び出すことができるマルチエージェント システムを調整できます。 Microsoft のアーキテクチャ チャートは、エージェントの "頭脳" を、Knowledge、Skills、Planning/Autonomy、およびこれらを結び付ける Orchestrator などのコンポーネントに分割できることを示しています。 カスタム copilot を開発するときは、その頭脳の量を自分で構築するかを決定します。 多くの開発者は、提供されたプランナー (Teams AI ライブラリなど) から始めて、すぐに使用できる意図処理と関数を呼び出し、必要に応じて拡張します。 重要なのは、オーケストレーション レイヤーは、Copilot のシステム プロンプトと少数の例が表示される場所でもあります。これらは、モデルが指示に従っていることを確認し (例: "X と Y を実行できるアシスタントです")、応答を正しく書式設定します。 Microsoft 365 Copilot プラットフォームでは、既定のシステム プロンプト (コンテンツ ポリシーを含む) が提供されます。SDK を使用すると、これらの手順を拡張または変更してエージェントの動作を形成できます。
次の図は、Copilot Stack の図です。