iT邦幫忙

2026 iThome 鐵人賽

DAY 27
0
Claude AI

跟 Claude Code CLI 變成好朋友系列 第 27

【Day27】使用 Claude 實作 AI 食譜推薦

  • 分享至 

  • xImage
  •  

現在,陸續完成了 my-refrigerator 的核心功能:可以管理冰箱裡的食材、建立採買清單、查看食譜與收藏最愛食譜,也加入了「全聯特價食材」功能。到了今天,我們終於可以把這些資料真正串在一起,讓 AI 開始思考:

「我現在可以煮什麼?」

對喜歡下廚的人來說,最困擾的往往不是沒有食材,而是冰箱裡明明有很多東西,卻不知道今天到底可以煮什麼。

例如今天冰箱裡有雞蛋、番茄、雞胸肉和高麗菜,使用者可能完全不知道該怎麼搭配。但如果系統能夠根據目前的食材,自動推薦幾道料理,就能省下很多搜尋食譜的時間。

因此,今天要使用 Claude Code 實作 AI 食譜推薦功能

這一次,我們會建立新的 AI Recommendation Skill

如果 AI Vision Skill 負責「讓 AI 看懂圖片」,那麼 AI Recommendation Skill 的角色就是:

「規範 AI 應該如何根據資料進行推薦。」

推薦功能看起來只是把資料丟給 AI,但真正要做好,還需要思考推薦條件、資料來源、Prompt、輸出格式,以及推薦結果如何被使用者理解。

因此,在開始實作之前,可以讓 Claude Code 閱讀:

CLAUDE.md
Database Skill
Backend/Data Skill
Feature Skill
AI Vision Skill
AI Recommendation Skill

接著提出需求:

「請閱讀目前專案的 Context 與相關 Skill,設計 my-refrigerator 的 AI 食譜推薦功能。根據使用者目前的冰箱食材推薦適合的料理,並優先推薦能使用現有食材完成的食譜。請先分析推薦流程與 Prompt,不要立即修改檔案。」

這裡最重要的,就是先定義推薦依據

最基本的條件可以是「目前冰箱裡有哪些食材」。

例如:

雞蛋
番茄
高麗菜
雞胸肉

AI 可以根據這些資料推薦:

🍳 番茄炒蛋
🍗 番茄雞胸肉
🥬 高麗菜炒蛋

但是,如果只做到這裡,還不算真正的個人化推薦。

我們還可以加入更多條件。

例如使用者收藏過哪些食譜?平常喜歡什麼料理?有哪些食材不喜歡?今天有哪些食材即將過期?最近哪些食材正在特價?

這些資料都可能影響推薦結果。

因此,AI Recommendation Skill 可以定義推薦優先順序,例如:

1. 優先使用冰箱現有食材
2. 優先使用即將過期的食材
3. 優先推薦使用者收藏或喜歡的料理
4. 優先搭配近期特價食材
5. 減少需要額外採買的食材

這樣 AI 的推薦就不只是「我想到什麼就推薦什麼」,而是有一套可以解釋的規則。

例如今天冰箱裡有雞蛋與番茄,而全聯目前番茄正在特價,系統就可以推薦:

番茄炒蛋

目前冰箱已有:雞蛋、番茄

需要額外購買:無

預估料理時間:15 分鐘

這種推薦對使用者來說會比單純顯示「番茄炒蛋」更有價值,因為它告訴我們:

為什麼推薦這道菜?

這也是 AI Recommendation Skill 很重要的一部分。

AI 的輸出也最好使用結構化格式,而不是單純回傳一大段文字。例如:

{
  "recommendations": [
    {
      "recipe": "番茄炒蛋",
      "reason": "目前冰箱已有雞蛋與番茄",
      "missingIngredients": [],
      "difficulty": "easy",
      "estimatedMinutes": 15
    }
  ]
}

如此一來,Vue 前端就可以把資料轉換成漂亮的推薦卡片,而不需要從一大段自然語言中猜測資料。

不過,這裡也要注意一個重要問題:

AI 推薦不代表 AI 可以任意捏造食譜。

如果我們已經有自己的 Recipe 資料庫,第一階段可以優先讓 AI 從現有食譜中進行推薦,而不是讓 AI 隨意生成一個不存在的食譜。

也就是:

冰箱食材
    ↓
取得可用食材
    ↓
查詢 Recipe
    ↓
AI 分析匹配程度
    ↓
排序
    ↓
推薦結果

這樣可以讓推薦結果更加穩定,也比較容易控制資料來源。

未來如果要進一步加入 AI 自動生成食譜,也可以在這個基礎上慢慢擴充。

另外,推薦結果也應該保留使用者操作的可能性。

例如:

❤️ 收藏食譜

🛒 加入採買清單

🍳 開始料理

這樣 AI Recommendation 就能再次和前面的功能串起來:

我的冰箱
    ↓
AI 食譜推薦
    ↓
選擇一道料理
    ↓
缺少食材?
   ↙       ↘
  沒有       有
   ↓          ↓
開始料理   加入採買清單

這才是我們想打造的 my-refrigerator。

不是單純增加一個 AI 按鈕,而是讓 AI 真正參與使用者的生活流程。

完成今天的功能後,my-refrigerator 已經開始具備完整的 AI 應用雛形:

看懂食材 → 管理食材 → 掌握特價 → 推薦料理 → 規劃採買。

AI Recommendation Skill 也讓 Claude Code 不只是「幫我們呼叫 AI API」,而是開始遵循一套完整的推薦邏輯。

接下來,我們就要進入專案的品質與工程化階段。

使用 Claude Code 進行 Test、Debug 與 Refactoring,讓目前已經完成的 my-refrigerator 不只是「可以動」,而是變得更加穩定、可靠,也更容易維護。


上一篇
【Day26】使用 Claude 建立「全聯特價食材」功能
下一篇
【Day28】使用 Claude 打磨 Test / Debug / Refactoring
系列文
跟 Claude Code CLI 變成好朋友30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言