【Dify】Lesson2-2:エージェントアプリの基本|施設の料金・予約方法リサーチアプリ開発

ながみえ

今回は基本的な Difyのエージェントアプリ を紹介・開発を行います。

エージェントアプリの大きな魅力は、LLM(生成AI)が会話するだけでなく、外部ツールを使って情報を調べたり、作業を進めたりできる 点です。

たとえばWeb検索で最新情報を集めて整理したり、条件に合う候補を比較して結論を出したりと、「調査→整理→提案」までを一連の流れとして自動化しやすくなります。

この記事では、エージェントアプリの基本を押さえつつ、題材として 「施設の料金・予約方法リサーチアプリ」 を作ります。

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

<<前のページ

Difyの記事一覧

次のページ>>

Difyエージェントアプリの作り方|概要と今回のゴール

この章では、Difyの「エージェントアプリ」がどんなものなのかを押さえたうえで、今回の題材である「施設の料金・予約方法リサーチアプリ」を作る準備を整えます。

エージェントアプリは、ただ会話するだけではなく、必要に応じて外部ツールを使いながら“目的達成” に近づけるのが特徴です。

エージェントアプリとは?|できること・向いている作業例

通常のチャット(ChatGPTへの質問や、一般的なチャットボット)は、基本的に “会話の中で答えを作る” のが中心です。

一方、エージェントアプリは、状況に応じて必要な行動を選び、情報を取りに行き、最終的なアウトプットまでまとめます。

エージェントアプリは、ひとことで言うと「目的に向かって動ける生成AIアプリ」です。

ここで重要なのが、エージェントは「外部ツール」を使える前提で設計できる点です。

たとえばGoogle検索のようなツールを連携しておけば、会話だけではなく、実際にWeb上の情報に当たりにいく動きができます。つまり、

  • ChatGPTに質問:知っている範囲や推論で答える(根拠が曖昧になりやすい)
  • Difyのエージェントアプリ:必要なら検索などを行い、根拠をもとに整理して答える(作業手順も含めて自動化できる)

という違いが生まれます。

調べもの系のタスクで「毎回サイトを見に行って確認する」作業があるなら、エージェントアプリの得意分野です。

エージェントアプリでできることは幅広いですが、代表的には次のような用途があります。

たとえば、Web検索→情報抽出→要点整理→テンプレ形式で出力、という流れを一気通貫で実行できます。

  • 情報収集・リサーチの自動化(料金、予約方法、営業時間、比較など)
  • 文章の下書き+根拠集め(社内共有文、提案文、FAQのたたき台)
  • 定型業務の手順化(毎週の調査、レポート作成、チェックリスト生成)
  • 外部サービスと連携した処理(スプレッドシート、API、社内ツール等)

この記事では、google検索 と リアルタイムな時間を取得する CurrentTime の2つのツールと連携したエージェントアプリを作成します。

Current Timeツールの使い方|実行時刻を取得して回答を安定化

CurrentTimeは、その名の通り「現在の日時(いま何時か)」をエージェントに渡すための外部ツールです。

生成AIは会話だけだと、基本的に “今がいつか” を正確に把握しているとは限りません。

そこでCurrentTimeを使うと、アプリ実行時点の日時を取得でき、回答をより実務向けに安定させられます。

たとえば施設の料金や予約方法を調べる場面では、「本日(今日)」「今週末」「◯月◯日まで」など、日付に依存する情報がよく出てきますよね。

CurrentTimeがあると、こうした表現をアプリ実行時の“正しい日付”に結びつけて解釈できるようになります。

具体的には、次のような場面で役立ちます。

  • 「今日の営業時間」「本日の空き」「今月のキャンペーン」など、日付が絡む情報を扱う
  • 取得した情報が古くないか、更新日や期限をチェックする補助にする
  • 出力に「調査日:2026/02/01」のような“いつ調べたか”を自動で入れる

まずはCurrentTimeで「今」を取得できる状態を作っておきましょう。

Difyの開発画面 上部の「🔨ツール」をクリックしてください。

Difyの開発画面のツール一覧画面のキャプチャ。デフォルトでインストールされているものを表示している。

するとこのように4つのツールが表示されます。

この4つは、実は最初からインストールされているもので、今回使用するCurrentTimeも既に使える状態になっています。

Google検索ツールの導入と認証|SerpApiキーを設定する

ツール画面の下部にはインストールできるツールがたくさん並んでいます。

この中からGoogleを探してインストールしましょう。

Difyのツール「Google」のインストール確認画面のキャプチャ

Googleはインストールしただけでは使用できず、Difyと連携するためのAPIキーを入手する必要があります。

「APIキー認証設定」をクリックし、認証画面に移動してください。

Difyのツール「Google」をインストールした後に表示される「API認証」を促す画面のキャプチャ

メールアドレスと電話番号の確認後、Subscribeをクリックしましょう。

GoogleのAPIキーの取得画面

最後に取得したAPIキーをDifyで入力し、保存を押して完了です。

Difyのツール「Google」のAPIキーを入力する画面のキャプチャ

施設の料金・予約方法リサーチアプリを作ろう

それではアプリを作っていきましょう。

アプリタイプはエージェントとし、名前は「施設の料金・予約方法リサーチアプリ」として「作成する」をクリックしてください。

Difyのアプリタイプ選択画面のキャプチャ。エージェントを選択している。

開発画面が開いたら、左下にある「ツール」の「+追加」をクリックしてください。

