はじめに|AIに「今日のおつまみ」を考えさせる贅沢
Dify チャットフローの作り方を、身近な事例で学びましょう。この記事では、余り物から爆速おつまみを提案する「AIソムリエ」を作ります。
前回の第82話では、ビジネス向けの「3社同時比較アプリ」を完成させました。今回は趣向を変え、もっと日常に密着したAIアプリを作ります。
私は朝方に帰宅しますが、夜遅くに帰ってビールで一杯やりたい方も多いはずです。でも、手の込んだ料理をする気力はない。そんな時に頼れるAIを作ります。
LINEに「ツナ缶と塩昆布。冷たいビール!」と送るだけ。深夜食堂のベテラン大将のようなAIが、火を使わず数分でできる極上のレシピを返してくれます。
今回はDifyの「プロンプト(AIへの指示)」の力を使います。提案型AIの作り方を、順を追って解説します。
この記事でわかること|Difyで何ができるかを事例で理解する
この記事を読むと、Difyのチャットフロー作り方とLINE連携の全体像がつかめます。Difyで何ができるのか、具体的な事例で理解できるのがねらいです。
学べることは3つあります。ひとつ目は、複数の入力を組み合わせて新しいアイデアを生み出すAIの作り方です。ふたつ目は、AIの「キャラクター」をプロンプトで設計する方法です。みっつ目は、作ったアプリをLINEとつなぐ連携手順です。
専門的なコードはほとんど書きません。AI初心者の方でも、手を動かしながら「Difyでこんなことができるのか」と実感できる内容です。
Difyのチャットフローとは?初心者向けの基礎知識
チャットフローとは、Dify上で会話型AIの処理の流れを組み立てる仕組みです。まずここを押さえると、後の手順がスッと理解できます。
そもそも「チャットフロー」って何をするもの?
チャットフローは、いくつかの「ノード」をつないで作ります。ノードとは、処理のひとつひとつを表す部品のことです。
たとえば「入力を受け取るノード」「AIが考えるノード」「答えを返すノード」を線でつなぎます。この流れ図が、そのままAIアプリの動きになります。
複雑なPythonコードは一切不要です。部品を並べてつなぐだけで、ひとつのアプリが完成します。
「まとめるAI」から「生み出すAI」への進化
前回の比較アプリは、URLという「1つの入力」から情報をまとめるものでした。今回は方向性が変わります。
今回は「食材」と「お酒の種類」という複数の要素を組み合わせます。それらからAIに新しいアイデアを生み出させるのです。
AIに「どんなキャラクターとして、どう振る舞うか」を指示します。すると、ただのチャットボットが「優秀な専属ソムリエ」に生まれ変わります。その過程を楽しんでください。
【完全ガイド】Difyでおつまみソムリエを作る3ステップ
ここからは実際の作り方です。Difyで新しい「チャットフロー」を作成し、3ステップで進めます。全体像は「入力→AIが考える→回答」というシンプルな流れです。
① 開始(Start)ノード|LINEからの注文を受け取る
開始ノードは、ユーザーからの入力を受け取る入り口です。デフォルトで設定されている sys.query(ユーザーの入力)をそのまま使います。
sys.query とは、お客さんが送ってきた文章がそのまま入る変数のことです。変数とは、中身が入れ替わる「箱」のようなものだと考えてください。
ここに「キャベツと卵。ハイボール」といった注文が入ってきます。
② LLMノード|大将に「魂」を吹き込む【最重要】
このステップが、アプリの個性を決める最重要ポイントです。開始ノードの次に「LLM」ノードを繋ぎます。LLMとは、文章を理解して生成するAIの本体のことです。
なぜここが最重要なのでしょうか。理由は、AIの「性格」や「答え方のルール」をすべてここで指示するからです。同じDifyでも、この指示次第でAIの振る舞いは大きく変わります。
「システムプロンプト」の欄に、以下の指示をそのままコピー&ペーストしてください。これが大将の「魂」になります。システムプロンプトとは、AIに与える基本方針のことです。
あなたは、深夜にひっそりと営業している「極上おつまみ専門の小料理屋」のベテラン大将です。
疲れて帰ってきたお客さんが、手持ちの食材と飲みたいお酒を伝えてきます。
以下の【条件】と【出力ルール】に厳密に従って、最高の「爆速おつまみ」を1つ提案してください。
【条件】
- 極力、火や包丁を使わない(電子レンジや和えるだけを推奨)
- 調理時間は「5分以内」が目安
- 指定された「飲みたいお酒」に最高に合う味付けにする
【出力ルール】
以下のMarkdownフォーマットで出力すること。
🍶 **本日のおすすめ:[食欲をそそる料理名]**
⏱️ **所要時間**:約〇分
**【材料】**
- (箇条書き)
**【作り方】**
1. (手順)
💡 **大将からの一言**
(なぜそのお酒に合うのか、疲れた体にどう沁みるのかを、人情味あふれる温かい口調で1〜2行で語りかける)

