Microsoft Copilot連載4日目~【機能を理解する】Microsoft 365 Copilotの動作基本

Microsoft Copilotの解説連載4日目となります。

本投稿の概要

本投稿では以下の内容を理解いただくことを目的としております。

  1. Microsoft 365 Copilotの構成要素を理解する
  2. Microsoft 365 Copilotの動作を理解する

Microsoft 365 Copilotの構成要素

まずはMicrosoft 365 Copilotはどのような構成要素で構成されているかを見ていきましょう。

引用元:Microsoft 365 Copilot の概要 | Microsoft Learn

Microsoft 365 Copilotを調べていたら必ず出てくる処理フロー図となります。こちらを元に構成要素を解説していきます。

Microsoft 365 Copilotの構成要素

大きく3つの要素で構成されております。

  1. Microsoft 365 Apps
  2. Microsoft Graph
  3. LLM

構成要素の解説

それでは各構成要素ごとにどのような役割を持つのかを見ていきましょう。

Microsoft 365 Apps

こちらは皆様もご存じの通り、TeamsやOutlook、PowerPointなどのアプリです。こちらがプロンプトの入力を行う入口となります。

Microsoft Graph

Microsoft GraphはMicrosoft 365などのデータへの入り口で、テナント内の様々な情報にアクセスができます。

こちらでアクセスできる組織データがMicrosoft 365 Copilotの大きなポイントであることは3日目でも触れさせていただきましたが、組織データへのアクセスにはMicrosoft Graphが使われています。

Microsoft Graphの詳細な解説は別の記事を参照いただければと思います。

Microsoft Graphの概要と簡単な使い方 - JBS Tech Blog

LLM

最後にLLMです。こちらはGPT-4ベースで作られており、Azure OpenAI上に実装されておりMicrosoftにて管理されています。

そのため、OpenAI社もアクセスはできず、LLMへの学習にも使われないようにMicrosoftが実装しています。

Microsoft 365 Copilotの動作

次にMicrosoft 365 Copilotがどのように動作をしているのかを見ていきましょう。

処理ステップ

処理フロー図には6つのステップで記載されておりますが、それを少し簡単にまとめ以下の5つに分類してみました。

  1. 入力
  2. 前処理
  3. 処理
  4. 後処理
  5. 出力

用語解説

処理ステップを解説する前に、各ステップで登場する用語をまずは解説したいと思います。以下の用語を理解した上で処理ステップを見ていきましょう。

  1. Prompt
  2. Grounding
  3. Semantic Index
  4. Graph
  5. LLM
Prompt

Prompt="情報の入力"となります。

生成AIに対する指示・命令をすることです。

Grounding

Grounding="情報の追加”となります。

LLMは学習データが最新ではないため、このGroundingという処理で情報を追加してあげます。そうすることで、常に最新の情報を元に処理することはもちろん、組織データを元に処理させることも可能となります。

Semantic Index

Semantic Index="文脈理解"となります。

ユーザがどのような意図でPromptをしたのかを理解し、適切な情報を取得するようになります。

Graph

Graph="情報の取得"となります。

SharePoint上にあるファイルやExchangeの予定表などの組織内のデータを情報取得元とすることができ、Graphは組織データへのアクセスの手段となります。

LLM

LLM="情報の処理"となります。

Promptによる入力+Groundingによる情報追加されたインプットを元に動作します。

処理ステップ詳細解説

それでは各処理ステップごとに詳細を見ていきましょう。

入力

まずは"入力"です。こちらはPromptの部分となり、生成AIに対する指示・命令を行う処理です。

プロンプトはユーザがカスタムで入力することも、テンプレートとしてデフォルトで用意されたプロンプトを使うことも可能です。また、入力形式もテキストに加えファイルを利用することが可能です。

Microsoft 365 Chatによる"プロンプトとは何か"に対する回答
前処理

次は"前処理"です。こちらはGrounding、Semantic Index、Graphが関係してきます。

GroundingとはPromptへの情報追加処理のことで、知識が限られたLLMに対してユースケースに合わせた情報を提供することができます。その情報追加処理の際にGraphによる情報取得をするのですが、ユーザのPromptの意図を理解するためのSemantic Indexというものがあります。

引用元:Microsoft 365 Copilot の概要 | Microsoft Learn

Semantic Indexを利用するとユーザの意図を理解して出力してくれます。

上記画像では左側はSemantic Index利用なし、右側はSemantic Index利用ありとなります。左側はキーワードマッチとなり機械的なのですが、右側は組織用語を理解したり、意図を理解してドキュメントを抜粋してくれたりと、人間の脳のような動作をします。

処理

次は"処理"です。ここではPrompt+Groundingにより追加された情報をLLMで処理します。

後処理

次は"後処理"です。先程の前処理と同様Grounding、Semantic Index、Graphが関係してきます。

では、何が異なるのでしょうか。

  • 前処理:Promptの具体性向上
  • 後処理:責任あるAIチェック/セキュリティ・コンプライアンス・プライバシーレビュー

前処理は情報を追加する処理ですが、後処理はLLMで処理された結果のチェックの動作が含まれます。

出力

最後に"出力"です。ここまでの流れで生成された結果をMicrosoft 365 Appsに出力します。

次回予告

次回は”【機能を理解する】Microsoft 365 Copilotの機能一覧_1回目”となります。楽しみにお待ち下さい!

執筆担当者プロフィール
堤 裕一

堤 裕一

Microsoft 365をメインに活動。FY23 Microsoft Top Partner Engineer Award - Modern Work受賞。今はCopilotにわくわく。

担当記事一覧