【Dify】Lesson6-1:ツールとプラグインの役割と違い・使い分け【外部連携入門】

ながみえ

これまでのレッスンで、Difyで「アプリの形にする」「ワークフローで流れを作る」「RAGでナレッジ検索をする」といった土台はだいぶ整ってきました。

Lesson6ではそこから一歩進んで、Slackに通知したり、スプレッドシートに書き込んだり、社内システムとつないだりといった “外部連携” が主役になります。

その入口になるのが「ツール」と「プラグイン」です。

最初は混乱しやすいのですが、ここで一度きれいに整理しておくと、以降の連携開発がかなりスムーズになります。

Lesson1:Dify入門|環境構築と最初の生成AIアプリ開発
Lesson2:まずは体験|基本的なアプリを作ろう
Lesson3:文章業務を自動化するアプリを開発しよう
Lesson4:ファイル処理で広がるDifyアプリ開発
Lesson5:RAG実践|ナレッジ検索アプリを作ろう
Lesson6:機能拡張と外部システム連携|ツールを使いこなそう
 ・Lesson6-1:ツールとプラグインの違い・使い分け入門 ◁今回はここ
 ・Lesson6-2:
 ・Lesson6-3:
Lesson7:総仕上げ|実践投入への準備

<<前のページ

Difyの記事一覧

次のページ>>

ツールとプラグインの役割と違いを一発整理

ツールは、Difyアプリが外部サービスに対して「実際の作業」をさせるための機能です。

たとえば「Slackにメッセージを送る」「スプレッドシートに追記する」「検索して結果を取ってくる」など、アプリが何か行動するときの呼び出し先だと思うとイメージしやすいです。

一方のプラグインは、そうした機能(ツールなど)をワークスペースに追加して、使える状態にする仕組みです。

アプリの中で使う前段階として「この連携を使えるようにする」「チームで共通利用できるようにする」役割を担います。

つまり、プラグインは “追加して整える側” 、ツールは “実際に動かす側” という関係になりやすいです。

この感覚を持ったうえで、違いを表で整理していきます。

観点ツールプラグイン
役割AIに“実際の作業”をさせる機能機能をワークスペースに追加・管理する仕組み
使うタイミングアプリの会話中やワークフロー実行中に呼び出すまず最初にインストールして使える状態にする
触る場所のイメージアプリ側(ワークフロー/エージェント等)で「どのツールをどう呼ぶか」を組むワークスペース側で「どの拡張を入れるか」を管理する
具体例Web検索、Notionに保存、Google Sheetsに追記、Slack通知などSlack連携を追加する拡張、特定ツール群をまとめて追加する拡張など
ありがちな勘違い「入れたのに動かない」→ 呼び出し手順が未設定「ツールと同じ意味?」→ ツールを“提供する”プラグインが多いだけ

ここで大事なのは、プラグインは “使えるようにする” までで、実際に仕事をさせるのはツールという点です。

たとえば「Slackのプラグインを入れた」だけでは、アプリが勝手に通知してくれるわけではありません。

ワークフローやエージェントの中で「このタイミングでSlackに送る」という形で、ツール呼び出しを組み込んで初めて動きます。

ツールとは|役割と使い方

ツールを使えるようになると、たとえば「検索して結果を持ってくる」「スプレッドシートに追記する」「チャットに通知する」みたいな “手を動かす作業” をアプリの中に組み込めます。

この章では、ツールを扱う流れを「導入(使える状態にする)」と「使い方(アプリから呼ぶ)」の2段階に分けて整理します。

ここが分かると、次の記事以降の外部連携がかなり楽になります。

ツールの導入:まずは使える状態にする

ツールは、アプリを作る画面でいきなり使うというより、先にワークスペース側で「使える状態」にしておくのが基本です。

といっても、プログラミングが必要になることは多くありません。

多くのケースでは、連携機能がまとまったものを追加して、必要な設定だけ入れれば準備できます。

導入の流れはだいたい次のようになります。

  • 使いたい連携(例:Slack、Google Sheets、Notionなど)をワークスペースに追加する
  • APIキーなど、認証情報が必要なら登録する
  • ツール一覧にそのツールが表示されることを確認する

ここで大事なのは、「認証情報の設定」と「アプリの作成」は別物だという点です。

認証情報は “ツールが外部にアクセスするための鍵” なので、アプリの見た目やプロンプトとは独立して管理されます。

逆に言うと、鍵が未設定のままアプリ側でツールを呼ぼうとしても、当然うまく動きません。

