Home
學生控制台
註冊會員/登入
研究知情同意書
UeduGPTs
Aida 優學伴
Uedu Open
支援與訊息

UeduGPTs

--

Jupyters

3

AI 回覆桌面通知

AI 助教回覆完成時顯示桌面通知

聊天訊息通知

同學在討論區發送訊息時通知

聲音通知

每當有新通知時播放提示音

METHODOLOGY

PALM 生理感知
語言模型方法論

說明 Uedu 平台如何整合 Garmin 穿戴裝置的生理數據,透過雙基線統計偏移偵測,讓 AI 助教感知學習者的身心狀態並調整對話策略。

1. 概述

PALM(Physiologically-Aware Language Model)是 Uedu 平台的生理感知語言模型模組,屬於 Educational Omics 框架中 PhysioNeuromics 維度的核心實作。

PALM 的設計哲學是關懷嵌入對話本身,而非外部推播通知。當學生的睡眠、HRV、壓力等生理指標偏離個人基線時,AI 助教會自動調整對話策略(例如語氣更柔和、建議休息),而學生不會看到任何額外的通知或警告。

2. 資料來源與 ETL

2.1 資料來源

目前 PALM 的生理數據來自 Garmin Connect API。學生需在 Uedu 平台授權連接 Garmin 帳號(Uedu Fit 模組),系統即自動接收穿戴裝置的每日健康摘要。

2.2 ETL Pipeline

Garmin 推送的原始 JSON 資料經由 sync_garmin_to_palm_summary() 函數進行 ETL(Extract-Transform-Load),統一寫入 palm_health_summary 資料表:

PALM ETL Pipeline Garmin Connect API sleeps hrv · stressDetails dailies · userMetrics Push JSON (per day) ETL 轉換 欄位標準化 壓力 / Body Battery 平均計算 UPSERT(同日多來源不重複) palm_health_summary 每人每天一筆 統一格式 · 跨裝置相容 UK: (user_id, summary_date) Cron 基線重算 每日 UTC 04:00(台灣中午) 7 天 + 30 天雙窗口 palm_user_baseline AI 助教 System Prompt 注入生理上下文

3. 生理指標

PALM 追蹤以下五類生理指標:

類別指標來源說明
睡眠sleep_duration_secondssleeps總睡眠時長(秒)
sleep_deep_secondssleeps深層睡眠時長
sleep_light_secondssleeps淺層睡眠時長
sleep_rem_secondssleepsREM 睡眠時長
sleep_scoresleepsGarmin 睡眠品質分數
HRVhrv_last_night_avghrv昨晚平均心率變異性(ms)
壓力stress_avgstressDetails全日壓力平均值(0-100)
body_battery_avg / max / minstressDetailsBody Battery 平均 / 最大 / 最小
活動steps, active_calories, distancedailies每日步數、活動卡路里、距離
心率resting_heart_rateuserMetrics靜息心率(bpm)

4. 雙基線統計模型

PALM 為每位使用者建立兩個時間窗口的個人基線:

窗口天數用途最少資料天數
急性基線7 天偵測近期急性變化(「這幾天跟上週比」)3 天
趨勢基線30 天偵測整體偏移(「跟平常比」)3 天

4.1 基線計算內容

每個基線包含以下統計量(針對窗口內有數據的日子計算):

  • 平均值(AVG):睡眠時長、睡眠分數、HRV、壓力、Body Battery、步數、靜息心率
  • 標準差(STDDEV):睡眠時長、HRV、壓力、Body Battery
  • 資料天數(days_with_data):實際有數據的天數
  • 計算範圍(from_date ~ to_date)

4.2 基線更新頻率

