繼上篇,上次初步的自我審核 skill 設計已經確保了能夠審核出題 skill 的多個條件(符合學測題目標準、文章自然且有起承轉合、不違反我與他商談的使用者向設定、能自由安排錯題複習),在自我反覆審核與修改後再提出他認為的完全版給我確認。這份能力在後續達成共識後已經能產出具有水準的出題 skill 了,後續的篇章結構與閱讀題我都挑不出甚麼毛病。
但截至今天之前,他都尚未對非選題具有完整的規章制度,所以為了完善所有大題,將非選判斷標準也寫入自我審核 skill 是必須的。這篇文章首先詳細統整我這份 skill 兩天以來的設計細節,詳見以下。
前兩個大題(詞彙題、文意選填)是靠人工來回聊天+真人測試慢慢磨出規格的,成本不低。所以中途另外做了一個開發者專用的工具 skill——一個「考題擬真度審核員」:把目標大題的規格複製一份到沙盒,讓它自己在沙盒裡生成樣本題目、自己挑毛病、自己修,收斂到穩定之後才交給我做最後把關。
關鍵不是「有工具」,是這個工具的挑毛病邏輯有明確、不能打散的優先順序:
今天綜合測驗、篇章結構、閱讀測驗三個全新大題,都是直接讓這套流程從歷屆試題(111~115學測,108課綱後五個年度)出發草擬初稿、自己跑幾輪 dry-run 疊代收斂,我只在關鍵地方確認方向。三個完全不同題型的大題都能套用同一套審核邏輯收斂出可用的結果,代表這是一套方法論,不是綁死在某個大題的一次性腳本。
跑 dry-run 的過程中,抓到的問題慢慢收斂成幾條有普遍性的規則,值得抽出來單獨講——這些不是「這一題出錯了」的個案修正,而是 LLM 生成選擇題時容易系統性犯的錯誤模式:
這套清單本質上是「AI 出題容易犯的系統性錯誤」的歸納,可以直接套用到任何用 LLM 生成測驗題目的場景,不限於這個專案。
過程中上傳了歷屆範文以供參考,但AI一度想讀取官方 PDF,卻發現環境裡的 PDF 渲染工具鏈預設是壞的,後來找到本機其實裝了完整的 poppler 工具,建起一套雙軌處理:
pdftotext 直接抽取文字——靠這個拿到了官方逐字公布的評分原則(翻譯每個錯誤扣0.5分、混合題填空其實是三級給分不是二元對錯、作文四維度優可差劣評分表的完整文字)。pdftoppm 先轉成圖片,再直接用視覺能力「看」——靠這個讀懂了開發者提供的真實學測作文高分樣卷(手寫掃描檔)。官方評分表文字本身偏抽象(例如「轉承語使用得當」「文句結構富變化」),照字面判斷很容易失準。讀完幾份真實拿高分的手寫作文後,反過來校準出具體、可操作的判斷依據——例如「轉承語使用得當」在真實高分作文裡具體是「連接詞密度很高、種類很豐富,貫穿全文每個轉折」,不是偶爾放一兩個 also 就算數;還有一條比較關鍵的糾正:「幾乎沒有錯誤」不等於「零錯誤」,真實拿高分的作文裡其實還留著一些小拼字/文法瑕疵,批改時不能因為抓到一兩個小瑕疵就把整體評等拉低一整級。
不只是讀文件,是真的用多模態能力做了一次文件分析,把「抽象評分表」跟「真實評分結果」對照起來反推判斷依據。
混合題型、翻譯、作文這三個新大題開放式作答,錯誤紀錄動輒一大段原始作答+逐項批改文字,如果直接塞進原本給單字類錯題設計的錯題本畫面,會讓整頁被文字塞爆。
解法是把「儲存的完整資料」跟「畫面預設呈現的內容」解耦:錯題本統一新增一個精簡的 summary 欄位(列表畫面只顯示這一行,跟原本單字類錯題一樣簡潔),完整的原始作答與批改內容收進 history,預設不顯示,使用者要看才展開。這對應到網頁 UI 常見的「列表+展開詳情」模式——刻意先把資料層設計對,以後如果要把這套系統搬上網頁介面,資料結構不用重新來過。
八個大題(詞彙題、文意選填、綜合測驗、篇章結構、閱讀測驗、混合題型、翻譯、作文)全部接上主選單,可以直接選擇練習。但目前為止都只驗證到工具自我 dry-run 的程度,還沒有真人在實際對話裡完整測過——這是接下來最優先要做的事。剩下規劃中的項目還有:跨大題的完整模擬考、大考模式怎麼整合非選擇題大題、以及一個獨立的「字詞講堂」深度講解單元。