すると「全ての道具」としてインストール済みのツールが表示されるので、CurrentTimeとGoogleを選択しましょう。

Difyのエージェントアプリの開発画面のキャプチャ。ツールを選択しようとしている。

これで2つのツールが使えるようになりました。

あとはこれまで通り、プロンプトを書いていきましょう。

# 役割
あなたは「施設の料金・予約方法リサーチ」に特化した調査アシスタントです。
ユーザーが指定した施設について、Web上の一次情報(公式サイト等)を調べ、最新の料金と予約方法を分かりやすくまとめて回答してください。

# 最重要ルール
- 推測で料金や手順を作らない。根拠ページで確認できない情報は「未確認」と明記する。
- 取得した情報には必ず参照元URLを付ける。
- 回答冒頭に「情報取得日時(JST)」を明記する(Current Timeツールで取得)。
- 料金・予約導線は変更されやすい。なるべく「公式サイト」「公式の予約/チケットページ」を優先する。
- 公式情報と第三者サイトで差異がある場合は、原則として公式を優先し、差異も短く示す。

# 進め方
1) 入力情報の確認
   - 施設名(必須)
   - 場所(市区町村レベル推奨。チェーン店/同名施設の識別用)
   - 行く予定日(任意だが、料金が変動する施設では確認する)
   - 知りたい内容(例:入場料、駐車料金、割引、予約方法、キャンセル、支払い手段)
   - 対象区分(大人/子ども/学生/シニア等)が重要そうなら確認する
   不足が大きい場合は、先に短い質問をして補う。

2) Current Time ツールを呼び出し、取得日時(JST)を確定する。
   - この日時を as_of として回答に使う。

3) Google検索(ツール)で調査する
   - 少なくとも次の観点で複数クエリを使う:
     a. 「施設名 + 公式 + 料金」
     b. 「施設名 + 予約 + 方法(または チケット / 予約サイト)」
     c. 「施設名 + 営業時間 + 休館日」(必要なら)
     d. 「施設名 + キャンセル / 変更」(必要なら)
   - 同名が多い場合は「場所」も入れる。
   - 日本語だけでなく、必要なら英語クエリも使う(海外施設/訪日ページ等)。

4) ソースの優先順位
   - 最優先:公式サイトの料金/チケット/予約ページ
   - 次点:公式が案内している予約委託先(公式リンクで辿れるもの)
   - 補助:自治体/公的機関、運営母体のページ
   - 低優先:まとめサイト、個人ブログ(公式が見つからない時の補助に限定)

5) 情報抽出の観点(必ず探す)
   - 料金:区分(大人/子ども等)、曜日/時期で変動するか、割引、追加料金(例:特別展、体験)
   - 予約:予約が必要か不要か、予約手順(1〜3ステップで)、予約開始時刻、支払い方法
   - 注意:キャンセル/変更、当日券、入場制限、受付締切、駐車場予約の有無
   - ページ内に「更新日」「改定日」があれば必ず拾う

6) 不確実性の扱い
   - 料金が「プラン/日付/時間帯」で変動する場合は、変動条件を明記する。
   - 必要情報が確認できない場合は「確認できなかった項目」として列挙する。

# 出力フォーマット(必ずこの順)
【情報取得日時】yyyy-mm-dd hh:mm(JST)

【結論(要点)】
- 料金:○○(最重要ポイントを1〜3行)
- 予約:必要/不要、予約先、要点

【料金の詳細】
- 区分別料金:
- 変動条件(曜日/時期/イベント):
- 割引・注意事項:

【予約方法】
1. (手順)
2. (手順)
3. (手順)
- 支払い方法:
- キャンセル/変更:

【参照したページ】
- (公式の料金ページURL)
- (公式の予約/チケットページURL)
- (補助的に参照したURLがあれば)

【未確認・要確認ポイント】
- (例:団体料金、障がい者割引、駐車場料金など)

# 禁止
- URLがないのに「公式では〜」と断定すること
- “たぶん”“おそらく”で料金を提示すること
- ユーザーの個人情報を追加で要求すること(予約代行はしない)

これで「施設の料金・予約方法リサーチアプリ」は完成です。

実際に実行し、どのように動くかを確認してください。

まとめ:今回やったこと(ツール導入/プロンプト要点)

今回は、Difyのエージェントアプリの基本として「外部ツールと連携しながら目的達成まで進める」という考え方を学び、施設の料金・予約方法をリサーチするアプリ制作に取り組みました。

エージェントアプリの価値は、単に質問に答えるだけではなく、必要なら情報を探しに行き、その結果を整理して“使える形”で返すところにあります。

ChatGPTに都度質問する方法でも調査はできますが、手順や出力形式が毎回ブレやすく、業務で使うには整える手間が残りがちです。

一方でDifyなら、調査の流れ・判断・出力フォーマットをアプリとして固定できるので、「いつもの調査」を安定して回せるようになります。

Q
記事改善アンケート|ご意見をお聞かせください(1分で終わります)

本サイトでは、みなさまの学習をよりサポートできるサービスを目指しております。
そのため、みなさまの意見をアンケート形式でお伺いしています。

1分だけ、ご協力いただけますと幸いです。

(※)APIキーや個人情報等は入力しないようお願いします。

【Dify】記事改善アンケート
4.改善してほしい点(任意・複数選択)

<<前のページ

Difyの記事一覧

次のページ>>

記事URLをコピーしました