Teams Toolkitで始めるTeamsアプリ開発:AIチャットボットを構築するのに適したテンプレートは?
対象読者
- AIチャットボットのUIとしてTeamsアプリを使いたい方
- これからTeams Toolkitを使って開発をしたい方
背景
- 社内でAIを使ったチャットボットを作る際に、UIとしてTeamsアプリを使うことが決まりました
- そこでTeamsアプリ開発をするため、手始めにTeams Toolkitについて調べたことをまとめてみました
Teams Toolkitとは
Visual Studio Codeを使用して、Microsoft Teams、Outlook、Microsoft 365 Copilotのアプリ開発を簡単に開始できる開発キットのことです。
プロジェクト作成時に以下の各テンプレートを選択して開発ができます。
- Agent
- Custom Engine Agent
- Bot
- Tab
- Message Extension
- Office Add-in
Agent
Microsoft Copilot OrchestratorとLLMを使用して宣言型エージェントが作成できます[1]。
ここでいう宣言型エージェントとはMicrosoft Copilot 365の拡張機能で追加するAIエージェントのことです。
Microsoft Copilot OrchestratorはCopilot Studioを使ってローコードで開発することができます。そのため、複雑なコーディングをしなくても迅速に構築することが可能です。
Custom Engine Agent
Teams AIライブラリを使用してチャットボットを構築できます[2]。
初期構成でTeams AIライブラリを含んでいる、よりリッチなボットアプリテンプレートとなっています。
Teams AIライブラリは任意のLLMとの接続をサポートしており、より高度なカスタマイズを施したAIチャットボットの構築が可能です。
Bot
タスクをシームレスに自動化する、魅力的なチャットエクスペリエンスが作成できます[3]。
初期構成ではTeams AIやBot Framework SDKを含んでいない最小構成のボットアプリテンプレートとなっており、単純にテキストを返す応答のみができます。
Tab
独自のWeb コンテンツをTeams、Outlook、Microsoft 365アプリケーションにiframeのようなイメージで埋め込むことができます[4]。
ボットアプリをタブに埋め込めばボットアプリを一応構築できますが、特別にその用途をサポートしているわけではありません。
Message Extension
TeamsやOutlookからその他の操作を実行できます[5]。
その他の操作から以下の図のように、例えばOutlookで共有など様々な操作が可能です。
AIとの対話的なアプローチからユーザーが求める機能を自律的に提供する用途には不向きかと思われます。
Office Add-in
Officeアプリケーションを拡張して、OfficeドキュメントやOutlookアイテムのコンテンツを操作できます[6]。
Excel、Outlook、PowerPoint、Wordの特定の操作の自動化には便利そうですが、対話的なアプローチからExcel、Outlook、PowerPoint、Wordアプリ仕様にとらわれない機能をユーザに提供する用途には不向きかと思われます。
考察 -AIチャットボットを作る際はどれを使うか-
Teams Toolkitを使ってAIチャットボットをつくるうえで有力な候補となるのはAgent、Custom Engine Agentだと思います。
AgentはCopilotに基づいてローコードで迅速に開発できることがメリットです。
Custom Engine AgentはTeams AIを含む充実したプロジェクトテンプレートで独自にカスタマイズした高度な機能のエージェントを実装できることが魅力的です。
一方、Botは初期構成ではユーザからの入力に対して単純に応答するのみのため、AIチャットボットをつくるうえでは不十分な構成かと思います。
その他のプロジェクトテンプレート(Tab、Message Extension、Office Add-in)はAIチャットボットを作る用途で用意されているものではないため、こちらの用途では使わないのが普通かと思います。
以上から社内でAIチャットボットを作る際にAgent、Custom Engine Agentのどちらかを使うか検討しました。その結果、コーディングをしてより高度にカスタマイズした高機能なAIエージェントを作るため、Custom Engine Agentのテンプレートを使用することに決めました。
まとめ
AIエージェントのUIにTeamsアプリを使う際は、Teams ToolkitのAgent、またはCustom Engine Agentを使うのが適しています。
ローコードで迅速に開発を行いたい場合はAgent、コーディングをしてより高度にカスタマイズした高機能なAIエージェントを作る場合はCustom Engine Agentを選ぶのが良いことがわかりました。
Discussion