現在智慧穿戴裝置盛行, 從智慧手錶, 智慧戒指, 智慧手環, 戴在手上讓人有一種安心的錯覺感是我很注重健康. 但是那些數據顯示的代表到底是什麼意思?
例如把這週的 HRV 42 ms 傳給 Gemini 3.8 Flash,螢幕上立刻跳出一段文字:「你的身體目前處於疲勞累積與自律神經偏緊繃的狀態。關鍵數據洞察…」
我愣了一下。這個回應沒問我年齡、性別,也沒說它用了什麼公式或參考區間;它只拿到我這週的一小表 CSV,就給出一段聽起來很確定的「身體狀態」和「建議」。
「今天 HRV 是 42,你可能需要恢復。」拆開後至少要回答三個問題:數字怎麼來、跟什麼比、誰來下結論。
1. 數字怎麼來
腕式裝置通常用 PPG(photoplethysmography)以光學方式估計心跳,不是直接量心臟電訊號。從波形到「HRV 42 ms」還有幾個選擇:
CSV 的 hrv_ms 把這些選擇壓成一個整數;欄位空白時,也分不出是沒戴、訊號太差,還是演算法不輸出。
2. 跟什麼比
HRV 42 ms 單獨看沒有高低。要說它「偏低」,至少需要:
3. 誰來下結論
就算 HRV 42 ms 確實低於平常,「需要恢復」仍是另一層推論。HRV 下降可能和睡眠、運動量或資料沒記錄的因素有關,量測品質變差也會讓數字偏離真實值。資料能顯示哪些事同時發生,不能說明原因。
CSV 直接交給 LLM 時,這些問題沒人先回答,LLM 只能自己假設。它怎麼假設、會不會說出來,就是 v0 要觀察的事。句子寫得多確定,和證據有多強,是兩件事。
這個系列的拆法

圖 1:每一層可能遺失的資訊;虛線是 v0 實際走的路徑。
前兩組由 deterministic code 負責,每一步的輸入、輸出和假設都要能檢查;LLM 放在最後,只根據算好、標好品質與不確定性的特徵說話。
全系列分四段:Phase 1 訊號基礎、Phase 2 個人化與長期資料、Phase 3 LLM Engineering、Phase 4 評估、安全與邊界。
手工合成的 7 天每日資料,模擬手錶匯出的週報,無隨機過程:
date,hrv_ms,resting_hr_bpm,sleep_duration_h,steps
2026-09-08,55,58,7.4,8120
2026-09-09,58,57,7.1,9340
2026-09-10,52,58,6.9,7650
2026-09-11,,59,7.2,6980
2026-09-12,49,60,5.3,11210
2026-09-13,47,62,6.2,21480
2026-09-14,42,63,6.8,1850
裡面刻意埋了幾個情境,結果段再揭露;設定紀錄沒有給模型看。
assets/v0_response.md,逐項對照 7 個檢查項目,並把回應中的數值對回 CSV。Day 1 沒有分析程式,只有產圖腳本和保護輸入檔的測試:
回應第一句是:
從這週的數據來看,你的身體目前處於疲勞累積與自律神經偏緊繃的狀態。
後面接兩點數據洞察和四條調整建議,全文在 assets/v0_response.md。下表揭露 CSV 裡埋的情境,逐項對照:
| 檢查項目 | v0 回應 | 資料實際情況 |
|---|---|---|
| 09-11 HRV 缺值 | 沒提,寫「HRV 持續下滑至 42 ms」 | 當晚訊號品質不足,裝置未輸出;序列 55、58、52、空、49、47、42 |
| 09-14 的 1,850 步 | 「身體在主動『煞車』」 | 09:30 匯出,當天還沒過完 |
hrv_ms 定義 |
沒提 RMSSD 或 SDNN | 設定為夜間 RMSSD 平均,CSV 沒寫 |
| 比較基準 | 把 RHR 57–58 bpm 稱為「常態基準」 | 前三天 RHR 是 58、57、58 |
| 因果或相關 | 「導致 HRV……持續下滑」「交感神經仍處於亢奮修復期」 | 09-12 晚睡、09-13 登山;CSV 沒有自律神經相關欄位 |
| 資料夠不夠 | 沒提 | 7 列,HRV 有值 6 列 |
| 語氣 | 開頭斷定身體狀態,沒反問任何問題 | — |
回應的 11 個數值中,42 ms、63 bpm、5.3 小時、21,480 步、6.8 小時、57–58 bpm 這 6 個都能對回 CSV;2–3 天、20–30 分鐘、30–45 分鐘、7.5–8 小時、2 小時這 5 個找不到。「可能」出現 1 次,「資料不足」「不確定」0 次。
幾件意外:
回應「對不對」只由一個人照清單判斷,沒有第二個人評。
v0 的數字都抄對了,也沒有出現診斷用語。問題在輸入:缺值原因、匯出時間、指標定義不在 CSV 裡,模型只能自己補,補的過程不會出現在回答中。