皆さんこんにちは、横浜で清掃業をしているヤスです。
前回は【Dify】箇条書きメモからA4企画書を自動生成!アイデアメモ→企画書自動生成くん
のアプリを作りましたね。
今回はこちらです。
1. 「今日何食べた?」それだけで栄養管理が終わるアプリを作りました
カロリー計算アプリ・食事記録アプリ・栄養管理アプリ…使い始めても3日で続かない経験はありませんか?入力が面倒・数字ばかりで楽しくない・何を改善すればいいかわからない。続かない理由はだいたいこの3つです。
今回作る「食事記録→栄養アドバイスBot」は、その3つの問題を全部解決します。今日食べたものをLINE感覚で話しかけるだけで、以下が自動で返ってきます。
- 今日の栄養バランスを6項目で評価(カロリー・タンパク質・脂質・炭水化物・食物繊維・ビタミンミネラル)
- 特に補いたい栄養素を3つに絞って「なぜ不足するとまずいか」まで説明
- 明日の朝昼夜の食事を具体的に提案(コンビニ・スーパーで手に入るもの)
- 目標(ダイエット・筋トレ・美容・健康維持)に合わせたアドバイス
- 前日との比較フィードバックで継続モチベーションを維持
しかもプログラミング不要・15分で完成します。今まで紹介してきたアプリの中で最も「毎日使い続けてもらえる」アプリです。
2. 完成イメージ|こんな出力が返ってきます
「おにぎり・牛丼・唐揚げ・ビール」と入力すると以下が返ってきます。
📊 今日の栄養バランス ✅ タンパク質:唐揚げ・牛丼で推定35g(目標の約70%) ⚠️ カロリー:推定1,900kcal(目標の約120%) ⚠️ 炭水化物・糖質:おにぎり・牛丼・ビールで多め ❌ 食物繊維:推定3g(目標21gの約14%) ⚠️ ビタミン・ミネラル:野菜が少なく微量栄養素が不足 ⚠️ 脂質:唐揚げで高め ⚡ 特に補いたい栄養素(最大3つ) ① 食物繊維:不足すると腸内環境が乱れてむくみやすくなります ② ビタミンC:不足すると肌荒れや疲れやすさにつながります ③ 鉄分:不足すると疲れやすく集中力が落ちます 🍽️ 明日のおすすめ食事 朝:ヨーグルト+キウイ1個 昼:サラダチキンとほうれん草のおひたし 夜:鶏むね肉のグリル+ブロッコリーの蒸しもの 💪 今日のひと言 タンパク質をしっかり摂れていたのがGood! 明日は野菜を1品プラスするだけで完璧に近づきます 💪 ⚠️ このBotは一般的な栄養アドバイスを提供するものです。 持病・治療中の方は必ず医師・管理栄養士にご相談ください。
💡 2回目以降は「昨日より野菜が増えましたね!」など継続フィードバックが追加されます。
3. このアプリが「毎日使い続けてもらえる」理由
今まで作ってきたアプリとの大きな違いがあります。
| 比較項目 | 今までのアプリ | 食事記録Botくん |
| 使う頻度 | 必要なときだけ | 毎日使う |
| 対話の継続 | 1回で完結 | 会話が続く |
| 継続フィードバック | なし | 前日比較あり |
| 目標のパーソナライズ | なし | 4種類の目標に対応 |
| 読者への訴求力 | 便利なアプリ | 手放せないアプリ |
チャットボット型の真の強みは「対話が続く」ことです。毎日食事を記録するたびに前日との比較が返ってくる体験は、カロリー計算アプリでは絶対に作れない体験です。
4. 事前準備|必要なものはこれだけ
- Difyのアカウント(無料プランOK)
- OpenAIのAPIキー(platform.openai.com で発行)
- 所要時間:約15分
💡 今回はワークフロー型ではなくチャットボット型なので、ブロックを繋ぐ作業は一切不要です。変数設定+プロンプト貼り付けだけで完成します。
5. 【作り方】ステップごとに丁寧に解説
STEP 1|新しいチャットボットアプリを作成する
- Difyにログインして「アプリを作成」をクリック
- 種類は「チャットボット」を選ぶ
- アプリ名に「食事記録→栄養アドバイスBot」と入力
- 「作成する」をクリック
STEP 2|入力フォームを設定する(変数4つ)
「変数」エリアの「+追加」から以下の4つを設定します。
| 変数名 | 表示名 | 種類 | 必須 |
| goal | 目標 | セレクトボックス | ✅ 必須 |
| age | 年齢 | テキスト(短文) | ✅ 必須 |
| gender | 性別 | セレクトボックス | ✅ 必須 |
| allergies | アレルギー・苦手食材 | テキスト(短文) | 任意 |
「goal」セレクトボックスの選択肢(4つ)
- ダイエット・体重を落としたい
- 筋肉をつけたい
- 健康維持・バランス重視
- 肌荒れ改善・美容重視
「gender」セレクトボックスの選択肢(3つ)
- 男性
- 女性
- 回答しない
⚠️ 「allergies」の表示名は日本語で設定してください。空欄でも動作するよう「任意」に設定しておきましょう。
STEP 3|プロンプトを貼り付ける【全文コピーOK】
「プロンプト」欄に以下をそのままコピーして貼り付けてください。
# Role & Expertise あなたは「食事記録→栄養アドバイスBot」です。 管理栄養士・栄養疫学の知識を持ち 食べたものを聞いて栄養バランスを分析し 明日の食事提案まで行うパーソナル栄養アドバイザーです。 # User Profile – 目標 :{{goal}} – 年齢 :{{age}} – 性別 :{{gender}} – アレルギー:{{allergies}}(空欄の場合は制限なし) # Goal-Based Evaluation Criteria {{goal}} に応じて以下の基準で栄養を評価する。 ダイエット・体重を落としたい → カロリー収支・糖質・脂質を最優先で評価 → 提案は低カロリー・高タンパク・高食物繊維を優先 筋肉をつけたい → タンパク質の量・質・摂取タイミングを最優先で評価 → 提案は高タンパク・炭水化物との組み合わせを優先 健康維持・バランス重視 → PFCバランスを評価 → 提案は食材の多様性・彩りを重視 肌荒れ改善・美容重視 → ビタミンC・ビタミンE・鉄・コラーゲン生成を最優先で評価 → 提案は抗酸化食材・発酵食品を優先 # Conversation Flow ユーザーの食事入力を受け取るたびに 以下のステップを必ず順番通りに実行する。 Step1: 食事内容を明るく肯定的に受け取る 足りない情報があれば1つだけ質問する Step2: 6項目を{{goal}}の評価基準で分析する Step3: 不足栄養素を優先度順に最大3つ特定する Step4: {{allergies}}を考慮した明日の食事を提案する Step5: 今日の良かった点+励ましのひと言を添える # Continuity Rules 2回目以降は前回との比較コメントを必ず入れる。 改善→具体的に褒める 悪化→否定せず傾向として伝える # Rules ## Must – 専門用語は使わず中学生でも理解できる言葉で話す – 絵文字を各セクションに1〜2個使う – {{allergies}}の食材は絶対に提案しない – カロリーは推定kcalを必ず記載する 例:「推定1,800kcal(目標の約120%)」 – タンパク質・食物繊維は目標量との比較をg単位で記載する 例:「推定25g(目標50gの約50%)」 – 今日の食事から良かった点を必ず1つ以上褒める ## Must Not – 医療的な診断・治療に踏み込まない – 「食べすぎ」「太る」「カロリーオーバー」などの 否定的・プレッシャーを与える表現を使わない – 極端な食事制限を提案しない – 1回の返答で質問を2つ以上しない – 同じ食材・同じ提案を連続した日に繰り返さない # Fallback 食事が極端に少ない場合 →「体調は大丈夫ですか?無理のない範囲で 明日の食事を一緒に考えましょう!」と伝える 持病・薬の質問が来た場合 →「必ず医師または管理栄養士にご相談ください」 と伝え医療的な判断は行わない # Output Format 【重要】返答は必ず以下のフォーマットのみで出力すること。 セクションの順番・絵文字・見出し名は一切変更しないこと。 独自のセクション(###など)を追加することを禁止する。 📊 **今日の栄養バランス** ✅ {栄養素}:{評価コメント+推定数値} ⚠️ {栄養素}:{評価コメント+推定数値} ❌ {栄養素}:{評価コメント+推定数値} (カロリー・タンパク質・脂質・炭水化物・食物繊維・ ビタミンミネラルの6項目すべてを必ず記載すること) ⚡ **特に補いたい栄養素(最大3つ)** ① {栄養素名}:{なぜ不足するとまずいか 1行} ② {栄養素名}:{なぜ不足するとまずいか 1行} ③ {栄養素名}:{なぜ不足するとまずいか 1行} 🍽️ **明日のおすすめ食事** 朝:{具体的な食事 1〜2品} 昼:{具体的な食事 1〜2品} 夜:{具体的な食事 1〜2品} 💪 **今日のひと言** {目標に向けた励まし。良かった点+具体的な数字を含む} ⚠️ このBotは一般的な栄養アドバイスを提供するものです。 持病・治療中の方は必ず医師・管理栄養士にご相談ください。 # Final Check(出力前に必ず確認) □ 📊から始まっているか □ ✅⚠️❌で6項目全て評価しているか □ 各栄養素に推定数値(kcal・g・%)が入っているか □ ⚡セクションがあるか(最大3つ) □ 🍽️セクションがあるか(朝・昼・夜の3食) □ 💪セクションがあるか □ 今日の食事の良かった点を1つ以上褒めているか □ {{allergies}}の食材を使っていないか □ 「カロリーオーバー」など否定表現を使っていないか □ ###などの独自セクションを追加していないか □ ⚠️注意事項が最後にあるか # Output Language すべて日本語で出力すること。
STEP 4|動作テストをする
右側の「デバッグとプレビュー」パネルで以下を入力して実行ボタンを押してください。
| 項目 | 入力内容 |
| 目標 | ダイエット・体重を落としたい |
| 年齢 | 32 |
| 性別 | 女性 |
| アレルギー | 甲殻類 |
設定が完了したらチャット欄に以下を入力してテストします。
今日食べたもの: 朝→おにぎり1個とコーヒー 昼→牛丼(並)とみそ汁 夜→唐揚げ3個とビール1缶とご飯 おやつ→チョコレート少し
💡 📊から始まる5セクションの出力が返ってきたら成功です。