基線由 Cron Job(cron_palm_baseline.py每日 UTC 04:00(台灣中午 12:00)自動重算。選擇此時段是因為 Garmin 的睡眠數據通常在上午同步完成。

5. 偏移偵測與分類

5.1 Z-Score 偏移偵測

當學生與 AI 助教對話時,系統即時比較當前生理數據與雙窗口基線,使用 z-score 判斷偏移程度:

z = (current_value - baseline_avg) / baseline_std

根據 z-score 的絕對值,將偏移分為三個等級:

分類條件意義
normal|z| < 1.0在正常範圍內
above_normal / below_normal1.0 ≤ |z| < 2.0輕微偏離基線
significantly_above / significantly_below|z| ≥ 2.0顯著偏離基線

注意:部分指標「越高越好」(如 HRV、睡眠時長、Body Battery),部分「越低越好」(如壓力),系統會根據指標方向性判斷偏離是正面還是負面。

5.2 雙窗口交叉判斷

系統對 7 天和 30 天基線分別計算偏移,再交叉判斷趨勢:

7 天偏移30 天偏移趨勢判斷意義
異常異常persistent(持續性)長期問題,更值得關注
異常正常acute(急性)近期才出現的變化
正常異常可能正在恢復中
正常正常normal一切正常

6. AI 對話注入

偏移偵測完成後,系統將生理狀態摘要組裝為一段文字,注入 AI 助教的 System Prompt。AI 助教會據此調整對話策略,但不會直接向學生顯示生理數據

6.1 注入內容範例

System Prompt 注入片段(示意)

## 學習者生理狀態 - 睡眠:昨晚 5.2 小時(個人平均 7.1 小時),顯著低於基線,持續性 - HRV:38 ms(個人平均 45 ms),低於基線 - 壓力:偏高(72,個人平均 45),急性變化 - 時段:深夜(凌晨 1:30) 請適度關懷學習者的身心狀態,語氣柔和。若發現學生注意力不集中或表現疲倦,可建議適當休息。

6.2 時間情境

系統會根據台灣當地時間判斷時段(清晨、上午、下午、晚上、深夜),並納入 AI 的參考。例如深夜提問時,AI 可能會提醒學生注意休息。

6.3 Graceful Degradation

當生理數據不足時(少於 3 天基線數據、學生未授權 Garmin 等),PALM 模組不會注入任何內容,AI 助教的行為與未啟用 PALM 時完全一致。

7. 隱私與倫理

研究倫理注意事項

生理數據屬於敏感個人資訊。使用 PALM 相關數據進行研究時,必須取得參與者的知情同意,並通過機構的研究倫理審查(IRB)。

  • 授權機制:學生必須主動在 Uedu Fit 模組中授權連接 Garmin,系統不會自動收集
  • 資料可見性:生理數據僅存在於後端,學生在對話中不會看到自己的數據被引用
  • 退出機制:學生可隨時取消 Garmin 授權,系統即停止接收新數據
  • 資料匯出:教師匯出研究數據時,需遵循平台的研究倫理規範

8. 研究引用建議

方法論描述範本

AI 助教透過 Uedu 平台的 PALM(Physiologically-Aware Language Model)模組整合學習者的生理狀態。生理數據來自 Garmin 穿戴裝置(含睡眠時長與分期、HRV、壓力指數、Body Battery、靜息心率),經 ETL pipeline 統一儲存於 palm_health_summary 資料表。系統為每位使用者建立 7 天(急性)與 30 天(趨勢)雙窗口個人基線,以 z-score 偵測當前數值與基線的偏移程度,並交叉判斷偏移趨勢(急性 / 持續性)。偏移摘要注入 AI 的 System Prompt,使 AI 在對話中自動調整語氣與策略,但不直接向學生顯示生理數據。最少需 3 天數據方可啟用。詳細方法論說明見 https://uedu.tw/doc/palm。

建議同時提供:

  • 參與者使用的 Garmin 裝置型號
  • 資料收集期間與有效天數比例
  • 知情同意書版本與 IRB 核准文號
  • 基線窗口天數設定(預設 7 + 30 天)