# 個人健康數據基礎設施：從 10 年 Apple Health 到 AI 驅動的交叉分析

> 我們並不是沒有資料，而是沒有基礎設施。這篇文章記錄了我如何從 iPhone 和 Apple Watch 匯出超過 10 年、300 萬筆健康數據，結合 Fitbit MCP 即時串接與 Claude AI，建立自己的個人健康基礎設施（Personal Health Infrastructure），並從中看見單一裝置永遠不會告訴你的事。

- Author: Paul Kuo（郭曜郎）
- Date: 2026-02-21
- Pillar: 智能與秩序 / Intelligence & Order
- Canonical: https://paulkuo.tw/articles/personal-health-data-infrastructure/
- Site index for LLMs: https://paulkuo.tw/llms.txt

---

## 個人健康數據基礎設施

<div class="listen-summary" style="margin:1.25rem 0;padding:0.75rem 1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-section);">
  <div style="font-size:0.9rem;font-weight:600;color:var(--text-secondary);margin-bottom:0.5rem;letter-spacing:0.02em;">▶ 聽摘要</div>
  <audio preload="none" controls style="width:100%;display:block;">
    <source src="https://audio.paulkuo.tw/personal-health-data-infrastructure-zh.mp3" type="audio/mpeg" />
    您的瀏覽器不支援音訊播放，請點此 <a href="https://audio.paulkuo.tw/personal-health-data-infrastructure-zh.mp3">下載音檔</a>。
  </audio>
  <div style="font-size:0.75rem;color:var(--text-secondary);opacity:0.75;margin-top:0.4rem;">AI 合成語音・作者本人聲線克隆</div>
</div>

### 從 10 年 Apple Health 到 AI 驅動的交叉分析

十年前，我並沒有刻意開始一項健康計畫。只是把手機放在口袋裡，手錶戴在手上，日子就這樣過去。

直到最近，我第一次完整匯出 iPhone「健康」App 的所有資料。解壓縮後，是一個 1.3GB 的 XML 檔案。十年、超過 300 萬筆紀錄：步數、心率、睡眠、運動軌跡、自律神經指標。一段身體與時間共同書寫的歷史，橫跨了我的創業、轉型、離開舒適圈到重新開始。

那一刻我意識到：我們並不是沒有資料，而是沒有基礎設施。

---

### 為什麼需要自建分析系統？

主流穿戴裝置各有封閉系統與專利演算法，這造成兩個根本問題。

**第一是數據孤島。** Apple Health 有它的判讀邏輯，Fitbit 有它的演算法。我同時佩戴兩種裝置，它們對同一晚的總睡眠時長高度一致（差距僅 2 分鐘），但對深層睡眠的判讀差了 21 分鐘，REM 差了 15 分鐘。該信誰？答案是：都不能全信，只能交叉比對看趨勢。

**第二是維度缺失。** 手機 App 專注於讓你看「今天」與「這週」，不擅長做跨越三五年的長趨勢分析，更無法將運動量下滑、HRV 惡化與睡眠債累積進行多面向的交叉比對。而這些指標之間的關聯，往往才是最重要的訊號。

要看見全貌，需要的不是另一台穿戴裝置，而是自己的分析基礎設施。

---

### 十年的數位足跡

從 2015 年 8 月起，iPhone 就持續記錄我的活動。2016 年 Apple Watch 加入後，心率與睡眠開始被更精細地量測。2023 年起，Fitbit 成為第二台穿戴裝置，提供另一套獨立的測量基線。

十年間的累積：步數紀錄 279,537 筆，步行與跑步距離 231,300 筆，心率紀錄超過 113 萬筆，睡眠紀錄 29,532 筆。運動方面，跑步 1,420 次、騎車 435 次、游泳 19 次，留下 966 條 GPS 運動軌跡。

2023 年 9 月起，Apple Watch 開始記錄更深層的指標：HRV（心率變異）7,710 筆、靜止心率 753 筆、血氧飽和度 9,837 筆、腕部體溫 439 筆、VO2Max 122 筆。這些才是穿戴裝置真正有價值的數據：不是步數，而是自律神經系統的運作狀態。

單看數字沒有情緒。但當年度分佈攤開來看，很多事就清楚了。

---

### 技術架構：三條資料管線

#### 即時管線：Fitbit → MCP → Claude

透過 Anthropic 的 MCP（Model Context Protocol）協議，Fitbit API 直接接入 Claude Desktop。

**運作方式：** 我可以直接對 Claude 說「分析我最近一週的壓力負荷」，Claude 透過 MCP 呼叫 Fitbit API，取得睡眠（含各階段時長）、心率時序、活動摘要等原始 JSON，即時分析。拿到的是 API 回傳的原始數據，不是 App 已經翻譯過的摘要。

**技術點：** OAuth 2.0 驗證，Token 自動刷新。全程本機運行，資料不經過第三方伺服器。

#### 深度管線：Apple Health → XML → 結構化分析

Apple 不提供個人用途的 Health API，唯一出口是從 iPhone 手動匯出。

**處理流程：** 用 Python 串流解析 1.3GB 的 XML（不試圖一次載入），先建立資料類型索引，再分類萃取各指標到獨立 JSON：睡眠、HRV、靜止心率、血氧等，最後建立日度與月度彙總。

**解決痛點：** Apple 的睡眠分 Core / Deep / REM 三階段，Fitbit 分 Light / Deep / REM。Apple 的 Core 大致對應 Fitbit 的 Light，但演算法判定標準不同。處理時只對齊趨勢方向，不比較絕對數值。

#### 自動化管線：CI/CD 持續部署

Mac 上的 crontab 每 10 分鐘執行更新腳本，透過 Fitbit OAuth API 拉即時資料，git push 觸發 GitHub Actions 自動 build，Cloudflare Pages 部署。健康儀表板永遠保持最新狀態，從資料產生到網站更新，全程無人工介入。

這不是炫技。我不想偶爾看一次圖表。我希望它成為長期運作的基礎設施。

---

### 數據真正說的話

當十年的曲線疊合起來，數字比感覺更誠實。

#### 運動量的消長：從日日三鐵到歸零

2018 年，我開始參加三鐵賽事，每年至少一場。同時加入「日日三鐵」：每天從游泳、騎車、跑步中選一項執行的自律社群。我最常選跑步，門檻最低，穿上鞋就能出門。

開始這件事有兩個原因。一個是私人的：做兒子的表率，讓他看到父親怎麼管理自己的身體和紀律。另一個是從創業經歷中學到的：健康是承載所有決策和執行力的硬體。幾乎所有我認識的優秀 CEO 都有規律的運動習慣，甚至樂於挑戰極限運動。那不是因為他們「有時間」，而是因為他們理解：身體的恢復週期不可被壓縮。

GPS 軌跡的年度分佈記錄了這段歷程：2021 年 93 條、2022 年 340 條、2023 年 294 條、2024 年 200 條、2025 年 39 條。2022 年幾乎每天都有運動紀錄，是日日三鐵執行最徹底的一年。

之後幾年，工作轉型、責任增加、生活結構改變。我並沒有意識到自己正在放棄恢復週期。當運動被擠出日程，數據顯示身體隨即開始「負債」。

#### 睡眠債：連續 33 個月未達標

結合 Fitbit（2023/05-2026/02，883 晚）和 Apple Watch（2023/09-2025/12，537 晚）的紀錄：33 個月，沒有任何一個月的平均值達到建議的 7 小時。全期平均約 5 小時 50 分。

每天少一小時，三年就是超過一千小時的睡眠債。

趨勢更值得在意：2023-2024 年約 6 小時上下，2025 年降到 5 小時 41 分，Q2 觸底 5 小時 16 分。睡眠效率從 83% 滑落至 74%。不只是睡得少：躺得更久，但真正入睡的比例越來越低。身體在休息，神經系統還在運轉。

#### HRV 與靜止心率：最誠實的指標

HRV 從 2023 年的 42ms 下滑到 2025 年中的 31ms，降幅超過 25%。同時靜止心率從 60 bpm 上升到 72 bpm。兩條線同時指向同一件事：自律神經系統長期處於壓力狀態。

這不是情緒判斷，是生理訊號。而且這是 Apple Watch 獨有的資料：如果只看 Fitbit，永遠不會知道。這正是跨裝置交叉分析的價值：單一 App 不會主動跳出的警告，在多面向對照下無所遁形。

---

### 經驗教訓：資料管線的脆弱性

在這次分析中，我發現 2022 年後的體重數據完全中斷。原因非常平庸：智慧體重計壞了，而我一直沒有替換。

這是一個典型的數據教訓：**硬體故障是個人數據基礎設施最大的威脅。** 資料一旦斷裂，那段時間的身體變化就成了永遠的黑洞。不是不想記錄，而是斷了就沒有再接回來。

同樣的脆弱性也出現在 Apple Health 匯出上：這是一個需要手動觸發的流程，如果不定期匯出，最新的資料就只存在於 iPhone 裡，無法被外部分析。

認識到這種脆弱性，是建立可持續基礎設施的第一步。

---

### 裝置搭配的實務建議

26 個月的雙裝置重疊資料讓我得出一套原則：總睡眠時長以 Fitbit 為主（覆蓋率高，每月 25-31 晚），REM 睡眠參考 Apple Watch（加速度計對微動作偵測更精準），深層睡眠只看趨勢不看絕對值（兩裝置演算法差異最大的指標）。HRV、靜止心率、血氧是 Apple Watch 獨有的領先指標。

Fitbit 是日常追蹤的主力，Apple Watch 是深度健康評估的輔助。兩者互補，不是互相取代。

---

### 下一步：從觀察到介入

這套系統的下一階段不是增加圖表，而是三件事：AI 異常偵測（當 HRV 連續三天低於基線，Claude 主動發出介入建議）、生活型態標註（記錄介入行為的前後對照）、以及更多數據源整合（Oura Ring 體溫、智慧血壓計、體脂計：每多一條管線，交叉分析的面向就多一層）。

從「看數據」進化到「用數據驅動行為改變」：這才是個人健康基礎設施（Personal Health Infrastructure）的真正價值。

---

### 結語

十年的資料證明了兩件事。

第一，身體一直在發出訊號。HRV 下降、靜止心率上升、睡眠效率崩塌、運動量歸零：這些分散在不同裝置裡的訊號，在各自的 App 裡看起來都還「在範圍內」。是自建的分析基礎設施，讓它們匯聚成一個無法忽視的趨勢。

第二，我曾經做得到。1,420 次跑步、435 次騎車、每年一場三鐵：2022 年的 340 條 GPS 軌跡證明日日三鐵是可行的。衰退不是命運，而是結構。

健康不該只是「今天走了幾步」。它應該是一套可被驗證、可被修正、可被持續優化的個人系統。

十年的資料不是為了懷舊，而是提醒自己：趨勢一旦看清，就沒有再假裝看不見的理由。

---

*本文的健康數據分析儀表板可在 [paulkuo.tw/health](/health) 查看。*

*技術細節：Fitbit MCP 設定、Apple Health XML 解析流程、Chart.js 視覺化、CI/CD 自動化管線等，歡迎聯繫交流。*
