Google ETL 專門實戰模組 · 聚焦 T (Transform) 與 L (Load)

Gemini Canvas × Google Antigravity 輕量級 ETL 實戰
從 iPAS 官方試題 PDF ➔ 標準化 Excel ➔ 互動刷題與 Google 協作平台發布

為什麼寫小型程式是 ETL 的最強槓桿?實測免費版 Gemini Canvas「初學者直白版 V1」與「指定欄位穩定版 V2」的真實差異,並看懂 Canvas 的天生限制與 V3 多題庫專業演進方向。

👤 講師:謝老師 📂 專屬目錄:google-etl/ 📄 示範標的:115年第三次初級 AI 應用規劃師(第一科:人工智慧基礎概論 50 題)

💡 一、為什麼「寫小型程式」在 ETL 的 T (Transform) 與 L (Load) 最具優勢? 對應課程簡報:資料轉換 (ETL) 與工具分工

傳統處理資料時,若只靠人工複製貼上或純對話問 AI,常遇到「超過字數被偷刪、格式每次長不一樣、轉完的 Excel 還是死板板無法互動」三大痛點。透過 Antigravity(本地批次腳本) 搭配 Gemini Canvas(前端單檔小程式),能把 T 與 L 的效益放到最大:

📥 E (Extract 資料擷取)

從政府公開網站(如 iPAS 學習資源頁)批次抓取 14 份歷屆公告試題 PDF 與 7 份學習指引,保存為原始素材庫。

⚙️ T (Transform 轉換與清洗)

小程式優勢 1:100% 規則可重複!
消除 PDF 跨頁頁首頁尾、將擠在同一格的「題號+題幹+(A)(B)(C)(D)」拆解為固定 7 欄英文 Schema(question_no ~ option_d),50 題零遺漏。

🚀 L (Load 載入與應用封裝)

小程式優勢 2:資料直接變互動系統!
用 Gemini Canvas 生成單檔 HTML 刷題系統,讀取標準化 Excel 即可「隨機/指定題號測驗、考後匯總分析、一鍵印出 PDF 成績單」,並發布至 Google 協作平台。

⚠️ 二、關鍵實戰心法:Gemini Canvas 的「天生限制」與正確操作鐵律 課堂必講重點

🚨 為什麼在 Canvas 模式「不要來回修改太多次」?為什麼不適合寫過於複雜的架構?

許多學員在 Gemini Canvas 做出第一版網頁後,會在同一個對話窗連續下 5 次、10 次修改指令(「幫我加這個按鈕」、「幫我改那個顏色」、「再加一個題庫切換」),結果發現越改越壞、原本好的功能突然消失,甚至畫面直接白屏卡死。這並不是你不會寫 Prompt,而是此 AI 工具的天生底層限制!

