Home
Explore Uedu
Student Console
Register as Member/Login
(2) In future presentations of the research findings, in addition to the course project website and public presentations, your real name and personal information will not appear in this research report. If you are interested in the research results, we can provide you with an executive summary after the study is completed.
問卷中心
Teacher Console
Course Setup
Support & Messages
Uptime Data

UeduGPTs

--

Jupyters

0

Local AI

--

AI Reply Desktop Notifications

Show a desktop notification when the AI TA finishes replying

Chat Message Notifications

Notify me when classmates post messages in the forum

Sound notification

Play an alert sound whenever there is a new notification

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)
  • 教師事後編輯的比例(修改 / 刪除 / 保留原樣)