楊本顥筆記・知識・作品

首頁 / 作品 / tutor-exam-bank

02 / PROJECT · LLM 應用 · 後端 · 資料工程

家教出卷助手

把散落在考卷裡的題目,變成能依學生需求組卷的題庫。

一份特訓卷從兩小時縮到數分鐘,1,721 項測試在零金鑰零網路的 CI 上跑

2 小時 → 數分鐘一份特訓卷的準備時間
個人專案LLM 應用後端資料工程
GitHub 原始碼
數學試卷與寫有「2 小時 → 數分鐘」的便條紙,家教出卷助手概念封面
專案概念封面

HOW IT WORKS / 如何使用

整理考卷、挑題與排版佔去太多備課時間。
STEP 01

上傳考卷

STEP 02

整理題庫

STEP 03

依學生選題

STEP 04

匯出 Word

這個作品做了什麼?

家教數理題庫系統。老師上傳歷屆考卷 PDF,系統拆題、判學科章節難度、把公式寫成 LaTeX;依「這位學生沒寫過的題」組卷;匯出含 Word 原生方程式的考卷。我自己每週用它替學生出卷。

為什麼做
整理考卷、挑題與排版佔去太多備課時間。
我的角色
個人專案
01

背景與挑戰

家教老師出一份特訓卷要翻歷屆考卷、挑學生沒寫過的題、重新打公式,一份約兩小時。使用者是我自己和我帶的學生。拆題、公式轉 LaTeX、判斷章節難度都得靠模型,而模型會錯,錯了還不會噴錯,所以每一步的輸出都要有人以外的東西來把關。

02

我負責的部分

個人專案,以 AI 工具協作開發。我負責需求定義、架構、任務拆分、整合與驗收,範圍涵蓋後端、資料庫、題目處理、搜尋、Word 匯出與自動化測試。多個 AI 代理平行開發時,由我訂定介面與分工,審查並整合產出。

Node.js · Express · PostgreSQL 16 + pgvector · Gemini · GitHub Actions

03

成果與驗證

2 小時 → 數分鐘一份特訓卷的出卷時間
0.875 → 1.000Recall@5,40 筆人工 golden
1,721項自動化測試,CI 零金鑰零網路
168個 commit、16 次合併,四天完成三階段

以上為專案在 2026-09-01 至 09-07 整理的成果;測試集與實際使用情境不同,個別量測範圍見各項說明。

04

實作過程

展開技術選擇、遇到的問題與解法
  • 整條管線。六個 sub-agent(拆題、分類、公式修復、獨立驗答、兩段去重、變式生成)由 PostgreSQL 狀態機編排,節點間是 JSON Schema 硬閘門,逐題重試、部分入庫,問題題帶原因進人工複核。
  • 檢索層。pgvector 向量與 jieba 全文兩路以 RRF 融合,同一段 SQL 服務相似題、變式、分類 few-shot、自然語言查題四個功能。
  • 自己刻 LaTeX → OOXML 解析器,交付物是能用 Word 公式編輯器點開的直式分數。
  • 把品質變成 CI 紅燈。LLM 呼叫錄成 cassette 離線重播;五套 golden eval;門檻取量測值減 0.03 且只升不降;用一萬次卡方檢定釘住洗牌均勻性。
  • 四終端平行工程。凍結介面、所有權表、疑問檔→裁決的協定,四個 AI 工人各在自己的 worktree,四天推完三個階段。

延伸閱讀:這個專案的工程筆記