說明 Uedu 平台如何彙整學生跨課程的多元學習資料,透過 LLM 合成結構化學習側寫,並注入 AI 對話系統實現個人化回應。
Learning Profile(跨課程學習側寫)是 Uedu 平台的學習者畫像合成模組。系統彙整學生在平台上的多元學習資料(9 種來源),透過 LLM 合成結構化的學習側寫 JSON,描述學生的核心興趣、學習風格、認知層次分布與跨課程模式。
學習側寫的核心產出之一是 prompt_injection_zh,一段簡潔的繁體中文描述,會被注入 AI 助教的 System Prompt,讓 AI 在對話中自動適應學生的學習特質,提供更個人化的回應。
學習側寫的合成基於 9 種資料來源,涵蓋學生在平台上的多維度學習足跡:
| # | 資料來源 | 時間範圍 | 說明 |
|---|---|---|---|
| 1 | courses | 全部 | 學生修讀的課程清單(課程名稱、學期) |
| 2 | course_questions | 近 90 天 | 課程 AI 對話中的學生提問紀錄 |
| 3 | notebook_questions | 近 90 天 | 個人筆記本 AI 對話中的學生提問紀錄 |
| 4 | bloom_distribution | 全部 | Bloom's Taxonomy 認知層次分布(六維度比例) |
| 5 | user_memory | 全部 | AI 助教記憶的學生偏好與特點 |
| 6 | profiling_scales | 最新一次 | 學習特質探索結果(RIASEC、Big Five、OEJTS) |
| 7 | ai_interact_evaluations | 全部 | AI 互動作業的評分結果 |
| 8 | interaction_stats | 全部 | 互動統計(對話次數、活躍天數、平均對話長度) |
| 9 | portfolio | 全部 | 學生的學習歷程檔案 |
course_questions 與 notebook_questions 僅取近 90 天的紀錄,以反映學生當前的學習狀態與興趣,而非全部歷史。其餘資料來源取全部紀錄。
學習側寫採用 on-demand(按需)生成模式。當以下情況發生時觸發:
為避免阻塞使用者操作,當快取即將過期時,系統會啟動背景刷新 thread,在背景重新生成側寫,使用者仍可使用舊版快取。
LLM 輸出的學習側寫為結構化 JSON,包含以下欄位:
| 欄位 | 型別 | 說明 |
|---|---|---|
core_interests | Array | 學生的核心興趣領域(如「人工智慧」「心理學」「教育科技」) |
learning_style | String | 學習風格描述(如「偏好實作導向」「喜歡先理解全貌再深入細節」) |
bloom_distribution | Object | 認知層次分布摘要(六維度,基於 Bloom's 分析數據) |
personality_alignment | Object | 與 Profiling 量表結果的對齊描述 |
cross_course_patterns | Array | 跨課程的學習模式觀察(如「在文科與理科課程中展現不同提問風格」) |
knowledge_gaps | Array | 潛在的知識缺口或待加強領域 |
next_steps | Array | 建議的下一步學習方向 |
profile_narrative_zh | String | 完整的學習側寫敘述(繁體中文,供學生閱讀) |
prompt_injection_zh | String | 精簡版描述(繁體中文,注入 AI System Prompt 用) |
prompt_injection_zh 是學習側寫的核心產出之一。這段簡潔的描述會被注入 AI 助教的 System Prompt(見第 6 節),讓 AI 自動適應學生的學習特質。例如:「此學生偏好實作導向學習,擅長分析層次思考,對程式設計有濃厚興趣,建議多提供程式碼範例。」
學習側寫的生成需要呼叫 LLM,有一定的延遲與成本。系統採用 24 小時快取(CACHE_HOURS = 24)策略:
系統對 9 種資料來源計算 hash 指紋。即使快取尚未過期,若資料指紋改變(表示學生有新的學習活動),系統也會觸發快取失效與重新生成。
此機制確保學習側寫能即時反映學生的最新學習狀態,而不會因快取而呈現過時的資訊。
當快取過期或指紋變化時,系統不會讓使用者等待 LLM 回應,而是:
prompt_injection_zh 會被注入 AI 助教的 System Prompt,讓 AI 在對話中自動考量學生的學習特質:
## 學習者側寫 此學生修讀資訊工程與心理學雙主修,偏好實作導向學習。Bloom's 分析顯示以「應用」和「分析」層次為主。RIASEC 類型為 IAS(研究-藝術-社會),傾向探索性學習。近期對機器學習與自然語言處理特別感興趣,建議多提供程式碼範例與實際應用案例。
每次學生開啟與 AI 助教的對話時,系統會檢查是否有有效的學習側寫快取。若有,將 prompt_injection_zh 附加至 System Prompt;若無或快取過期,則不注入(graceful degradation)。
prompt_injection_zh 不會在對話中直接顯示給學生,僅作為 AI 的背景參考學習者側寫由 Uedu 平台的 Learning Profile 模組按需生成。系統彙整 9 種資料來源(修課紀錄、近 90 天課程與筆記本 AI 對話提問、Bloom's 認知層次分布、AI 記憶、學習特質量表結果、AI 互動作業評分、互動統計、學習歷程檔案),透過 LLM(OpenAI gpt-4o-mini)合成結構化 JSON,包含核心興趣、學習風格、認知分布、跨課程模式、知識缺口、建議方向與繁體中文敘述。系統以 24 小時快取與資料指紋(hash)機制控制更新頻率,資料變化時自動觸發快取失效。核心產出 prompt_injection_zh 注入 AI 助教的 System Prompt,實現個人化對話回應。詳細方法論說明見 https://uedu.tw/doc/learning-profile。
建議同時提供: