iT邦幫忙

2026 iThome 鐵人賽

DAY 23
0

Part 5|第 24/30 篇
今日要做的事: 把 Day 22 有記憶回放的週三,收成一張六格 Result Card。煮完才寫下一句,沒有資料的格子留 N/A。
今天要解決的目的: 讓人不用打開 Firestore,也看得出這餐用了什麼、花了幾點、哪幾格根本沒有資料。

昨天的結算是五個數字。7 點、0 次意外採購、0 天超支。

那些數字是真的,但沒有人想為了一碗微波丼去點開 replay_runs。卡片只要回答:這餐煮完了沒有,以及哪幾件事其實還沒被量到。

https://ithelp.ithome.com.tw/upload/images/20261007/20121052YLAko9rBCV.jpg


今日任務卡

項目 內容
產出 D3 的六格 Result Card,外加煮完才出現的一句
這筆是誰 Day 22 有記憶回放的週三,memory_D3,微波洋蔥雞肉蛋蓋飯
Google 服務 Firebase Auth。按下儲存,寫入 result_cards/memory_D3
照片 封面是 9 月那碗紅碗微波丼

1. 問題:推薦文案證明不了有煮

「少買一點、適合今天」這種句子,四種問法都寫得出來。

週三這筆看得到的只有這些:電磁爐壞了,只剩微波爐;時間上限 30 分;預算是中。設備篩完,候選只剩微波丼。Gemini 那天沒有第二道可以選。

卡片寫的是這道菜過了哪幾關,以及哪幾關今天沒有資料。


2. 設計:六格,煮完才填

https://ithelp.ithome.com.tw/upload/images/20261007/20121052gS7sAUnffR.png

順序固定成:

回放那天的條件
  → 照真實冰箱扣庫存
  → 六格
  → 最後才寫一句 tip

選菜的當下還不知道雞腿肉會不會在兩天內用掉。那句話如果出現在推薦旁邊,就是還沒煮就先慶功。

六格的定義:

格子 D3 怎麼判
Hard 這道只用微波爐,當天也沒有過敏限制
Budget 實際點數不超過「中」。中是 4 點
Time 食譜上的分鐘不超過 30。這道是 16 分,是估計,不是碼表
Pantry 有沒有用到煮之前冰箱裡已經有的東西
Chain 冰箱裡有前一餐留下的半成品才判。這天沒有,所以是 N/A
Balance 要有前幾天的餐點標籤。這次回放沒有,所以是 N/A

美味另外放一行。沒有人打 1 到 5 分,所以是 N/A。


3. 實作

3.0 這張卡從哪裡來

MEMORY_PICKS 是昨天網頁上有記憶的那五道,扣庫存仍走 Day 22 的 replay()。五天加總還是 7 點,跟昨天的結算一樣。

day23/
├─ index.html       五天可切換,預設 D3
├─ test.js          4 個測試
└─ src/
   ├─ card.js       六格跟 tip
   ├─ main.js       畫卡、登入、寫入 Firestore
   └─ firebase.js

3.1 沒煮完就沒有 tip

if (row.outcome !== "COOKED") {
  return { hard_ok: null, budget_ok: null, time_ok: null, tip_card: null };
}

煮完之後,tip 寫的是這筆庫存接下來怎樣。D3 買了雞腿肉,採購表寫這包只放 2 天,所以那句是:

剛買的雞腿肉只放 2 天,下一餐先用它

這句是買完以後,用保存天數算出來的。


4. D3 這張卡

https://ithelp.ithome.com.tw/upload/images/20261007/20121052nJNwl18yI4.png

格子 結果 依據
Hard 過 候選 1 道。開火的菜在進模型前就被拿掉
Budget 過 雞腿肉 2 點、洋蔥 1 點、白飯 1 點,合計 4,等於上限
Time 過 16 分對上限 30 分。16 是食譜估計
Pantry 過 用了冰箱裡原有的 1 顆蛋。青江菜和袖珍菇沒碰到
Chain N/A 前兩天煮的是透抽麵,沒有剩咖哩
Balance N/A 沒有餐點標籤

Pantry 過,是因為用到既有的蛋。青江菜和袖珍菇那天沒進這道菜。袖珍菇是週四過期的。

美味是 N/A。


5. 驗證

4 個測試鎖四件事:五天挑選跟昨天相同、花費仍是 7 點、D3 的六格跟上面這張表一致、沒煮完的列沒有 tip。

https://ithelp.ithome.com.tw/upload/images/20261007/20121052mkI9EwTMCe.png

網頁上的 D3 跟這張表同一筆。左下角寫著已寫入 result_cards/memory_D3。

https://ithelp.ithome.com.tw/upload/images/20261007/2012105252V4YuGlH2.png


6. 今日結論

週三這張卡只證明四件事:設備關過了、花了 4 點沒有超支、估計時間在 30 分以內、用到一顆本來就有的蛋。Chain、Balance、美味都是 N/A。下一句話是煮完才寫的:雞腿肉只放兩天。

下一篇: 同一題考四次。直接問、拍冰箱、貼 JSON、DishFlow,各交一份答案。


附錄:memory_D3 會寫進 Firestore 的欄位

run_id: memory_D3
recipe_title: 微波洋蔥雞肉蛋蓋飯
completed: true
hard_ok / budget_ok / time_ok / pantry_reuse_ok: true
chain_hit / balance_ok / deliciousness: null
points: 4
buy: chicken_thigh, onion, rice
reused: egg
tip_card.one_tip: 剛買的雞腿肉只放 2 天,下一餐先用它

上一篇
[Day 22] 冰箱裡有什麼,今天就煮什麼:同一格冰箱回放五天
系列文
DishFlow AI Agent:用 Google AI 打造 Eat-Cost Balance 的下一餐決策系統 共 23 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言