Part 5|第 26/30 篇
今日要做的事: 把 Day 24 的 64 列收成 A/B1/B2/C 四欄,看 Hard 16/16 和完整性 0.071 能不能算同一件事。
今天要解決的目的: 分清這次領先來自控制邊界,還是來自七日生活資料。後者我們幾乎沒有。
C 的 Hard 是 16/16。同一欄旁邊,完整性是 0.071。
0.071 不是模型只聽懂 7.1%。它是既定公式:當天有冰箱和時間預算,得 0.5,再乘覆蓋率 1/7。七日紀錄只有題目當天這一筆。
所以我今天想問的比較小:硬限制都守住了,就能說這套 Agent 夠了解這個人嗎?

| 項目 | 內容 |
|---|---|
| 產出 | 四欄記分板。主欄是 Hard、Leftover、Chain、Time、Equipment、Budget、完整性 |
| 輸入 | Day 24 的 64 列,scorer-1,題庫 hash b93e46239d5aa652 |
| 模型 | 沒有新的呼叫。沿用 gemini-3.5-flash、溫度 1 的那一次 |
| Google 服務 | 成績已經在 eval_runs/golden_v1。今天只讀,不另寫一筆 |
回答 ask 的列,Time、Budget、Leftover、Chain、Equipment 是空的,不進分母,也不當成 0。
A 有 9 題追問,Time、Leftover、Equipment、Budget 的分母都是 7。C 的 G16 是追問,這四欄的分母都是 15。Chain 只有 G06 冰箱裡有剩咖哩;A 那題追問,分母是 0,寫 N/A。Balance 四欄都是空的,這 16 題沒有餐點標籤。

| 欄位 | A | B1 | B2 | C |
|---|---|---|---|---|
| Hard 通過 | 6/16 | 13/16 | 13/16 | 16/16 |
| Leftover | 2/7 | 3/16 | 6/16 | 10/15 |
| Chain | N/A | 0/1 | 1/1 | 1/1 |
| Time | 7/7 | 16/16 | 16/16 | 15/15 |
| Equipment | 7/7 | 15/16 | 15/16 | 15/15 |
| Budget | 4/7 | 15/16 | 15/16 | 15/15 |
| 完整性 | 0 | 0.15 | 0.30 | 0.071 |
解析 64 列全部成功。A 的 Leftover 是 2/7,比例看起來高過 B1 的 3/16,只因為少了那 9 題追問。這兩格不能直接比百分比。
四法用的是同一個 gemini-3.5-flash。差在看得到什麼,以及不合法的菜還在不在清單上。
A 只有那一句和 15 道菜單。B1 多了十秒看到的名字。B2 多了當天冰箱 JSON,仍沒有時間、預算、設備和過敏限制。C 有同一份 JSON,也有這些限制。候選先過設備、過敏、時間、預算;避開甲殼類時,貝類也不進名單。過敏種類沒講清楚,C 要回答 ask。
G01 的問句沒說朋友對蝦過敏。B1 和 B2 選了蒜香義大利麵。C 的清單裡沒有蝦、也沒有蛤蜊,它只能在剩下的菜裡選,結果是蒜辣透抽義大利麵。G04 只剩微波爐,這句話沒寫在問題裡。A、B1、B2 的 Hard 在這兩題裡是 1/2,C 是 2/2,兩題都是微波丼。過敏三題 G01、G02、G16,C 是 3/3,A 是 0/3,B1 和 B2 是 1/3。
這些格子說明控制邊界有在做事:模型碰不到已經被拿掉的選項。它沒有說明「多看一份 JSON」和「先過濾再生成」各自貢獻多少。這次比的是四種資訊加上控制流程的配置,沒有把 Context 和 Rule Engine 拆開各跑一輪。C 的 16/16 不能整筆記到 Gemini 頭上。

完整性 C 是 0.071,高過 A 的 0,低過 B1 的 0.15 和 B2 的 0.30。B2 高,是因為單日冰箱 JSON 在公式裡可以算到 0.30,而且沒有再乘 1/7。C 乘了。七日生活資料只剩題目當天,這張表沒有辦法驗證「連續記錄會不會讓下一餐更好」。LifeFlow 那個承諾,這次還沒被測到。
Time 只要交了菜就是全過:A 7/7,B1 和 B2 16/16,C 15/15。四法分不出高下。Chain 只有 G06 一題,B2 和 C 是 1/1,B1 是 0/1。一題可以記,不能拿來講跨天鏈接已經穩定。
Leftover 總數 C 是 10/15,看起來領先。拆開就沒有那麼整齊。15 分的 G03、G11,四法都是 0,過得了時間的菜用不到只剩 3 天的青江菜和袖珍菇。微波爐兩題 C 是 0/2,微波丼用的是還能放 12 天的蛋。B2 在 G04 選了要開火的透抽麵,Hard 沒過,倒是碰到青江菜,所以這兩題 B2 是 1/2。快過期的 G07、G10,C 是 2/2,那是另一組題,不能拿來蓋過前面這兩組。
G05 點名歐姆蛋咖哩。A、B1、B2 都選了那道,Hard 過,Budget 沒過,採購 7 點,上限 4。C 的候選裡沒有這道,交的是蝦仁豆腐花椰菜蒸蛋,Hard 和 Budget 過。合規,點名的菜不在答案裡。沒有人試吃,我不會寫使用者因此不高興。只能說:守住預算,和交出對方剛剛講的那道菜,這次不是同一件事。
Balance 沒有列。偏油、連續外食,記分板上是空的。
這 64 列支持的範圍不大。同一個模型,在 C 這組配置裡比較少踩到硬限制。原因裡同時有兩樣東西:它看得到別人沒有的限制,而且不合法的菜在生成前就離開清單。兩樣綁在一起,我拆不開誰的功勞比較大。
它不支持的也很清楚。合規不是資料完整。0.071 就是覆蓋率把當天那一筆稀釋之後的數字,不是理解力分數,也不是長期 LifeFlow 已經生效。合規也不是滿意度。G05 那種改推薦,評分器算過,人會不會覺得被敷衍,這份考卷沒問。Rule Engine 能把候選縮小,它不會把缺的六天吃飯紀錄補出來。
所以我把結案寫成 mixed。Hard、Leftover 的總數、Chain 那一題,C 沒有落後;Chain 和 B2 並列,而且只有一題。完整性低於 B1 和 B2。Time 全過。Balance 沒有資料。這份 Benchmark 還沒有證明 C 連續用下去會比較好。
Hard 16/16 代表這次的過濾有把不合法的菜擋在模型外面。完整性 0.071 代表七日資料只剩當天。兩格都是真的,放在一起還不能叫做了解這個人。
下一篇: 工程測驗過了以後,還要看人願不願意每天打開它。操作如果很煩,16/16 會停在考卷上。
通過數 / 有資料的列數
空值留 N/A,不進分母
完整性沿用 Day 24:A 0、B1 0.15、B2 0.30、C 0.5×1/7
scorer_version: scorer-1
來源: Day 24 out/rows.json,64 列