🔬 剖析 Gemini Canvas 的 3 大天生限制

  1. 單一檔案全量覆寫機制(Full-File Rewrite):
    Canvas 每次修改時,幾乎都是把整份 HTML(動輒 600~1,000 行)從頭到尾重新輸出一次。當程式碼變長,極易觸發單次輸出 Token 上限(Output Token Limit),導致後半段 JavaScript 被截斷或偷懶省略(寫出 // ...其餘程式碼同上 而直接壞掉)。
  2. 多輪對話的上下文汙染(Context Pollution / 記憶衰退):
    同一個對話視窗裡塞滿了舊版錯誤程式碼與多次零碎指令時,模型的注意力機制(Attention)會被舊版本的變數名稱干擾,出現「改東壞西」或「改了卻還是下載到舊版」的現象。
  3. 不具備多檔案與模組化架構能力:
    Canvas 天生是為了「單一檔案(Single-File HTML/React)輕量級原型」設計,沒有本地檔案系統、無法拆分前端/後端/資料庫目錄,因此絕對不適合撰寫架構過於複雜的大型系統。

🛠️ 遇到修改卡關或複雜需求時的 3 大黃金對策

  1. 對策 1|超過 2~3 次修改未果,立即「重開一個全新的對話視窗」!
    不要在舊對話裡跟 AI 纏鬥!把剛才發現的問題(例如欄位錯位、新增指定題號功能)整理成一段完整的「V2 升級版 Prompt」,開一個乾淨的新對話視窗一次生成(我們在 Tab 4 的 V2 實測就是這樣一次成功!)。
  2. 對策 2|採用「分版本規格演進(V1 極簡 ➔ V2 穩定)」而非無限疊床架屋:
    先用 V1 驗證想法,確認資料結構(Schema)後,再把規格寫清楚一次生成 V2,讓 AI 每次都在最乾淨的狀態下寫出高品質單檔程式。
  3. 對策 3|當需求走向「多檔案、多題庫批次爬蟲、複雜系統架構」➔ 改用 Google Antigravity!
    只要程式超過 800 行、需要自動掃描資料夾內 14 份 PDF 批次轉檔、需要局部精準修改某幾行程式碼(edit_file 而非整檔重寫),就必須切換到 Google Antigravity 開發環境。
比較維度 🎨 Gemini Canvas(瀏覽器內單檔畫布) 🚀 Google Antigravity(Agentic 專案開發環境)
最佳定位 單一 HTML 小工具、視覺化轉換器、輕量刷題頁、快速原型 多檔案專案、批次 PDF 爬蟲與 ETL 管線、複雜系統架構
修改耐受度 ⚠️ 低(建議同一視窗不超過 2~3 次大改,大改請重開新對話) ✅ 極高(支援局部 Diff 精準修改、跨檔案重構與自動測試)
適合程式碼規模 約 300 ~ 800 行內之單一 HTML(含 CSS/JS) 不限規模,支援模組化拆分、Python 後端腳本與前端整合
分享與部署方式 🌟 一鍵匯出至 Google 協作平台 (Google Sites),LINE 直接點開 本地直接執行、產出實體 Excel/CSV 題庫檔、或部署至正式伺服器

📥 一、E (Extract):iPAS 官網學習資源頁 21 份 PDF 完整抓取清單 來源網址:ipd.nat.gov.tw/ipas/certification/AIAP/learning-resources

我們首先透過自動化腳本將 iPAS AI 應用規劃師(AIAP)學習資源頁 上的所有公開試題與指引(共 14 份歷屆公告試題 PDF + 7 份學習指引/勘誤表)全數抓取至 google-etl/raw_pdfs/,並選擇最新一梯次的 「115年第三次初級_第一科_人工智慧基礎概論_公告試題.pdf」 作為單檔深度示範主角:

⚙️ 二、T (Transform):為什麼題庫 Excel 欄位要用「英文標準命名」且「選項各自拆開」? 題庫系統 Schema 設計原則

❌ 原始官方 PDF 的 4 大結構障礙

  • 表格只有兩欄:左欄放「答案」,右欄把「題號 + 題幹 + (A)(B)(C)(D) 四個選項」全部塞在同一格。
  • 多達 14 題跨頁截斷:如第 4、8、11、14、19、22、26、29、33、36、40、44、47、50 題被頁尾頁首硬生生切開。
  • 複合題幹換行:如第 34 題內含「甲、乙、丙、丁、」四段子敘述。
  • 多餘符號干擾:每個選項開頭有 (A) 且句尾帶有全形分號 ;。

✅ 標準化 7 欄英文 Schema 的 3 大好處

  • 結合 AI 爬蟲與自動化轉檔命名原則:固定英文小寫蛇形命名(snake_case),跨系統匯入、寫 Python/JS 讀取時不會因中文編碼或空白字元出錯。
  • 四個選項獨立拆欄(option_a ~ option_d):前端刷題系統才能做到「點擊單一選項卡片」、「交卷後個別標紅/標綠」。
  • 剝離 (A) 前綴與句尾 ;:未來若要做「選項順序隨機洗牌」,才不會出現「選項 A 裡面寫著 (C)」的荒謬畫面。

📋 題庫系統最基本 7 欄英文 Schema 定義表

順序 英文欄位名稱 (Column Key) 資料型別 Transform 清洗規則說明 轉換後實際資料範例(第 1 題)
row[0] question_no Integer 剝離題號後的句點 .,保留純數字 1 ~ 50 1
row[1] answer String 大寫單一字母(A / B / C / D) A
row[2] question String 自動縫合 PDF 跨頁與跨行斷句;遇「甲、乙、丙、丁、」保留換行 某製造工廠計劃導入AI 預測產線設備的故障風險...下列哪一種機器學習方法最適合?
row[3] option_a String 移除開頭 (A) 與句尾分號 ; 監督式學習(Supervised Learning)
row[4] option_b String 移除開頭 (B) 與句尾分號 ; 非監督式學習(Unsupervised Learning)
row[5] option_c String 移除開頭 (C) 與句尾分號 ; 強化學習(Reinforcement Learning)
row[6] option_d String 移除開頭 (D) 與句尾分號 ; 半監督式學習(Semi-supervised Learning)

🔍 轉換成果預覽(前 5 題 + 第 34 題複合題 + 第 50 題跨頁題)

question_no answer question option_a option_b option_c option_d

🧪 一、V1 初學者直白版實測:當我們「不指定欄位名稱」直接請免費版 Gemini Canvas 做網頁 真實對話紀錄重構

在第一階段測試中,我們模擬一般初學者的習慣:把剛轉好的 115_3_elementary_sub1_ai_basics.xlsx 附加到免費版 Gemini,不講任何技術名詞、也不提欄位英文名稱,直接請它用 Canvas 做一個隨機抽 5 題、考完看分析與列印 PDF 的網頁。

🧑‍💻 使用者輸入(附加檔案:115_3_elementary_sub1_ai_basics.xlsx)
請根據我上傳的這個 Excel 題庫檔,幫我做一個可以上傳這個檔案來考試的互動網頁: 1. 可以上傳匯入這份 Excel 題庫,每次隨機抽出 5 題來考試。 2. 考的時候先不要顯示答案,等全部考完按交卷後,才一次給出答案、分數與結果分析。 3. 最後要有可以把考試結果列印成 PDF 的功能。
✨ 免費版 Gemini Canvas 回應摘要(重構自真實測試紀錄) 產出專案:AI Basics Interactive Quiz App

Gemini 自動規劃並生成了包含四大模組的單頁應用程式:

  • Excel Import (xlsx parser):支援拖曳或點擊上傳 .xlsx 題庫檔,並宣稱具備「自動偵測題目、選項 A/B/C/D、答案與解析欄位」功能。
  • Built-in Mock Question Bank:內建 5 題 AI 基礎範例題,打開網頁即可直接試考。
  • 5-Question Quiz Mode:每次隨機抽 5 題、隱藏答案、提供計時器與作答進度。
  • Detailed Result & Print to PDF:交卷後顯示總分與逐題檢討,並提供 @media print 列印成 PDF 功能。

🐛 二、V1 真實踩坑解剖:為什麼上傳 Excel 後,「題目變成 29」、「選項 A 變成 B」? 初學者模糊 Prompt 的經典陷阱

V1 發布至 Google 協作平台後上傳 Excel 發生欄位錯位之實測截圖
▲ 實測截圖:將 V1 發布至 Google 協作平台並上傳 115_3_elementary_sub1_ai_basics.xlsx 後,畫面竟出現「第 1 題 29」、「選項 A. B」!

🕵️‍♂️ 破案關鍵:AI 自己腦補了「子字串模糊比對 (`includes`)」!

當我們沒有在 Prompt 中明確告訴 AI 這份 Excel 的 7 個英文欄位名稱時,免費版 Gemini 為了讓程式「看起來很聰明」,寫出了下面這段致命的欄位搜尋邏輯(位於 V1 程式碼第 334–343 行):

❌ V1 原始碼第 334–343 行(錯誤的子字串包含比對)
// AI 用 h.includes(k) 只要欄位名稱「包含」關鍵字就抓!
const getIndex = (keywords) => {
  return headers.findIndex(h => keywords.some(k => h.includes(k)));
};

const qIdx = getIndex(['題目', '問題', 'question', 'title']);
const aIdx = getIndex(['選項a', 'a', 'optiona']);
const bIdx = getIndex(['選項b', 'b', 'optionb']);

💥 慘劇是如何發生的?(逐行追兇)

  1. 為什麼「第 1 題」的題目只顯示數字 29?
    Excel 第 0 欄叫做 question_no(題號)。AI 找題目欄 qIdx 時檢查誰包含 'question',結果第 0 欄 question_no 剛好包含 question!於是 AI 把「題號 29」當成了題目本文,真正的題目被丟掉了!
  2. 為什麼「選項 A」只顯示一個字母 B?
    AI 找選項 A 欄 aIdx 時,關鍵字裡寫了一個單字母 'a'!Excel 第 1 欄叫做 answer(答案),開頭正好有字母 'a'!於是 AI 把第 29 題的正確答案 B 當成了「選項 A 的文字」!
  3. 還多出空白的「答案解析:無詳細解析說明。」:
    因為我們的題庫是純試題無解析欄,V1 卻硬生生在每題檢討下方印出空解析框,浪費列印空間。

🔧 三、V1-2 單點 Debug 修正實測:在同一對話視窗追問 1 次,精準修好欄位錯位! 真實對話與截圖重構 (V1 ➔ V1-2)

當我們只是要單純修好 V1 的欄位錯位(不加複雜新功能)時,只要在同一個對話視窗補上一段「指出錯誤現象+告知 7 個英文欄位名稱」的修正 Prompt,免費版 Gemini Canvas 就能在 第 2 輪對話(V1-2) 立即修復!

🧑‍💻 使用者第 2 輪追問(單點 Debug 修正 Prompt)
我上傳 Excel 測試後發現欄位抓錯了:題目變成題號(例如 29),選項 A 變成答案(例如 B)。 因為我的 Excel 第一列標題依序是:question_no, answer, question, option_a, option_b, option_c, option_d。 請幫我修正讀取 Excel 欄位的邏輯(改用完全相等比對,不要用 includes 模糊比對),並移除答案解析框,其他功能維持不變。
✨ 免費版 Gemini Canvas V1-2 回應摘要與修正後程式碼(第 328–340 行) 已修復專案:AI Basics Interactive Quiz App (V1-2)

AI 修正重點說明:將欄位名稱與 question_no、answer、question、option_a~d 進行完全相等(Exact Match)的比對,避免模糊比對導致 question 被誤抓為 question_no 或選項被誤抓為 answer,並於檢討頁面移除答案解析區塊。

// ✅ V1-2 修正後(第 329-339 行):改用 getIndexExact 完全相等比對
const getIndexExact = (exactKeys) => {
  return headers.findIndex(h => exactKeys.includes(h));
};
const qNoIdx = getIndexExact(['question_no', 'question_number', '題號', '序號']);
const qIdx   = getIndexExact(['question', '題目', '問題']);
const ansIdx = getIndexExact(['answer', '答案', '正確答案']);
const aIdx   = getIndexExact(['option_a', 'optiona', 'a', '選項a']);
V1-2 修正後發布至 Google 協作平台,題目與四個選項完全正確顯示之實測截圖
▲ V1-2 修正後實測截圖:再次匯出至 Google 協作平台並上傳同一份 Excel,題目完整敘述與 A、B、C、D 四個選項已 100% 正常顯示!

🎯 課堂黃金結論:何時「同視窗追問 (V1-2)」?何時「重開新視窗 (V2)」或「換 Antigravity」?

  1. 單點小 Bug(1~2 次內,如 V1 ➔ V1-2 修欄位比對):
    可直接在原對話視窗指出具體錯誤現象並提供正確欄位名稱,AI 能快速局部修正。
  2. 功能與介面大改版(如 V1 ➔ V2 新增三種指定題號模式+錯題重考):
    不要在舊視窗一直疊加指令!請把正確欄位與新功能整合成一段完整的 V2 規格,重開一個乾淨的新對話視窗一次生成(見 Tab 4)。
  3. 多檔案、多題庫批次爬蟲或複雜系統架構(V3+):
    受限於 Canvas 單檔全量重寫與 Token 上限,複雜架構請直接切換至 Google Antigravity。

✅ 一、V2 進階穩定版重構:明確定義 7 大英文欄位 + 三種指定出題模式 重開對話一次成功

發現 V1 的欄位錯位後,我們遵循 Tab 1 的心法——不在舊對話裡反覆修補,而是直接把「7 個固定英文欄位名稱」與「指定題目需求」寫成清晰的 V2 Prompt。免費版 Gemini Canvas 立即產出 100% 精準對應、功能大升級的穩定版本!

🧑‍💻 使用者輸入:V2 進階穩定版黃金 Prompt(可直接複製使用)
請幫我把這個 Excel 題庫測驗網頁升級為「V2 進階穩定版」(單一 HTML 檔案): 1. 【精準對應 Excel 欄位(修正欄位錯位)】: 這份 Excel 第一列的固定英文欄位名稱依序為: `question_no`(原始題號)、`answer`(正確答案 A/B/C/D)、`question`(題目內容)、`option_a`、`option_b`、`option_c`、`option_d`。 請精準讀取這 7 個欄位,並在題目卡片與檢討報告中同時顯示「第 X 題」以及題庫原本的「題號 (Q + question_no)」。若 Excel 無解析欄位,請勿顯示空白的答案解析框。 2. 【新增「可指定題目」與多元出題模式】: 在開始測驗前,讓我可以自由選擇三種出題方式: - (A) 隨機抽題:可選擇隨機抽 5 題、10 題、20 題或全部題目。 - (B) 輸入指定題號範圍:例如輸入 `1-5, 10, 34` 就能只考指定的題號。 - (C) 題號勾選面板:列出題庫所有題號按鈕(並支援關鍵字搜尋題目),讓我直接點選勾選想考的題目。 3. 【考完匯總分析 + 錯題重考 + PDF 列印】: - 作答時不顯示答案,按下交卷後才一次公布總分、答對題數、正確率、耗時與逐題對照。 - 新增「只看錯題 / 顯示全部」篩選按鈕,以及「針對本次錯題重新測驗」按鈕。 - 保留並優化「列印 / 儲存為 PDF」功能(列印時隱藏按鈕、完整印出成績總覽與試題檢討)。
✨ 免費版 Gemini Canvas V2 重構亮點(程式碼第 354–390 行對比) 產出專案:Excel 題庫測驗網頁 V2 進階穩定版

1. 改用完全相等比對(===),徹底根除欄位錯位:

// ✅ V2 改用完全相等比對,不再誤判 question_no 與 answer!
const getVal = (keyName) => {
  const foundKey = Object.keys(row).find(
    k => k.trim().toLowerCase() === keyName.toLowerCase()
  );
  return foundKey ? String(row[foundKey]).trim() : '';
};
const qNo = getVal('question_no') || (idx + 1).toString();
const ans = getVal('answer').toUpperCase();
const questionText = getVal('question');

2. V2 五大進化重點:

  • ✅ 雙題號標示:同時顯示「第 X 題」與「原始題號: Q34」,方便對照紙本試卷。
  • ✅ 三種出題模式:(A) 隨機抽 5/10/20/全部、(B) 輸入範圍 1-5, 10, 34、(C) 題號勾選面板+關鍵字搜尋。
  • ✅ 錯題篩選與重練:交卷後可切換「只看錯題」,並一鍵「錯題重新測驗」。
  • ✅ 自製 Custom Modal:避免 Google Sites 內嵌 iframe 阻擋瀏覽器原生 alert/confirm。

🎮 二、V2 實機互動體驗艙(已預載 115 年第三次初級第一科完整 50 題,亦可上傳 Excel) ⏱️ 作答計時:00:00

📂 目前載入題庫: 115年第三次初級_第一科_人工智慧基礎概論 (內建完整 50 題) 共 50 題

步驟 1:選擇出題模式(支援隨機抽題、指定範圍、關鍵字勾選)

🌐 一、2026 部署大革命:從 Gemini Canvas 一鍵匯出至「Google 協作平台 (Google Sites)」 免 GitHub / 免 Cloudflare / LINE 直接開

過去用 AI 寫好一個單頁 HTML 工具後,最困擾行政與非工程人員的就是「怎麼傳給同事或學員用?」——如果把 .html 檔案直接丟到 LINE 群組,手機點開只會看到一堆原始碼或因安全限制無法執行;如果要架站,又得學 GitHub Pages、Cloudflare Pages 或 Netlify。現在 Gemini Canvas 內建「匯出 ➔ Google 協作平台」,徹底解決最後一哩路!

Gemini Canvas 右上角匯出至 Google 協作平台選單截圖
▲ 步驟 1:在 Gemini Canvas 右上角點擊「匯出 ▾」➔ 選擇「Google 協作平台」(亦可同時選擇「下載程式碼」保存 .html)。
Google 協作平台自動建立內嵌網頁並點擊右上角發布
▲ 步驟 2:系統自動開啟 Google Sites 並將整套互動程式內嵌完成,只需點擊右上角藍色的「發布」按鈕即可產生公開網址!

🌟 為什麼「Canvas ➔ Google 協作平台」是企業與教學神技?

  1. 零伺服器設定、零網域費用:
    完全綁定在你的 Google 雲端硬碟生態系中,不用申請 GitHub 帳號、不用管 DNS 或打包部署。
  2. LINE 群組點擊直接讀取執行(In-App Browser 友善):
    因為網址是 Google 官方的 https://sites.google.com/view/...,丟到 LINE 群組時不會被當成可疑檔案阻擋,手機點開就能直接上傳題庫或開始刷題!
  3. 支援 Google Workspace 權限控管:
    如果是公司內部機密題庫或部門內部 ETL 轉換小工具,可以在 Google 協作平台設定「僅限公司網域內使用者檢視」,兼具便利與資安治理。

🔗 本次實測發布之三個 Google 協作平台線上網址(完整演進三部曲)

課堂上可請學員直接用手機或電腦點開以下三個真實連結,親眼見證「V1 踩坑 ➔ V1-2 單點修正 ➔ V2 功能升級」的完整演進:

🚀 一、從 V2 走向 V3+:多題庫整合與專業級功能發想藍圖(12 大擴充方向) 延伸實作與專題發想指南

當我們掌握了「標準英文 Schema Excel + V2 穩定版基底」之後,如果學員或企業部門想繼續往 V3 專業級題庫與培訓系統 邁進,可以朝向以下 四大構面、12 個專業功能方向 擴充(提醒:若功能組合較複雜,建議使用 Google Antigravity 或在 Canvas 分模組迭代):

📚 構面 A|多題庫管理與跨考科混搭(Multi-Bank ETL)

  1. 1. 單一 Excel 多工作表(Multi-Sheet)自動切換:
    將我們抓下來的 14 份 iPAS 歷屆試題(114 第 4 梯次、115 第 1/2/3 梯次之初級與中級各科)分別放在同一個 Excel 的不同分頁(Sheet),網頁頂部自動生成「考科下拉選單」,一鍵切換不同梯次題庫。
  2. 2. 跨梯次/跨考科「依配比混合抽題」引擎:
    支援同時勾選多個題庫並設定抽題權重(例如:從「初級科目一」抽 15 題 + 從「初級科目二:生成式 AI」抽 15 題,組合成 30 題綜合模擬考)。
  3. 3. 題庫去重與相似考題自動聚類(Deduplication):
    利用 Antigravity 寫 Python 腳本比對歷屆試題文字相似度,標出「考古題重複出現率最高的核心考點(如 RAG vs. Fine-tuning、監督式 vs. 非監督式、差分隱私 vs. k-匿名化)」。

⏱️ 構面 B|專業級測驗機制與記憶強化(Pro Exam Mechanics)

  1. 4. 選項順序隨機洗牌(Option Shuffling)防背位置:
    同一個題目考第二次時,自動將 A、B、C、D 四個選項的排列順序打亂(並同步重新映射正確答案字母),防止考生只背「這題答案在 C 的位置」。
  2. 5. 雙模式切換:「即選即看練習模式」vs「倒數計時強制交卷模擬考」:
    平時刷題可選「點選選項立刻看對錯」;考前衝刺則開啟「75 分鐘倒數計時器(時間到自動交卷)」並支援「🚩 題目待複查標記(Bookmark Flag)」。
  3. 6. 支援複合題型(複選題、題組題、情境圖片題):
    在 Excel 擴充 question_type(single / multiple / group)與 image_url 欄位,遇到中級題組題(共用一段長文情境連考 3 題)時自動並排顯示。

🧠 構面 C|個人化錯題本與雷達圖弱點分析(Learning Analytics)

  1. 7. 跨次測驗「永久錯題本」與艾賓浩斯間隔重複(LocalStorage):
    利用瀏覽器 localStorage 自動記錄歷次答錯過的題號與錯誤次數(如「Q34 已累計答錯 3 次」),下次打開網頁時可直接點選「🔥 專攻歷史常錯題」。
  2. 8. 評鑑主題知識點標籤與「弱點能力雷達圖(Chart.js)」:
    在 Excel 增加第 8 欄 topic(對應 iPAS 評鑑主題:AI 概念與治理、資料處理與分析、機器學習、鑑別式與生成式 AI),交卷時用 Chart.js 繪出五角雷達圖,一眼看出哪個章節最弱。
  3. 9. AI 即時深度解析與追問按鈕(結合 Gemini / NotebookLM):
    針對答錯的題目,提供「✨ 一鍵複製 AI 解析提問詞」按鈕(自動把題幹、四個選項、你的錯答與正確答案打包成 Prompt),貼進 Gemini 或對照官方學習指引 NotebookLM 立即獲得詳解。

🏢 構面 D|企業內訓派卷與雲端成績自動回收(Enterprise Load)

  1. 10. 串接 Google Apps Script (GAS) 自動把成績寫回 Google Sheets:
    將這套前端測驗網頁結合我們在 office-gas 學到的 GAS Web App Webhook:員工考完按下交卷,除了自己印 PDF,分數與錯題題號會自動寫回主管的 Google 試算表後台!
  2. 11. 自動核發客製化「測驗及格電子證書(Canvas 繪圖 / PDF)」:
    當考生測驗總分達 70 分以上,自動在結果頁生成一張帶有「考生姓名、測驗科目、得分、完成日期與驗證碼」的精美結業證書 PDF。
  3. 12. 匯出多元格式(Anki 記憶卡 / Kahoot 匯入檔 / JSON API):
    支援將篩選出的錯題一鍵匯出為手機背單字軟體 Anki 閃卡格式(正面題目、背面答案),或直接轉成課堂團康搶答用的 Kahoot 匯入表。

📋 二、V3 進階擴充模組 Prompt 範本庫(學員可直接複製去開新對話或交給 Antigravity) 模組化 Prompt 設計

🔥 擴充範本 1:支援「單一 Excel 多工作表(多考科切換)+ 選項隨機洗牌 + LocalStorage 歷史錯題本」
請以單一 HTML 檔案為我建立「iPAS 多題庫智慧刷題與錯題追蹤系統(V3 多考科版)」: 1. 【支援單一 Excel 多工作表(Multi-Sheet)與多檔合併】: - 使用 SheetJS 讀取上傳的 .xlsx 檔案,讀取 `workbook.SheetNames` 並提供下拉選單,讓我可以切換不同工作表(例如不同梯次或科目),也可勾選「合併所有工作表題庫一起抽題」。 - 每個工作表第一列固定為:`question_no`、`answer`、`question`、`option_a`、`option_b`、`option_c`、`option_d`(選填第 8 欄 `topic` 知識分類)。 2. 【新增「選項隨機洗牌」與「雙作答模式」】: - 開考前可勾選「打亂 A/B/C/D 選項順序(Option Shuffling)」,洗牌後請自動更新對應的正確答案字母。 - 可選擇「練習模式(點選選項立即顯示對錯)」或「正式模擬考模式(支援自訂倒數計時分鐘數,交卷才公布答案)」。 3. 【LocalStorage 跨次歷史錯題本】: - 每次交卷後,自動將答錯的題目寫入瀏覽器 `localStorage`(記錄累計答錯次數與最後作答時間)。 - 在首頁提供「🔥 歷史常錯題專訓(共 X 題)」按鈕,可隨時針對過去累積的錯題進行複習,答對後可選擇從錯題本移除。
🏢 擴充範本 2:結合 Google Sheets + GAS 雲端成績回收(適合企業內訓與課堂隨堂考)
請幫我在現有的 Excel 題庫測驗系統中,加入「企業內訓雲端成績回收(Webhook 串接 Google Sheets)」與「AI 錯題提問詞一鍵複製」功能: 1. 【考生資訊與雲端成績上傳】: - 開考前請考生輸入「部門 / 姓名 / 工號」,並提供一個可設定「Google Apps Script Web App URL」的欄位。 - 按下交卷結算成績時,除了在畫面顯示分數與 PDF 列印按鈕外,自動透過 `fetch(gasUrl, { method: 'POST', mode: 'no-cors', body: JSON.stringify(...) })` 將「測驗時間、姓名、工號、題庫名稱、總分、答對率、答錯題號清單」傳送到 Google 試算表後台紀錄。 2. 【每題內建「✨ 複製 AI 解析提問詞」按鈕】: - 在考後檢討的每一題卡片右上角,提供一顆「✨ 問 AI 為什麼」按鈕。 - 點擊後自動複製一段結構化 Prompt 到剪貼簿:「請擔任 iPAS AI 應用規劃師輔考導師,幫我解析以下考題:『{題目}』,四個選項為 (A){A} (B){B} (C){C} (D){D}。正確答案是 ({answer}),但我誤選了 ({userAnswer})。請用白話文解釋核心觀念,並說明為什麼其他三個選項不適合。」