iT邦幫忙

2026 iThome 鐵人賽

DAY 26
0
Claude AI

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

【Day26】使用 Claude 建立「全聯特價食材」功能

  • 分享至 

  • xImage
  •  

昨天, my-refrigerator 開始具備「智慧」功能。讓使用者可以透過手機拍照辨識冰箱裡的食材。現在,我們已經知道「家裡有什麼」,下一個想知道的就是:

「最近有什麼食材正在特價?」

對喜歡下廚的人來說,採買不只是把缺少的東西補齊,如果能知道最近有哪些食材正在優惠,就可以根據價格安排下一餐,甚至反過來決定這週要煮什麼。

因此,今天要使用 Claude Code 建立 「全聯特價食材」 功能。

這一次會使用新的 Web/Data Skill

如果 Database Skill 負責「資料庫怎麼設計」,Feature Skill 負責「一個功能怎麼開發」,AI Vision Skill 負責「AI 圖像辨識怎麼處理」,那麼 Web/Data Skill 就是負責處理:

「外部網站資料如何取得、整理、驗證與保存。」

因為「全聯特價食材」不是我們自己建立的資料,而是來自外部資料來源,所以開發時需要特別注意資料來源、更新時間、資料格式,以及來源是否允許使用。

開始之前,可以讓 Claude Code 閱讀:

CLAUDE.md
Database Skill
Backend/Data Skill
Feature Skill
Web/Data Skill

接著提出需求:

「請閱讀目前專案的 Context 與相關 Skill,規劃 my-refrigerator 的『全聯特價食材』功能。需要取得外部特價食材資料,整理成適合前端顯示的格式,並保存必要的資料。請先分析資料來源與資料流程,不要立即修改檔案。」

這裡第一個需要思考的問題就是:

資料從哪裡來?

如果外部網站提供公開 API,可以優先使用 API;如果沒有 API,也不能直接假設可以任意抓取網站內容,而是要先確認網站的使用條款、robots 規範與資料授權方式。

因此,Web/Data Skill 可以要求 Claude Code 在實作前先確認:

資料來源
↓
是否有 API?
↓
是否允許取得?
↓
資料格式
↓
更新頻率
↓
資料清洗
↓
儲存方式

這個流程非常重要。

例如外部資料可能長這樣:

商品名稱:高麗菜
原價:59
特價:39
優惠期間:08/10~08/16

但我們真正希望在 my-refrigerator 中使用的資料,可能需要整理成:

name
original_price
sale_price
discount
start_date
end_date
source
updated_at

也就是把外部網站的資料轉換成我們自己的資料模型。

這就是 Web/Data Skill 很重要的地方:外部資料不是拿來就能直接使用,而是需要經過整理與標準化。

另外,特價資料最大的問題之一就是「會過期」。

例如今天顯示高麗菜特價 39 元,但活動結束後,這筆資料就不能繼續當成目前優惠。因此資料庫最好保存:

start_date
end_date
updated_at

前端顯示時,也應該只顯示目前仍在有效期間內的資料。

甚至可以讓畫面顯示:

🥬 高麗菜
原價 $59
特價 $39
優惠至 08/16

並提供「加入採買清單」按鈕。

這樣一來,新的功能就能和 Day23 的採買清單串起來:

全聯特價食材
      ↓
發現高麗菜特價
      ↓
加入採買清單
      ↓
完成採買
      ↓
加入我的冰箱

這樣的設計才真正符合 my-refrigerator 的核心概念:幫助使用者從「發現食材」一路走到「買回家」與「放進冰箱」。

今天也可以讓 Claude Code 協助建立資料同步流程。

例如要求:

「請設計特價食材資料的更新機制,避免過期資料持續顯示,並保留資料來源與最後更新時間。」

Claude Code 可以根據 Web/Data Skill 提出資料流程,再由我們確認是否合理。

同時,也要特別注意不要把外部網站的資料直接當成永遠正確的資料

如果資料來源更新、格式改變,甚至網站暫時無法取得資料,系統都應該有相對應的處理方式。例如顯示:

「特價資料最後更新:今天 10:30」

而不是讓使用者誤以為畫面上的價格一定是即時價格。

這也是 AI 輔助開發很重要的一個觀念:

AI 可以幫我們寫資料抓取與整理程式,但資料來源是否合法、可靠,以及資料是否適合使用,仍然需要開發者自己判斷。

完成今天的功能後,my-refrigerator 的使用情境又更完整了:

我的冰箱
   ↓
查看缺少的食材
   ↓
查看全聯特價
   ↓
加入採買清單
   ↓
完成採買
   ↓
加入我的冰箱

而 Web/Data Skill 也讓 Claude Code 開始具備處理「外部世界資料」的能力。

到目前為止,我們已經建立了多種不同用途的 Skill:

Frontend Skill → 前端開發

Database Skill → 資料庫設計

Backend/Data Skill → 資料存取

Feature Skill → 功能開發流程

AI Vision Skill → 圖像辨識

Web/Data Skill → 外部資料整合

這些 Skill 並不是互相獨立的,而是逐漸組合成 my-refrigerator 的 AI Native 開發規範。

下一步,我們可以把目前已經收集到的「冰箱食材」與「食譜」真正交給 AI 思考。

後面,我們將使用 Claude 建立「AI 食譜推薦」功能,讓系統根據冰箱裡現有的食材,推薦今天可以料理的菜色。


上一篇
【Day25】使用 Claude 串接 AI:拍照辨識冰箱食材
系列文
跟 Claude Code CLI 變成好朋友26
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言