ポイントは3つあります。ひとつ目は「役割」を最初に与えていること。大将だと名乗らせるだけで、口調や提案の質が変わります。
ふたつ目は「条件」で制約を具体化していること。火を使わない、5分以内、といった縛りが提案の方向を決めます。
みっつ目は「出力ルール」で形式を固定していること。毎回同じ見やすいフォーマットで返ってくるのは、このおかげです。
そして、ユーザープロンプトの欄には {{sys.query}} をセットします。これで、お客さんの注文がAIに届きます。
③ 回答(Answer)ノード|LINEへ料理を出す
回答ノードは、AIの答えをユーザーに返す出口です。LLMノードの次に「回答」ノードを繋ぎます。
出力として「LLMのテキスト」を指定すれば、Dify側の設定は完了です。入力から回答まで、3つのノードがつながりました。

Dify LINE連携は「1行変えるだけ」の魔法
Difyのアプリを「公開」したら、次はLINEとつなぎます。ここが「Dify LINE連携」の本題です。結論から言うと、今回やることはコードの1行を書き換えるだけです。
「またあのGASのエラーと戦うの?」と思った方、安心してください。作業はごくわずかです。
GASとは?なぜ連携の土台になるのか
GASとは「Google Apps Script」の略で、Googleが提供する無料のプログラム実行環境です。DifyとLINEの間に立ち、メッセージを橋渡しする役割を果たします。
前回苦労して作り上げたGASのコードは、すでに「どんなDifyアプリでも受け止められる万能の土台」になっています。だから今回は、土台を作り直す必要がありません。
APIキーを書き換えてデプロイする手順
今回やることは、Difyで新しく発行した「APIキー」を貼り替えるだけです。APIキーとは、アプリを識別するためのパスワードのような文字列です。
GASのコードの3行目を、次のように書き換えます。
// ↓ここの文字列を新しいキーに書き換えるだけ!
const DIFY_API_KEY = 'app-新しく発行したAPIキーをここに貼る';
書き換えたら、必ず「新バージョン」でデプロイし直してください。デプロイとは、変更を反映して公開する操作のことです。
これを忘れると大将は出勤してきません。うまく動かない時は、まずここを見直しましょう。

いざ、深夜の小料理屋へ|テスト実行
設定が終わったら、実際に動かして確かめます。デプロイが完了したら、スマホのLINEから注文してみましょう。
私からの注文は「ツナ缶と塩昆布。冷たいビール!」です。
数十秒後、大将からこんな返事が届きました。見事な「ツナと塩昆布のごま油和え」です。
しかも最後には「ビールの爽快感を引き立てて、疲れた体に染み渡る塩気がたまりませんよ。お酒が進むこと間違いなしです!」という、沁みる一言まで添えられていました。
今回はさすがにハマらず、すんなり作れました。前回のアプリを一部変えただけなので、迷わずに済みました。
まとめ|Difyのチャットフロー作り方は「事例で学ぶ」のが近道
Difyのチャットフロー作り方は、事例で手を動かすのが理解への近道です。今回は「おつまみソムリエ」を通して、3つのことを学びました。
ひとつ目は、開始・LLM・回答の3ノードでチャットフローが組めること。ふたつ目は、システムプロンプト次第でAIの個性が決まること。みっつ目は、Dify LINE連携がAPIキーの書き換えだけで済むことです。
Difyで何ができるのか、その一端が伝わったなら嬉しいです。次はぜひ、あなたの冷蔵庫の余り物で試してみてください。


コメント