Home
學生控制台
註冊會員/登入
研究知情同意書
UeduGPTs
Uedu Jupyter
我的學習畫像
學習特質探索
Uedu Mind
Uedu Fit
Garmin 儀錶板
運動紀錄
Wellness Toolkit
PALM
Uedu Brain Dev
Learning Portfolio
山巒地圖
我的證書
教師控制台
課程設定
EMI Toolkit
Assessment Toolkit
Interaction Toolkit
Forum Toolkit
AI 知識庫
功能介紹
教學實踐研究
學術交流
教學工作坊
活動主辦
課程搜尋
FAQ常見問答
使用教學
更新紀錄
學生研究團隊招募
建立AI助教說明
教師研究社群
教學研究支援
Uedu Labs
隱私權政策
資料安全
研究倫理
支援與訊息
支持 Uedu
Uptime 數據

UeduGPTs

--

Jupyters

5

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 天)