ツールの使い方:ワークフローで呼び出すのが一番わかりやすい

ツールを呼ぶ方法はいくつかありますが、理解しやすくて再現性が高いのは「ワークフローの中にツール呼び出しの工程を置く」やり方です。

これまでのレッスンでワークフローに慣れてきた読者ほど、この方式が一番しっくり来るはずです。

ざっくり言うと、ワークフローの途中に「ツールを実行する工程」を差し込むイメージです。よくある形は次の通りです。

  • LLMノードで「ツールに渡す入力」を整える(例:送信する文章、検索キーワードなど)
  • ツールノードで外部サービスを呼び出す
  • ツールの戻り値(成功/失敗、取得データなど)を使って、次のノードで返答を作る

たとえば「ユーザーの依頼文を整えてSlackへ通知する」なら、LLMで通知文を作ってからSlack送信ツールを呼び、最後に「送信しました」と返す、という流れになります。

ポイントは、ツールに渡す値を“その場で打ち込む”のではなく、前のノードから受け取った変数をつないで渡すことです。

ここができると、アプリが入力に応じて自然に動くようになります。

エージェントで使う場合:AIに「いつ呼ぶか」を任せられる

もうひとつの使い方が、エージェントにツールを持たせて「必要なら使っていいよ」という形にする方法です。

ワークフローのように手順を固定しなくても、エージェントが状況に応じてツールを選んで実行します。

ただし、初心者のうちは “便利そう” だけで何でも任せると挙動が読めなくなりがちです。

エージェントでツールを使うときは、次のような考え方が安全です。

  • 使わせるツールは最小限に絞る(いきなり大量に渡さない)
  • 「どんなときに使うか」を指示文で明確にする
  • 重要な操作(書き込みや送信など)は、実行前に確認するルールにする

「まずはワークフローで確実に動かす」→「慣れたらエージェントで柔軟にする」の順番にすると、つまずきにくいです。

プラグインとは|役割と導入方法

ツールが「実際に作業をしてくれる機能」だとすると、プラグインはそれらをワークスペースに追加して、使える状態に整えるための仕組みです。

外部連携を増やしていくと、プラグインは「必要な連携を素早く追加して、チームや複数アプリで再利用するための土台」になってきます。

ここでは、プラグインを「入れる → 設定する → アプリで使う」という実務寄りの順番で押さえます。

プラグインの導入:Marketplaceから追加する流れ

プラグインはワークスペースのプラグイン画面から追加します。

  1. ワークスペースのメニューから「Plugins(プラグイン)」を開く
  2. Marketplace(マーケット)で目的のプラグインを探す
  3. Install(インストール)してワークスペースに追加する
  4. インストール済み一覧に表示されることを確認する

探すコツは「目的から逆算する」ことです。

たとえば「Slack通知をしたい」ならSlack系、「スプレッドシートに書きたい」ならSheets系、という感じで探すと迷いません。

認証情報の設定:鍵がないと“入れただけ”で終わる

プラグインを入れた直後に一番起きやすいのが、「追加できたのに、アプリから使えない」という状態です。

原因の多くは、認証情報(APIキーなど)が未設定なことです。

設定が必要な場合は、だいたい次のような情報を求められます。

  • APIキー、アクセストークンなどの認証情報
  • 接続先のURL(社内システム連携などで必要なことがあります)
  • 利用する権限やスコープ(読み取りだけか、書き込みもするかなど)

ここは“作業”というより“運用”の話に近いので、可能なら「誰のキーで動かすか」もセットで決めておくと後で困りません。

個人のキーで作ってしまうと、異動や退職、権限変更で急に止まることがあります。

まとめ:プラグインで追加し、ツールで動かす

ツールとプラグイン入門として押さえたいのは、「何を追加して」「どこで動かすのか」の切り分けでした。

ここが整理できると、外部連携を増やすときに迷いが減ります。

改めてポイントだけ短くまとめると、次の通りです。

  • プラグインは、連携機能(ツールなど)をワークスペースに追加して“使える状態にする”もの
  • ツールは、アプリの実行中に呼び出して“実際の作業をさせる”もの
  • 「プラグインを入れた=自動で動く」ではなく、ワークフローやエージェントの中で呼び出しを組み込んで初めて動く

次の記事からは、この整理を前提に「具体的な外部サービス連携」を実際に組んでいきます。

まずは小さな連携から試して、動く感覚を掴んでいきましょう。

<<前のページ

Difyの記事一覧

次のページ>>

記事URLをコピーしました