第64話:【Dify応用】第21話と何が違う?チャットフローの主役「エージェントブロック」の使い方と完全マニュアル

未来的な工場のベルトコンベアの画像。コンベアの上には単純な機械の代わりに、職人のエプロンを着たとても賢そうなロボットがいて、「エージェントブロック」と書かれたコントロールパネルのダイヤルを調整している。パネルには「戦略」「ツール」「指示」といったオプションがある。) AI活用

前回(第62話)は、「エージェント」を一旦卒業し、チャットフローを使って**「一切考えずに爆速で検索するマシーン(ツールブロック)」**を作りました。

「AIに考えさせないから速い!」と解説しましたが…… 実は、チャットフローには**「想定外の質問に弱い」**という弱点があります。 例えば「今日のニュースと、徳川家康について教えて」と聞くと、最新ニュース用の検索ツールは、歴史の質問にパニックになってしまいます。

そこで今回は! ガチガチの工場ライン(チャットフロー)の中に、1人だけ「臨機応変に考える職人」を雇うという、最強のハイブリッド構築法を解説します。


1. 2つの「エージェント」、違い分かりますか?

Difyを使っていると、「エージェント」という言葉が2カ所で出てきて混乱しませんか? 実はこれ、名前は同じでも「働き方」が全く違う別物なんです。

  • 第21話の「エージェント(アプリ)」
    • 画面の一番上から作る、アプリ全体の枠組みです。
    • 特徴: 最初から最後まで全部AIにお任せ。「社長、あとは私が全部考えてやっておきますよ!」という優秀だけど自由すぎる秘書。たまに暴走します。
  • 今回の「エージェント(ブロック)」🌟
    • チャットフローの線の中に置く「部品(ノード)」の一つです。
    • 特徴「指定された区間だけ」自分で考える職人。「検索と情報収集だけは君の裁量でやって。終わったら次の担当(LLM)に渡してね」という、管理しやすいプロフェッショナルです。

2. エージェントブロックを使うと「何ができる」のか?

普通の「LLMブロック」や「ツールブロック」と比べて、エージェントブロックにはこんな凄い能力があります。

  • ① 複数のツールを勝手に使い分ける
    • 「Google(一般検索)」と「Wikipedia(用語検索)」を渡しておけば、質問の内容を見てAIが自ら使う道具を判断します。
  • ② 複雑な問題を「分割」して考える
    • 「東京の天気と、アインシュタインについて」と聞かれたら、「よし、まずは天気を調べて、次に歴史を調べよう」と、手順を自分で組み立てて実行してくれます。
  • ③ 次の工程への「完璧なパス」出し
    • 集めた情報をただ表示するだけでなく、綺麗に整理して次のブロック(例えば「質問分類器」など)にバトンタッチすることができます。これにより、超高度な自動化システムが作れます。

3. 【完全図解】開始から回答まで!エージェントフローの作り方

では、実際にチャットフローを作ってみましょう! 「開始」から「回答」まで、順番にブロックを繋いでいく手順をステップ・バイ・ステップで解説します。今回は、よくあるエラーの回避方法もバッチリ教えますよ!

ステップ1:「開始」ブロックの準備

新しいチャットフローを作成すると、最初から「開始」ブロックが置かれています。 ここは**「ユーザーが入力した質問」**を受け取る入り口です。デフォルトの変数 query をそのまま使えばOKです。

Difyの「エージェント」ノード設定画面。Google、Tavily、Wikipediaの各ツールを連携させ、AIが質問に合わせて最適な情報源を自ら選択してリサーチを行う「自律型AIエージェント」の構築方法を解説しています。

ステップ2:「エージェント」ブロックを繋ぐ(職人の配置)

開始ブロックの右側にある「+」を押し、**「エージェント(Agent)」ブロックを追加します。ここが今回の主役です!いじるべき設定は以下の「4つ」**だけです。

① エージェンティック戦略(作戦選び)

  • プルダウンから 「Function Calling(関数呼び出し)」 を選びます。現在のAIはこれが一番賢くツールを使いこなしてくれます。

② ツールボックス(道具箱の引き渡し)

  • 「+」ボタンを押し、今回は以下の3つを追加します。
    1. Google Search (天気予報や一般的なWeb検索用)
    2. Tavily Search (最新のニュース検索用)
    3. Wikipedia (歴史や人物、用語解説用)
  • ※重要※ ここで追加したツールの詳細設定(Query欄など)は絶対に手動で入力せず、空欄のままにしておいてください。エージェントブロックでは、検索キーワードはAI自身が考えて自動入力します。

