Slide 1

Slide 1 text

Microsoft Ignite 2024 最新情報! Microsoft 365 Agents SDK 概要 2025/01/25 .NET ラボ 勉強会 2025 年 1 月 篠原 敬志 (@karamem0)

Slide 2

Slide 2 text

自己紹介 篠原 敬志 (Takashi Shinohara) アバナード株式会社 グループ マネージャー, アジャイル コーチ Microsoft MVP for AI Platform (2024-2025) Microsoft MVP M365 (2018-2025) Microsoft Top Partner Engineer Award (2023) JPM365DEV 運営

Slide 3

Slide 3 text

生成 AI のトレンド 生成 AI 元年 チャット会話応答 RAG (検索拡張) マルチ モーダル エージェント New! GPT-3.5 GPT-4 GPT-4V GPT-4o GPT-4o1 2023 2024 2025 汎用的・非自律的 専門的・自律的

Slide 4

Slide 4 text

AI エージェント 生成 AI を利用してユーザーの代わりにさまざまなタスクを自律的に実行する AI エージェントには以下の要素が含まれる • カスタム ナレッジ (プロンプト、RAG) • カスタム スキル (アクション、トリガー、ワークフロー) • 自律性 (計画、学習、エスカレーション) 具体的な AI エージェントの例として以下のようなものが考えられる • 人事エージェント • プロジェクト管理エージェント • 在庫管理エージェント

Slide 5

Slide 5 text

Microsoft Copilot におけるエージェント

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

Microsoft 365 Agents SDK は Microsoft Bot Framework の進化系です

Slide 11

Slide 11 text

Microsoft Bot Framework Azure でチャット ボットをホストするためのフレームワーク マルチ チャネル対応 作成したボットは複数のチャネル (Web、Teams、Slack、LINE など) に展開可能 自然言語理解のサポート 自然言語理解 (LUIS) やカスタム質問応答 (QnA Maker) と連携してユーザーの質問に対し て適切な応答を提供可能 ボットは Azure App Service 上で動作する (ASP.NET Web API) チャネルからボットを呼び出すために Azure AI Bot Service を使用する

Slide 12

Slide 12 text

Microsoft Teams アプリ Microsoft Teams アプリのいくつかは Microsoft Bot Framework を使用している • ボット • メッセージ拡張機能 • 会議アプリ メッセージ拡張機能は Microsoft 365 Copilot のプラグインとしても使用できる

Slide 13

Slide 13 text

Microsoft 365 Agents SDK の変更点 .NET バージョンの変更 ターゲット フレームワークが .NET 6 から .NET 8 に 名前空間の変更 Microsoft.Bot から Microsoft.Agents に 大幅に整理されているため単純な変換はできない MSAL のサポート Microsoft Bot Framework 提供の認証クラスから MSAL ベースの認証に カスタム API を作成して認証をわけるなどカスタマイズの幅が増えた JSON シリアライザーの変更 Newtonsoft.Json から System.Text.Json に

Slide 14

Slide 14 text

Microsoft Bot Framework のアーキテクチャ Various Channels (Web, Teams, Slack, LINE, etc.) AI Bot Service App Service Bot Framework Language Understanding QnA Maker

Slide 15

Slide 15 text

Microsoft 365 Agents SDK のアーキテクチャ Various Channels (Web, Teams, Slack, LINE, etc.) AI Bot Service App Service Microsoft 365 Agents SDK OpenAI Service AI Search Web APIs (Microsoft Graph, SharePoint, etc.)

Slide 16

Slide 16 text

Microsoft 365 Agents SDK 概要

Slide 17

Slide 17 text

No content

Slide 18

Slide 18 text

アクティビティ ユーザーとボットとの対話の最小単位 アクティビティはさまざまな種類や名前があり目的に応じて使い分けられる 文字だけではなく添付を含めることができる (画像やカードなど) アクティビティの種類に対応するイベント ハンドラーがある

Slide 19

Slide 19 text

アクティビティの種類 種類 説明 Message 新しいメッセージ MessageUpdate 既存のメッセージの更新 MessageDelete 既存のメッセージの削除 ConversationUpdate 会話の更新 (メンバーの追加や削除など) MessageReaction メッセージへのリアクション Event イベント Invoke 処理の呼び出し (サインイン、カード応答など) EndOfConversation 会話の終了 Typing 会話の入力中 InstallationUpdate インストールの更新 Command コマンド CommandResult コマンドの結果

Slide 20

Slide 20 text

ターン ユーザーからの入力からボットの応答までの一連の流れ ユーザー入力に対してボット応答は複数になることがある (1:N) ユーザー こんにちは ボット ようこそ! ボット 何かお手伝いできますか? アクティビティ ターン

Slide 21

Slide 21 text

ダイアログ 複数のターンからなる一連の会話の流れ コンポーネント ダイアログ ウォーターフォール ダイアログやプロンプト ダイアログなどの一連の子ダイアログを管理し呼び出 すためのダイアログ ウォーターフォール ダイアログ 一連のステップを定義し線形プロセスを実行するためのダイアログ プロンプト ダイアログ (プロンプト) 数値、日付、名前などの特定の種類の情報をユーザーに要求するダイアログ

Slide 22

Slide 22 text

状態の管理 ボットは Web API であるため本質的にステートレスだが、ボットが会話するためには会話の状態を 管理しておく必要がある ストレージの種類 • インメモリ (開発用途) • Azure Blob Storage • Azure Cosmos DB • カスタム スコープの種類 • ユーザー • 会話 • 個人的な会話 (ユーザーと会話の組み合わせ)

Slide 23

Slide 23 text

セキュリティ ボット認証 • チャネル - AI Bot Service 外部サービス (LINE、Slack など) の場合は各チャネルで提供される資格情報を AI Bot Service に登録することで認証が行われる Direct Line や Web チャットの場合はシークレットを使用するか、シークレットを使って発 行されるトークンを使って認証する • AI Bot Service - App Service Entra ID アプリケーションまたはマネージド ID で認証が行われる ユーザー認証 ボットが Microsoft Graph API などを呼び出す場合は OAuthPrompt を使ってユーザーを 認証する

Slide 24

Slide 24 text

Web チャットと Direct Line Web チャット ボットを Web サイトで使用できるようにするためのライブラリ • JavaScript • React https://github.com/microsoft/BotFramework-WebChat Direct Line デスクトップ アプリケーションなどでボットと会話するための REST API

Slide 25

Slide 25 text

デバッグとテスト ローカルでのデバック Bot Framework Emulator または Dev Tunnels を使用する ユニット テスト Microsoft Bot Framework では DialogTestClient が提供されていたが Microsoft 365 Agents SDK ではまだ提供されていない (互換性はない) サンプルにはコードがあるので自分で持ってくるしかない

Slide 26

Slide 26 text

まとめ

Slide 27

Slide 27 text

まとめ 生成 AI のトレンドはエージェントです Microsoft 365 Agents SDK は Microsoft Bot Framework の進化系です Microsoft 365 Agents SDK はさまざまなチャネルにチャット ベースのエージェントを提供します

Slide 28

Slide 28 text

ご清聴ありがとうございました