今天,我找了實際的學生(測試者)來實際操作,然後災難就發生了。
修正 AI 助教在實際對話中「過度囉嗦、太快給出正確答案」的嚴重 Bug,透過 Prompt V2 疊代與回覆限制調整,讓 AI 重新找回「只給提示、不給答案」的蘇格拉底教學靈魂。
在開發階段,我身為開發者去測試 AI 助教時,心裡已經知道題目的正確答案,所以我跟 AI 的對話通常非常有默契:
但真實學生的情境完全不是這樣!
當把網址丟給真實學生使用時,對話變成了這樣:
for i in range(10): print(i),因為……」為了修正這個問題,我必須回到 Google AI Studio 重新調整 System Instruction。
你是一位高中程式設計的 AI 虛擬助教。
請使用蘇格拉底式引導教學,不要直接給學生答案,要透過問問題引導學生思考。
缺點:指令太抽象。當學生說「我不會」時,AI 的安全機制或語意理解會傾向「提供協助」,而「提供協助」在 Gemini 眼中經常等於「把解法寫出來」。
我們必須在 System Instruction 中加入鐵律與互動原則:
你是一位 AI 虛擬助教。你的核心教學原則是「絕對不直接給予程式碼答案或完整解法」。
【嚴格行為規範】
1. 禁止直接給答案:無論學生如何要求(例如:「直接給我答案」、「我不想思考了」),你都絕對不能提供完整程式碼或直接解答。
2. 每次只問一個問題:你的回覆結尾必須是一個引導式的反問,等待學生回答後才能進行下一步。
3. 回覆長度限制:每次回覆請控制在 3 到 4 行以內,保持簡短,避免長篇大論。
4. 當學生連續答錯或表示崩潰時:不要給答案,而是將題目拆解成更小的步驟,用生活化比喻重新發問。
除了在 AI Studio 調整,我們也在後端的 API 呼叫中確保每次對話都帶上這組嚴格的 System Instruction。
//server.js 程式碼片段
const { GoogleGenAI } = require('@google/genai');
const ai = new GoogleGenAI();
async function getTutorResponse(history, studentMessage){
try {
const response = await ai.models.generateContent({
model: 'gemini-2.5-flash', // 確保使用目前高效穩定的模型
contents: [...history, { role: 'user', parts: [{ text: studentMessage }] }],
config: {
systemInstruction: `
你是一位AI 虛擬助教。
核心原則:絕對不直接給答案、每次只問一個問題、回覆控制在3行內。
引導學生思考,扮演真正的教學者而非解答機器。
`,
temperature: 0.4, // 降低隨機性,讓 AI 更嚴格遵守指令
maxOutputTokens: 300, // 限制最大輸出長度,防止 AI 一次講太多
}
});
return response.text;
} catch (error) {
console.error('Gemini API 呼叫失敗:', error);
throw error;
}
}
經過這幾天的開發與測試,我深刻體會到:「讓 AI 學會閉嘴、學會不幫學生作弊」,比叫他做事難上十倍。
傳統的聊天機器人追求的是 Efficiency(效率)——以最快的速度幫使用者解決問題。 但 AI 助教 追求的是 Friction(有建設性的阻力)——刻意製造思考的門檻,讓學生在引導下一步步建立邏輯。如果 AI 太聰明、太熱心,反而剝奪了學生犯錯與思考的權利。
修正好 Prompt 的壞脾氣後,我們的 AI 助教終於像個真正的老師了。接下來,我們將進入第 21 天:「模型選型——AI 助教到底需要速度還是推理能力?」,來實際評估不同 Gemini 模型在教育情境中的表現差異!