③ 指示(職人へのプロンプト)

  • 単にツールを渡すだけでなく、「何に使うか」をしっかり教え込むのがコツです。以下をコピペしてください。

あなたは優秀なリサーチャーです。ユーザーの質問を分析し、以下のツールを使い分けて正確な情報を集めてください。

・天気予報や一般的なWeb検索:GoogleSearch ・最新のニュース情報:Tavily ・歴史や用語の解説:Wikipedia

※検索する際は、必ず日本の情報(日本語のサイト)を優先して調べてください。 ※天気を調べる際は、「東京 天気 今日」のように具体的なキーワードを使って検索してください。

④ 【超重要】QUERY(ユーザーの質問の受け渡し) 🌟

  • 設定画面の一番下にある *「QUERY 」 という欄をクリックします。
  • 「{x}」ボタンから、開始query (ユーザー入力)を選んで追加します。
  • ※これを忘れると、AIが「何を調べればいいの?」とパニックになり tool parameter query not found というエラーが出ます!絶対に忘れないでくださいね。
DifyのエージェントノードとLLMノードを連携させた回答生成画面。エージェントが複数の外部ツールから自律的に収集した検索結果を、LLMが要約してユーザーに届ける「自律型AIリサーチシステム」の構築手順を解説しています。

ステップ3:「LLM」ブロックを繋ぐ(記事の執筆担当)

エージェントが情報を集めたら、それを綺麗な文章にするために 「LLM」 ブロックを繋ぎます。

  1. エージェントブロックの「+」を押し、**「LLM」**を追加します。
  2. モデルは、長文に強い gpt-4o を選びます。
  3. **コンテキスト(参考資料)**の設定:
    • カーソルを置き、「{x}」ボタンを押します。
    • エージェントtext を選びます。(これで職人が集めた情報がLLMに渡ります!)
  4. プロンプトにはこう書きます:以下の検索結果を元に、ユーザーの質問に対する回答をわかりやすく要約してください。 検索結果: {{#context#}}

ステップ4:「回答」ブロックを繋ぐ(出力担当)

最後に、LLMが書いた文章を表示させます。

  1. LLMブロックの「+」を押し、**「回答(Answer)」**を追加します。
  2. 応答欄に「{x}」ボタンから LLMtext を入れます。

これで、「開始 ➡ エージェント(リサーチ) ➡ LLM(執筆) ➡ 回答」 という完璧なハイブリッドラインの完成です!


Difyの自律型エージェントによる複合回答の成功例。AIが「東京の天気」と「アインシュタインの経歴」という異なる性質の質問に対し、

4. 検証!エージェントブロックの「職人技」を見る

設定が終わったら、いじわるな質問をしてテストしてみましょう。

質問:「今日の東京の天気と、アインシュタインについて教えて」

前回の「ツールブロック」なら確実にフリーズする質問ですが、エージェントブロックはこう動きます。

  1. AIの思考:「おっ、天気は一般情報だから Google Search を使って検索しよう!」
  2. AIの思考:「アインシュタインは歴史上の人物だな。よし、次は Wikipedia を使おう!」
  3. 結果: 両方のツールを連続で使いこなし、完璧な情報を集めて次のLLMブロックへ渡す!

プレビュー画面の「ワークフロー処理 >」をクリックすると、AIが実際にツールを切り替えて使っている裏側のログが見られます。「おぉー、本当に考えてる!」と感動すること間違いなしです。


まとめ:適材適所で「最強のAIアプリ」を作ろう

お疲れ様でした! これであなたは、Difyの主要な機能を完全に使い分けられるようになりました。

  • 雑談やゆるい相談 ➡ エージェント(アプリ単体)
  • 決まりきった単一作業を爆速で ➡ ツールブロック(第62話)
  • 複雑な調査が必要だけど、最後はきっちり出力したいチャットフロー + エージェントブロック(今回!)

ブログ記事の構成案を作らせる時も、このエージェントブロックに「Google検索」と「Webサイト読み込み」のツールを渡しておけば、勝手に競合サイトを複数調べてから構成を作ってくれる**「超優秀な副編集長」**になります。

Difyの面白さが、一気に広がりましたね! 次回は、集めた情報をブログの形に綺麗に整える「テンプレート変換」について解説します。お楽しみに!

コメント

タイトルとURLをコピーしました