iT邦幫忙

2026 iThome 鐵人賽

DAY 4
0
Build on Google AI

用 Google AI 打造「因材施教」的個人化 AI 虛擬助教系列 第 4

Day 04|【結構化輸出】讓 Gemini 輸出 JSON:自動生成「觀念測驗題庫」與結構化鷹架

  • 分享至 

  • xImage
  •  

在「未來教育」的場景中,學習介面不能只是像聊天室一樣只有文字對話。好的 AI 助教介面應該要能:

  1. show出不同教學功能卡片:如果 AI 在用「生活比喻」,網頁應該秀出黃色的比喻卡片;如果是「觀念拆解」,秀出藍色卡片;如果是「隨堂測驗」,秀出測驗卡片。
  2. 提供快捷思考按鈕:小學生常不知道怎麼繼續問下去,AI 如果能自動附上 3 個「你可以這樣問」的按鈕,學生點一下就能繼續學習。

所以今天我們來想一個問題: 如果 AI 回傳的是一段長篇大論,網頁程式要怎麼知道哪段是「比喻」?哪段是「快捷問題」?

【今日開發目標】

所以今天主要就是在處理這件事情: 不要讓 AI 隨便回文字,而是規定它一定要按照我指定的 JSON 格式回傳。 我想利用 SDK 的 responseMimeType: 'application/json'+responseSchema,讓 Gemini 只能輸出標準 JSON 格式。

我希望 AI 每次回覆的資料大概長這樣:

{
  "reply": "這裡是 AI 給學生的引導內容",
  "scaffold_type": "analogy",
  "suggested_questions": 
    "那直角跟一般的角有什麼不一樣?",

【Google AI 工具實作過程】

為了落實結構化輸出,我們在後端(server.js)進行了以下四個關鍵步驟:

  1. 系統指令 (systemInstruction): 定義 AI 助教 Professor Spark 的教學方針——嚴禁直接給答案、語氣親切並使用生活化比喻、每次聚焦 1 個引導步驟並拋出反問。
  2. 定義 JSON Schema 契約 (responseSchema)
    • reply(字串):給學生的白話引導對話 (100~200 字)。
    • scaffold_type(列舉 Enum):限制只能回傳 analogy(比喻)、breakdown(拆解)或 quiz(測驗)三者其中之一。
    • suggested_questions(字串陣列):要求 AI 自動產生 2~3 個引導學生繼續思考的快捷按鈕選項。
  3. 安全解析與容錯機制: 在 API 端加入 try...catch 的 JSON.parse 容錯防護,即使發生網路異常或非預期格式,Express 伺服器也不會崩潰,並能提供預設備用回應。

【核心 Code / Prompt 展示】

1. 後端核心 API (server.js)

https://ithelp.ithome.com.tw/upload/images/20260913/20183764ltZFwcFXN3.png

https://ithelp.ithome.com.tw/upload/images/20260913/20183764A3boRSDLwY.png

2. 本地測試腳本 (test-chat.js) 與實際驗證結果

在 Terminal 執行測試腳本,模擬學生提問:「老師,我不懂什麼是直角,可以教我嗎?」驗證AI精準輸出符合 JSON Schema 規範的結構化資料

回傳之 JSON 內容:

https://ithelp.ithome.com.tw/upload/images/20260913/20183764ieIVDSZRNq.png

【未來教育反思】

如果只是讓 AI 自己決定要回什麼,前端還要想辦法從一大段文字裡面判斷「這是不是比喻」、「這是不是測驗」,其實會變得很麻煩。現在透過 scaffold_type,AI 可以直接告訴前端這次用了哪一種教學方式,前端就可以按照這個結果去顯示不同的卡片。另外 suggested_questions 也讓我覺得蠻實用的。

因為有些學生不是沒有問題,而是不知道自己下一步可以問什麼。如果 AI 可以直接給幾個可以繼續思考的問題,學生就不用一直想「那我要問什麼」,直接點下去就可以繼續。

所以這次對我來說,不只是讓 AI「回答得比較固定」,而是開始讓 AI 的回答真的可以跟前端介面接在一起。

【明日預告】

明天(Day 05)要開始做「盲點診斷」。這次會讓學生故意講出一些錯誤的觀念,再測試 AI 能不能判斷他到底是哪裡理解錯了。最後希望可以讓 AI 不只是告訴學生「你答錯了」,而是找出他的理解偏差點,再針對那個地方繼續引導。


上一篇
Day 03 | 【UI 介面】Google Stitch 5 分鐘打造 AI 助教 Web UI Prototype
下一篇
Day 05 |【盲點診斷】測試「錯題剖析 Prompt」,讓 AI 一秒抓出觀念漏洞
系列文
用 Google AI 打造「因材施教」的個人化 AI 虛擬助教7
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言