iT邦幫忙

2026 iThome 鐵人賽

DAY 26
0

Part 5|第 27/30 篇
今日要做的事: 用 D3 那碗微波洋蔥雞肉蛋蓋飯,把推薦、完成、扣庫存接到下一餐的 Context。
今天要解決的目的: 分清哪些步驟已經在本機或固定回放裡驗過,哪些還沒有接成一條使用者走得到的路。

Day 25 的 Hard 是 16/16。規則過了,推薦可以守住當天的限制。

接著是另一個問題。假設今天交出的是微波丼。我看完決定不煮,明天的冰箱應不應該少一顆蛋?

這不是某天晚上真的發生的事。它是在問狀態:推薦、採用、完成,能不能跳著走。跳了的話,下一餐看到的冰箱就是錯的。

https://ithelp.ithome.com.tw/upload/images/20261010/20121052V4Pl5TdV5t.jpg


今日任務卡

項目 內容
產出 用 D3 對上 Day 17 的狀態、Day 22 的回放、Day 23 的六格
案例 固定情境裡的週三:只剩微波爐,候選 1 道,微波洋蔥雞肉蛋蓋飯
工具 既有契約與回放。沒有新的 Gemini 呼叫
不用這篇證明 真人採用率、完成率、留存、減廢成效

本篇整理的是既有工程契約、固定情境回放與 Alpha 成果。還沒有真人連續使用,所以不填採用率、完成率或留存率。


1. 三篇放在同一餐上

D3 的條件在回放開始前就鎖好:只剩微波爐、30 分、預算中。設備篩完,候選只剩微波丼。Gemini 那天沒有第二道可以選。買的是雞腿肉 2 點、洋蔥 1 點、白飯 1 點,用到冰箱裡原有的蛋。

Day 22 把這筆放進五天腳本。有記憶的那組會照真實冰箱扣,再把扣完的結果交給下一天。Day 23 拿同一筆做成六格:Hard、Budget、Time、Pantry 過,Chain 和 Balance 是 N/A,tip 在煮完之後才寫「雞腿肉只放 2 天」。Day 17 則規定這中間的時序:打算做是 adopted,庫存不動;收到 complete_cook 才 outflow。

三篇對得上的是同一碗。對不上的是誰按了完成。回放腳本會把可行的那餐煮完並扣庫存。Day 17 的測試是本機記憶體,Firestore transaction 當時沒接。卡片是回放結果存進去,不是有人在頁面上按了煮完才長出來。


2. 看完不煮,蛋要留著

Day 17 鎖過的順序是:

https://ithelp.ithome.com.tw/upload/images/20261010/20121052I39PINj8gr.png

recommended → adopted → complete_cook → outflowed
adopted → abandoned
走到 冰箱
推薦出來 不動。蛋還在
adopted,打算做 仍不動。測試裡豆腐和雞蛋的數量沒變,pantry_writes 是 0
abandoned 只改狀態。契約寫明不能呼叫 completeCook,所以不扣、也不寫 tip
complete_cook 才依實際用量扣。外食用餐只追加 meal tags,不走這段

skipped 和 abandoned 先寫在契約裡。程式當時只有採用和煮完兩個入口,這兩個狀態還沒有頁面上的按鈕。

套回微波丼:看完不煮,不該少那顆蛋,也不該把「剛買的雞腿肉只放 2 天」寫進明天的 Context。那句 tip 是煮完才有的。若推薦一出現就扣蛋,下一餐會以為蛋沒了,再推薦別的;實際上蛋還在盒裡。


3. 有記憶看的是扣完的冰箱

Day 22 的有記憶,每天拿的是前一天扣過、再過一天之後的冰箱。沒記憶每天仍拿第一天的來規劃,真的要煮時才對上已經變過的庫存。五天加總是 7 點對 12 點。

這是一份鎖定的五天情境,不是某一戶人家連著五個晚上的紀錄。兩組都還有食材過期,所以 7 點不是零浪費。它說明的是:下一餐的 Context 若永遠停在第一天,少買這件事會算錯。D3 用掉的蛋、買進來的雞腿肉,要嘛進了完成後的庫存,要嘛不該進。沒有中間那種「推薦過就算吃了」。


4. 現在接上了哪一段

https://ithelp.ithome.com.tw/upload/images/20261010/201210526cYaXy91iZ.png

已經有 證據停在
採用不扣、煮完才扣 Day 17 本機時序。Firestore transaction 當時沒接
固定五天的扣庫存與 7/12 點 Day 22 回放腳本,不是使用者按完成
D3 六格與煮完才出現的 tip Day 23,result_cards/memory_D3
成績頁 localhost:3024,給看考卷,不在晚餐流程裡

localhost:3022 跑回放,localhost:3023 存卡片。兩邊都還沒有「今晚採用/拒絕/中止」的入口,所以真人從推薦走到完成、再交給下一餐,這條還沒串起來。


5. 今日結論

符合規則的推薦還不是一餐完成。微波丼可以過 Hard,蛋要不要從明天的冰箱消失,取決於有沒有 complete_cook。庫存若把「看過」記成「吃過」,後面的少買、少浪費都會對著錯的冰箱說話。

下一篇: 回到 Eat-Cost Balance。手上有守得住的推薦,也有固定情境裡扣得動的庫存。缺的是人的決定真的寫進下一餐。


附錄:D3 在三篇裡的位置

Day 22  候選 1 道,腳本煮完並扣庫存
Day 17  adopted 不扣;complete_cook 才 outflow(本機)
Day 23  同一筆的六格;tip 在完成之後
尚未串上  頁面上的採用/拒絕/中止 → 寫回 → 下一餐

上一篇
[Day 25] Hard 全過,完整性 0.071:這算成功嗎?
系列文
DishFlow AI Agent:用 Google AI 打造 Eat-Cost Balance 的下一餐決策系統 共 26 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言