STEP 5|公開して使い始める
右上の「公開する」ボタンをクリックするだけで完成です。スマホのホーム画面にブックマークしておくと毎日の食事記録がより続けやすくなります。
6. よくあるエラーと解決方法
① フォーマットが守られない(###が出てくる)
モデルがGPT-4o以外になっている可能性があります。右上のモデル選択でGPT-4oに変更してください。それでも改善しない場合はOutput Formatの冒頭に「【重要】このフォーマット以外の出力を禁止する」と追記してください。
② 数字が曖昧になる(「やや多め」など)
Final Checkの「各栄養素に推定数値が入っているか」の項目を確認してください。プロンプトのMustに「カロリーは推定kcalを必ず記載する」という指示が入っているので、GPT-4oであれば改善されます。
③「カロリーオーバー」などネガティブ表現が出る
Final Checkに「カロリーオーバーなど否定表現を使っていないか」を追加することで自己チェックさせます。プロンプト全文に記載済みなので、モデルをGPT-4oに変更するだけで改善するケースがほとんどです。
7. さらに便利にする3つのカスタマイズ
① ビジョン機能をONにする
左側の「ビジョン」をONにすると食事の写真を撮って貼るだけで分析してくれます。「文字で入力するのが面倒」という問題が解決して継続率が大幅に上がります。
② ナレッジに食品成分表を登録する
文部科学省の食品成分データベースをナレッジに登録すると、栄養素の数値精度が大幅に上がります。「推定」から「実測値に近い分析」になります。
③ 目標を増やす
goalのセレクトボックスに「妊娠中・授乳中」「高齢者向け」「アスリート向け」などを追加して、Goal-Based Evaluation Criteriaセクションに対応する基準を追記するだけで対応範囲が広がります。
8. よくある質問(FAQ)
Q1. 栄養素の数値はどのくらい正確ですか?
AIによる推定値のため正確な数値ではありません。あくまで目安としてお使いください。正確な栄養管理が必要な方(持病・治療中など)は必ず専門家にご相談ください。
Q2. 毎日の会話は保存されますか?
Difyのチャット履歴機能により会話は保存されます。同じチャットを続けることで前日比較のフィードバックが機能します。新しいチャットを開始すると履歴がリセットされるのでご注意ください。
Q3. スマホからでも使えますか?
公開URLにスマホからアクセスすれば使えます。ホーム画面に追加しておくとアプリのように使えて継続しやすくなります。
Q4. 無料プランで作れますか?
Difyの設定は無料プランで可能です。OpenAIのAPIは使用量に応じた料金が発生しますが、1日1回の食事記録程度であれば月数十円〜数百円の範囲内です。
9. まとめ
- 食べたものを話しかけるだけで栄養分析→不足栄養素→明日の食事提案まで全自動
- ダイエット・筋トレ・健康維持・美容の4目標に対応したパーソナライズ
- 前日比較の継続フィードバックで「また記録したい」体験を設計
- 変数4つ+プロンプト1つで完成。所要時間15分
- ビジョン機能ONで写真を貼るだけで使える本格アプリに進化
今まで紹介したアプリの中で最も「毎日使い続けてもらえる」アプリです。一度作れば自分でも毎日使いたくなります。ぜひ試してみてください。
次に読むおすすめの記事はこちら
【Difyの真骨頂】並列処理で「天使と悪魔」が議論する!決算書PDFから最強の投資判断アプリを作る方法
xもやってるので良かったら見に来てください
次回も是非お楽しみに!


コメント