一切從一個簡單的想法開始。先用 AI 從無到有做出 v1,也就是第一塊積木;用起來之後,想法一個接一個冒出來,於是優化成 v2。接著,把先前已經建好的 AstrBot、IM 機器人與網站聊天窗(見 AstrBot 系列文章)接進來,規劃出 v3。
一塊塊積木拼在一起,就成了一套可用的產品原型(MVP),整個過程不到兩天。能夠這麼快迭代,多虧有 AI 的輔助。
但我更想分享的體悟是:想法再好,沒做出來也只是想法。除了用腦袋想,更重要的是動手做,而且不怕改。做了、改了,才知道哪裡真正需要優化。
| 項目 | V2(穩定版,保留) | V3(測試版) |
|---|---|---|
| 試用網址 | V2 | V3 |
| 狀態 | 已完成,可正常使用 | 測試中 |
| 題型 | 單選 | 單選、是非、複選、簡答(自評);填空尚未支援 |
| 簡答題 | 無 | 最少 N 點加提示,或提示加填空,每次出題隨機變換 |
| 模擬考試 | 無 | 同科目客觀題與簡答題,依占分比例配分;試卷與每次結果完整保存,可重載重考 |
| 計時 | 無 | 作答後開始計時,靜止超過 10 分鐘、切換或關閉頁面即停止 |
| 未交卷還原 | 無 | 自動保存草稿,重開頁面詢問是否繼續上次未完成的考試 |
| 題庫選擇 | 年度 / 科目單層選單 | 先選題庫大分類(資安、AI 應用、空大課程),再選年度 / 科目 |
| 選項與分析文字 | 過長時截斷 | 完整顯示、自動折行 |
| 綜合題庫題數 | 10 / 25 / 50 | 10 / 20 / 25 / 50 / ALL |
| 作答紀錄 | 作答、錯題、備註 | 另記各題得分、用時,模擬考試另存試卷與總分 |
| IM 機器人、Quiz API | 無 | 尚未實作(仍在規劃,見第 3 篇) |
V2 維持原樣;V3 是同一個工具往多題型與課程題庫延伸的測試版。兩版差異的完整說明見第 4 篇。
目前 v1、v2 已完成可使用;v3 的題庫工具部分(多題型、簡答題、模擬考試、計時與未交卷還原)已有測試版可試用,IM 機器人與 Quiz API 仍在規劃階段、尚未實作。每篇文章都附摘要與重點,點標題即可閱讀全文。
從模擬分數起伏不定的備考經驗出發,想創建一個複習工具,逐步說明為什麼要把「題庫」與「工具」分開,以及一個考古題練習工具如何一步步長出來:題庫 JSON、作答紀錄、錯題備註、綜合題庫抽題、選項重排、自適應版面。 文末附上本地部署方式(不需要架Web伺服器)與如何讓別人用自己的AI prompt 重複同樣做法的步驟。
工具搬上網站後遇到的核心問題:網頁 JavaScript 不能替你寫伺服器上的檔案。本篇說明為什麼 cookie 只適合放匿名身分碼、本地與 Web 雙模式怎麼分工、PHP API 如何保守地合併與寫入紀錄,以及身分碼還原與上線前的檢查清單。
把已完成的 AstrBot、IM 機器人與網站聊天窗接到題庫工具上的 v3 規劃:對話式匯入題庫(VIP 提交、管理員審核上架)、多題型、IM 與網頁聊天窗做題,以及角色權限與一次性綁定碼。文中清楚區分已完成、規劃中與待驗證的部分。
從題庫工具的設計與思路出發,先逐項對照需求與最新版程式的實作現況,再把 v3 計畫與實際進度用「完成、部分完成、未完成、新增、修改」標清楚。內容涵蓋多題型的判分模型(得分統一為 0 到 1)、簡答題的「提示加隨機」出題、模擬考試的試卷快照與重考、計時器如何算用時,以及為什麼未交卷的答案存 localStorage 而不是 cookie。IM 與 Quiz API 那一半尚未動工;所有「完成」只經過程式檢視、語法檢查與模擬測試,尚未在真實瀏覽器實測。