前四天一路從「為什麼要做學習卡」、使用者是誰,到昨天終於把第一版 Learning Card 的內容定義出來。
目前一張 Learning Card 暫定包含五個欄位:
Emoji
Title
Content
Question
Answer
準備了四天,今天終於可以實際打開 Google AI Studio了。
平常使用生成式 AI,大多都是直接打開聊天介面開始問問題。
但這次的目標不只是「使用 AI」,而是希望最後能把 Gemini 整合進自己的 React 應用程式,所以今天決定直接從 Google AI Studio 開始。
這次先不研究太多設定,也暫時不碰 Structured Output、API 或其他進階功能。
今天只有一個很單純的目標:
看看 Gemini 能不能根據前幾天定義的需求,產生第一組 Learning Cards。
這次先不研究太多模型之間的差異,也沒有特別調整模型設定,直接使用 Google AI Studio 當下預設的 gemini-3.8-flash,其他設定也先維持預設。
畢竟今天的目標不是比較模型,而是先建立第一個 Baseline:
在幾乎沒有調整 AI Studio 設定的情況下,Gemini 能不能根據我們前幾天定義的需求,產生 Learning Cards?
模型之間的差異,之後有需要再來研究。
接著,把第一版 Prompt 丟進去。
這次先從 3~4 歲幼兒的海洋動物學習開始。
Prompt 如下:
請幫我製作一組適合 3~4 歲幼兒學習的「海洋動物學習卡」。
學習目標:
讓孩子認識常見的海洋動物,並了解每種動物一個簡單的特徵。
請產生 5 張學習卡。
每張學習卡包含:
- Emoji
- Title:動物名稱
- Content:簡單、適合 3~4 歲幼兒理解的介紹
- Question:一個可以讓孩子想一想的簡單問題
- Answer:問題的參考答案
請使用繁體中文。
第一版 Prompt 我沒有寫得太複雜。
沒有規定字數、沒有指定 JSON,也沒有要求固定的資料格式。
原因很簡單:
我想先看看,在只告訴 Gemini 基本需求的情況下,它會怎麼產生內容。
先有一個 Baseline,之後調整 Prompt 才有東西可以比較。

按下 Run 之後,Gemini 很快就產生了 5 張海洋動物學習卡。
其中一張是海龜:
🌊 卡片 1
Emoji:🐢
Title:海龜
Content:海龜背上背著一個圓圓大大的硬殼,
就像背著自己的小房子!牠們游水時揮動雙手,
就像在海裡慢慢飛翔一樣。
Question:海龜背上的殼,
摸起來是軟軟的、還是硬硬的呢?
Answer:是硬硬的喔!
它可以保護海龜不受傷。
其他四張則分別產生了:
第一眼看到結果,其實比我原本預期的完整。

這是我這次特別想觀察的地方。
因為 Prompt 並沒有告訴 Gemini:
「請使用疊字。」
「請多用比喻。」
「請使用跟孩子互動的語氣。」
但實際產生的內容裡,出現了:
「圓圓大大的硬殼」
「像背著自己的小房子」
「我們用小手一起數數看!」
「像大剪刀一樣的螯,咔嚓咔嚓!」
可以看出 Gemini 並不是單純把海洋動物的百科資料丟出來,而是有根據「3~4 歲幼兒」這個條件調整表達方式。
至少從第一次結果來看,Day 01 最開始提出的問題:
AI 能不能根據不同的學習對象,調整學習內容?
目前算是看到了一點可能性。
當然,一次實驗還不能代表每次都會得到一樣的結果,這部分之後還要繼續測試。
看到最後,我發現了一個有趣的地方。
原本的 Prompt 明明只要求:
請產生 5 張學習卡。
結果 Gemini 在五張卡片後面,又自己補了一段:
💡 陪讀小技巧(給家長的建議)
1. 動作模仿
2. 視覺指認
如果今天只是請 Gemini 幫忙準備教材,我可能會覺得:
欸,滿貼心的耶。
但如果換成開發應用程式的角度,就變成:
等等,我沒有叫你產生這個啊!
這也讓我感受到「跟 AI 聊天」和「把 AI 放進程式裡」的差別。
聊天的時候,多回答一點通常沒什麼關係。
甚至可能會覺得 AI 很貼心。
但是當程式預期收到的是 5 張 Learning Cards,AI 卻突然多送了一段「陪讀小技巧」,事情就開始變得不太一樣了。
Google AI Studio 的回應可以選擇複製 Markdown 或純文字。
目前純文字結果大概長這樣:
🌊 卡片 1
Emoji:🐢
Title:海龜
Content:...
Question:...
Answer:...
對人來說很好理解。
一眼就知道:
「喔,這是一張學習卡。」
但是之後真正要把資料交給 React 時,我希望拿到的東西應該更接近:
[
{
"emoji": "🐢",
"title": "海龜",
"content": "...",
"question": "...",
"answer": "..."
}
]
這樣前端才可以把每一筆資料直接交給 LearningCard Component 顯示。
所以今天也發現了一件事情:
人看得懂的格式,不一定就是程式好處理的格式。
不過這個問題今天先記下來。
畢竟才第五天,現在就開始跟 JSON 奮戰,好像有點太早(笑)。
另外還有一個問題。
這次產生的內容讀起來都很自然,但如果真的要當成「學習教材」,內容是不是完全正確,還是需要另外確認。
例如其中一張卡片提到:
鯨魚浮上海面呼吸時,頭頂會噴出高高的水花。
這種描述對幼兒來說很直覺,但如果從知識正確性的角度來看,可能還有更精確的說法。
這也剛好呼應 Day 03 做的一個決定:
Google AI
↓
Learning Card Draft
↓
Creator Review / Edit
↓
Final Learning Card
AI 產生的內容目前還是 Draft。
最後要不要成為真正的教材,還是需要經過確認。
至於 AI 產生的學習內容到底有多可靠,這個問題之後再來好好實驗。
今天終於第一次真的讓 Gemini 產生 Learning Cards。
從第一次結果來看,基本需求其實完成得比我預期好:
但同時也發現了幾個問題:
內容可以產生
↓
但是 AI 會自己加內容
格式看起來很整齊
↓
但還不是前端真正需要的資料結構
內容讀起來很自然
↓
但知識正確性仍然需要確認
第一次實驗算是順利。
不過現在這個 Prompt 還非常寬鬆,很多事情其實都是交給 Gemini 自己決定。
如果把 Prompt 寫得更明確一點,產生的結果會不會更接近我們真正想要的 Learning Card?
明天就拿今天的第一版 Prompt 繼續改看看。
Day 06|Prompt 寫得越清楚,Gemini 就越聽話嗎?