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

6

AI 回覆桌面通知

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

聊天訊息通知

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

聲音通知

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

METHODOLOGY

Quiz Generator
AI 出題方法論

說明 Uedu 平台的 AI 出題系統如何根據教學內容、題型與難度分布,透過 LLM 分批生成測驗題目,供教學研究者了解題目的產生過程。

1. 概述

Uedu 的 Quiz Generator(AI 出題系統)讓教師只需提供教學內容,即可由 LLM 自動生成多種題型與難度的測驗題目。系統核心為 QuizAIGenerator 類別,使用 gpt-5-mini 模型,支援中英雙語生成。

生成過程採用題型 × 難度分批策略,每個批次獨立呼叫 LLM,並透過 progress callback 即時回報進度,讓教師在前端看到即時的生成狀態。

2. 輸入參數

教師在建立 AI 出題任務時,需提供以下參數:

參數型別說明
source_contentString教學內容文本,作為出題的知識來源
question_typesDict欲生成的題型與各題型的題數,例如 {"multiple_choice": 10, "true_false": 5}
difficulty_distDict難度分布比例,例如 {"easy": 0.3, "medium": 0.5, "hard": 0.2}
course_contextString課程背景資訊(選填),幫助 LLM 理解出題情境
languageString生成語言:zh(繁體中文)或 en(英文)

2.1 支援的題型

題型代碼說明
multiple_choice單選題(四選一)
true_false是非題
fill_in_blank填充題
short_answer簡答題
essay申論題

2.2 難度等級

等級英文說明
簡單easy記憶性、直接回想型題目
中等medium理解與應用型題目
困難hard分析、評鑑與創造型題目

3. 難度分布計算

系統透過 _calculate_difficulty_counts() 方法,將每種題型的總題數按難度比例拆分為各難度的實際題數:

3.1 計算邏輯

  1. 對每種題型,將總題數乘以各難度的比例,取 floor(向下取整)
  2. 因捨入誤差,各難度題數的總和可能小於原始總題數
  3. 將差額依比例最大者優先的方式逐一補回,確保題數總和正確

3.2 計算範例

假設 multiple_choice: 10 題,difficulty_dist: {"easy": 0.3, "medium": 0.5, "hard": 0.2}

難度比例計算floor最終
easy0.310 × 0.3 = 3.033
medium0.510 × 0.5 = 5.055
hard0.210 × 0.2 = 2.022

4. 分批生成策略

4.1 批次拆分

系統將出題任務拆分為題型 × 難度的批次矩陣。例如,若教師要求 multiple_choice(10 題)和 true_false(5 題),難度分布為 easy/medium/hard,則拆分為:

  • multiple_choice × easy(3 題)
  • multiple_choice × medium(5 題)
  • multiple_choice × hard(2 題)
  • true_false × easy(2 題)
  • true_false × medium(2 題)
  • true_false × hard(1 題)

每個批次獨立呼叫一次 LLM API。

4.2 即時進度回報

系統支援 progress callback 機制。每個批次完成後,callback 函數會被呼叫,回報:

  • 目前已生成的題目數(current
  • 總預計題目數(total
  • 進度百分比(progress,0.0 ~ 1.0)
  • 目前狀態(processingcompletedfailed

前端透過輪詢進度 API 即時顯示生成狀態。

4.3 題目排序

所有批次的題目生成完成後,系統會將全部題目隨機打亂順序(shuffle),並重新編排 question_order,確保不同難度與題型的題目均勻穿插。

5. 輸出格式

LLM 生成的每道題目包含以下欄位:

欄位型別說明
question_textString題目文本
question_typeString題型代碼(multiple_choice、true_false 等)
difficultyString難度等級(easy、medium、hard)
optionsArray選項列表(選擇題、是非題適用)
correct_answerString正確答案
explanationString答案解析
question_orderNumber題目順序(全部生成後隨機重排)
教師可編輯

AI 生成的題目為草稿,教師可在題庫中逐題檢視、編輯或刪除,確保題目品質符合教學需求。

6. 研究引用建議

方法論描述範本

測驗題目由 Uedu 平台的 Quiz Generator 模組(QuizAIGenerator 類別)自動生成。教師提供教學內容(source_content)、題型分布(question_types)與難度比例(difficulty_dist),系統以題型 × 難度的批次矩陣拆分任務,每個批次獨立呼叫 LLM(OpenAI gpt-5-mini)生成指定數量的題目。難度分布透過 _calculate_difficulty_counts() 依比例分配並補正捨入誤差。生成完成後,所有題目隨機打亂順序。系統支援繁體中文(zh)與英文(en)雙語生成,並可納入課程背景資訊(course_context)。生成的題目為草稿,需經教師檢視與編輯後方可用於正式測驗。詳細方法論說明見 https://uedu.tw/doc/quiz-generator。

建議同時提供:

  • 生成時使用的教學內容來源與長度
  • 題型分布與難度比例設定
  • 生成語言(zh / en)
  • 教師事後編輯的比例(修改 / 刪除 / 保留原樣)