関連するソリューション
業務改革
AI
AIスマートソリューション部
テクニカルスペシャリスト
松尾 大輔 
こんにちは。AIスマートソリューション部テクニカルスペシャリストの松尾です。
今や業務のあらゆるところに生成AIが用いられる時代となりました。以前は、AIエンジニアがLangChain等のフレームワークを用いて、スクラッチ開発することが多かったのですが、現在はローコードツールを用いることによって、非エンジニアの方でも簡単にアプリを作成できます。そこで今回は、生成AIアプリを作成するために使用される著名なローコードツールについて比較を行ってみます。比較対象は以下の3つのツールとなります。
- Copilot Studio
- Dify
- n8n
作成するアプリ
問合せ対応を行うチャットボットを作成してみます。イメージ図のように、Excelファイルで管理している過去の問合せ履歴をナレッジベース(RAG)に登録します。これによって、チャットボットは過去の問合せ履歴に基づいた回答ができるようになります。
過去の問合せ履歴は、以下のようなExcelファイルとなります(生成AIを用いて作成したダミー内容)。
Copilot Studio
まずはCopilot Studioから作成していきましょう。Copilot Studioの契約がある場合は、以下のURLからアクセスできます。https://copilotstudio.microsoft.com/
Copilot Studioの特徴は、なんといってもAIアプリの作成そのものを自然言語を用いて開始できることです。

「構成」タブに切り替えることによって、自然言語で指示した内容がどういう設定となっているか確認することができます。システムプロンプトに相当する「指示」も、生成AIがいい感じに考えてくれています。ナレッジを追加する場合は、「ナレッジを追加」をクリックします。

ナレッジは、ファイルをアップロードするだけでなく、SharePointを始めとした各種Microsoft製品や他社製品のデータも登録できます(今回は、「ファイルをアップロードする」の部分に、Excelファイルをアップロードしています)。

アプリを公開する際は、「チャネル」から設定を行います。Teamsを始めとしたMicrosoft製品を公開先基盤として使用できることが大きな特徴ですね。

Teamsに公開して実行してみました。

なお、Copilot Studioは、Power Platformの1つであるため、Power Automateのトリガーやアクションを用いてさらなる自動化を行うことができます。左側のメニューから「フロー」を選択して、Power Automateと同様の操作感でフローを作成することができます。下のスクリーンショットは、「SharePointに問合せ内容が記載されたファイルがアップロードされたら、チャットボットが回答して、その内容をメールで送信する」というフローとなります。

実際に、こちらの内容でメールを受信することができました。

このように、他のPower Platform製品と組み合わせて、様々な自動化処理を実現できるのが、Copilot Studioの利点となります。
Dify
次にDifyで作成してみます。Difyの特徴は、ユーザーインターフェースが分かりやすいことだと思っています。Difyにはクラウド版とセルフホスティング版がありますが、セキュリティやガバナンスは自社で管理するというシチュエーションが多いかと思いますので、セルフホスティング版で実装します。セルフホスティング版は、以下のGitHubレポジトリを参考にしてDocker環境上に構築します。
https://github.com/langgenius/dify
ナレッジ登録は、Dify備え付けのベクトルデータベースを使用します。

アプリ自体は「開始、知識検索(これがRAGの機能)、LLM、回答」の4つのモジュールを繋ぐだけで完成します。

アプリの公開は、備え付けのWebインターフェースを使用することになります。

外部との連携は、Dify上のマーケットプレイスから各社製品のプラグインを入手して、フロー上で連携することもできますが、アプリ自体をAPIとして公開して、既存のシステムと連携させることができます。

なお、Difyの詳細な使い方につきましては、以下のコラムでも解説していますので、併せてご確認いただければと思います。
ナレッジ - コラム > 自分専用のAIチャットを作ってみよう
n8n
最後はn8nとなります。こちらもDifyと同様にセルフホスティング版を使用します。以下のサイトを参考に、Docker上で動くようにしています。https://docs.n8n.io/hosting/installation/server-setups/docker-compose/
ただし、上記サイトの手順をそのまま実施すると、traefik(リバースプロキシ)が独自ドメインのTLS証明書(Let’s Encrypt)を自動取得してしまいます。今回はローカル環境で実行したいので、compose.yamlファイルは以下の通りに変更しています。
services:
traefik:
image: "traefik"
restart: always
command:
- "--api.insecure=true"
- "--providers.docker=true"
- "--providers.docker.exposedbydefault=false"
- "--entrypoints.web.address=:80"
ports:
- "80:80"
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
n8n:
image: docker.n8n.io/n8nio/n8n
restart: always
ports:
- "127.0.0.1:5678:5678"
labels:
- traefik.enable=true
- traefik.http.routers.n8n.rule=PathPrefix(`/`)
- traefik.http.routers.n8n.entrypoints=web
- traefik.http.services.n8n.loadbalancer.server.port=5678
environment:
- N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true
- N8N_HOST=0.0.0.0
- N8N_PORT=5678
- N8N_PROTOCOL=http
- N8N_RUNNERS_ENABLED=true
- NODE_ENV=production
- WEBHOOK_URL=http://localhost/
- GENERIC_TIMEZONE=${GENERIC_TIMEZONE}
- TZ=${GENERIC_TIMEZONE}
volumes:
- n8n_data:/home/node/.n8n
- ./local-files:/files
volumes:
n8n_data:
以下は、ワークフローの作成画面です。他のツールに比べて、こちらはITエンジニア向けのツールという印象を受けました。RAGを用いたチャットボットにおいては、既に用意されているテンプレートを使用できます。

使用したテンプレート:RAG Starter Template using Simple Vector Stores, Form trigger and OpenAI
https://n8n.io/workflows/5010-rag-starter-template-using-simple-vector-stores-form-trigger-and-openai/
こちらのテンプレートでは、1つのワークフローで、RAGのナレッジを追加するワークフロー(左側)とチャットボットのワークフロー(右側)を定義しています。
ナレッジの登録には左側(Load Data Flow)のワークフローを実行します。ワークフローの実行にはトリガーを定義する必要があり、こちらは「On form submission」というトリガーになります。つまり、フォームへの入力をトリガーとして、ワークフローの後続処理が実行されるというものです。

このように、ワークフローを実行すると、フォーム画面が表示されます。
チャットボットの実行には、右側(Retriever Flow)のワークフローを実行します。こちらは「On chat message」というトリガーになります。つまり、チャットの入力をトリガーとしてワークフローの後続処理が実行されます。

IDEライクにエディタ上でチャットを実行できますし、(必要最低限の)専用チャット画面も用意されています。

n8nは「ワークフロー実行ツール」が本体であり、チャット画面はあくまで「トリガー用UI」という位置付けであるため、本格的なUIは自前で用意することになりそうです。今回は検証できませんでしたが、トリガーやアクションも数えきれない量(トリガーの例:Chatだけではなくて、Webhook、スケジュール、メール(IMAP)等、膨大)があるので、環境を選ばずに生成AIを用いた自動化ができることがメリットだと思います。
まとめ
以上、3つのツールを試してみました。最後に、(私の主観も入りますが)それぞれのツールを表にまとめて比較してみました(これが100%正しい訳ではないことをご了承ください)。| 比較項目 (優位性判断軸) |
Copilot Studio (※1) |
Dify |
n8n |
優位 |
|---|---|---|---|---|
| AI機能の柔軟性 (マルチモデル) |
△ Microsoft 365 Copilot(OpenAI) 中心 |
◎ 主要モデルは使用可能(API登録が必要) |
◎ 主要モデルは使用可能(API登録が必要 |
Dify / n8n |
| AIアプリ開発のスピード |
○ AIは使えるが特化UIではない |
◎ AI特化UI |
△ AI特化UIはなくフロー構築が必要 | Dify |
| RAG (社内文書 × AI) |
○ SharePoint等をRAGに利用可能。ただし、SharePointサイトなどの設計が必要 |
◎ アップロード→即RAG。自動チャンク/自動インデックス |
△組み込みのベクターストアを使用可能。精度向上のためには、Pineconeなどを自前で用意する必要あり? |
Dify(簡易さで優位) |
| 業務アプリ開発の総合力 |
◎ 業務アプリの本命(M365との統合) |
〇 AI特化。複雑な業務アプリは弱い |
〇複雑な業務アプリ作成可能。UIは自前で用意する必要あり |
Copilot Studio |
| 既存業務システムとの連携 (コネクタ) |
◎ 1,000+ (※2) | △ 少なめ |
○ 多い |
Copilot Studio |
| Microsoft 365 連携 | ◎ ネイティブ統合 | △ 今後のプラグインに期待 | ○ Graph APIで連携は可能 |
Copilot Studio |
| ガバナンス・管理 | ◎ Entra ID・DLPなど盤石 | ○ Enterprise版で強化可 |
△ OSS中心で統制機能は弱め |
Copilot Studio |
| セキュリティ要件対応 |
◎ Microsoftクラウドの標準機能 |
◎ オンプレ/閉域対応(完全自社管理) |
◎ オンプレ/閉域対応(完全自社管理) |
用途による(オンプレ=Dify/n8n) |
| 導入コスト (ライセンス) |
△ 有償ライセンス(高め)M365 Copilot (+ Copilot Studio) |
◎ OSSでほぼ無料〜安価(LLMのAPI契約必要) |
◎ OSSでほぼ無料〜安価(LLMのAPI契約必要) |
Dify / n8n |
| 運用コスト (保守・インフラ) |
◎ SaaS完全管理 | △ 自社運用なら負荷大 |
△ 自社運用なら負荷大 | Dify / n8n |
| 大規模展開のしやすさ | ◎ 大規模導入実績多数 |
○ 工夫すれば可能 |
△ OSSとしては中規模向け | Copilot Studio |
| スキル習得難易度 |
◎ Office的UIで習得しやすい |
◎ Office的UIで習得しやすい |
△ フロー構築の理解が必要(技術寄り) | Copilot Studio / Dify |
| AIチャットボットの高度化 |
○ Copilot Studioで可 | ◎ RAG/ツール実行/エージェント が強力 | △ 可能だがUIが必要最低限 | Dify |
| 業務自動化(RPA/ワークフロー) |
◎ Power Automateが強力 | △ AI中心で弱い |
◎ iPaaS特化で強い |
Copilot Studio / n8n |
| OSSとしての自由度 | × クローズド |
◎ 完全カスタマイズ可能 | ◎ 完全カスタマイズ可能 |
Dify / n8n |
| ローカル/閉域運用 |
× M365依存 |
◎セルフホスティング | ◎セルフホスティング |
Dify / n8n |
(※2) https://www.microsoft.com/en-us/power-platform/blog/2023/05/11/microsoft-power-platform-celebrates-1000-certified-connectors/
最後に、弊社では、生成AIの導入支援や各種研修も行っております。ご興味がありましたら、お問い合わせいただけますと幸いです。
ソリューション - AIソリューション
研修 - ゼロから始めるDify研修
研修 - AIリテラシー教育研修
以上、最後までお読みいただき、ありがとうございました。
当サイトの内容、テキスト、画像等の転載・転記・使用する場合は問い合わせよりご連絡下さい。
エンジニアによるコラムやIDグループからのお知らせなどを
メルマガでお届けしています。
