AI 課堂報告:30 秒把筆記變成家長可讀的進度報告
老師每週到底花多久寫報告
粗略算了筆賬。帶 30 個學員的私教,每週給每位學員寫一份報告,每份 5-8 分鐘(先回憶課堂細節、再用家長聽得懂的話寫出來),合計每週 2.5-4 小時純在寫字。
這 4 小時本來可以做點別的——備下週的課、接兩個新學員、甚至陪自己孩子吃頓飯。
最先想到的當然是「做套模板填空」。這個我們也試過。半小時後就發現行不通——「今天 XX 表現良好,建議繼續練習」這種話家長一眼就能識別出來。模板化的報告比不發還差,因為它在告訴家長「我不在意你孩子」。
所以問題不是省時間,是省時間同時不損失個人化。這事沒那麼簡單。
AI 該插在哪兒
試了幾次才想明白——AI 的位置不是最前面(替老師寫),也不是最後面(替老師發)。它在中間:把老師的內部筆記重寫成家長視角的段落。
工作流大概長這樣:
- 老師 60 秒記 5-8 條筆記——什麼縮寫都行
- 例如:「右 H 沒起、節奏 ok、Hanon 21 第二行卡 3 次、要練慢速」
- AI 30 秒生成段落——
- 「今天的課堂上 Emma 重點練習了 Hanon 21 這首基本功練習曲。她的整體節奏感把握得不錯,但右手第 4 指的發力(這個手指通常是初學者最難獨立運動的)還需要加強。課後建議慢速練習第二行,專注每個手指的清晰落鍵。」
- 老師 30 秒校稿:補一句鼓勵、改個不準確的術語、加一句下次課計劃
- 發
總時長從 5-8 分鐘降到 ~2 分鐘,每週省 2-3 小時。
關鍵是老師的判斷還在——前面記什麼、後面校什麼,都是老師說了算。AI 只承擔重寫這個最機械的部分。說白了它就是個「翻譯」,把老師的內部黑話翻譯成家長能讀的人話。
Prompt 寫的時候想了挺久的幾件事
把老師的筆記直接丟給 OpenAI 聽起來簡單,落地有不少坑。下面是幾個我們想了挺久的決定,不敢說每個都最優,但每個都是踩過具體的事才落下來的。
不做「K-3 / 4-8 / 9-12」三套模板
最開始想給不同學齡段做不同 prompt——鋼琴 K-3 一份、數學 9-12 學術一份。還沒動手之前就發現問題:
學齡段只是一個維度,還有業態(鋼琴 vs 數學)、家長風格(要數據 vs 要感受)、老師風格(結構化 vs 敘事性)。笛卡爾積下來十幾套模板,運維負擔大,改句話就要發版。
最後改成單個 FreeMarker 模板 + 字段化變量。AI 收到的 prompt 是動態拼出來的:
ageGroup: "8-12 歲"
toneStyle: warm | formal | encouraging | professional
teacherPreferences: { ... }
observations: ["右 H 沒起", "節奏 ok", ...]
新增一種語氣風格不要發版,運維後台改字段就行。這種靈活性後面救過我們好幾次。
預設 gpt-4o-mini 不用 gpt-4o
按 OpenAI 當前公開定價(2025):
| 模型 | input | output | 一份報告(800+400 tokens) |
|---|---|---|---|
| gpt-4o | $2.50 / 1M | 0 / 1M | $0.006 |
| gpt-4o-mini | $0.15 / 1M | $0.60 / 1M | $0.00036 |
| gpt-3.5-turbo | $0.50 / 1M | .50 / 1M | $0.001 |
30 學員 × $0.00036 = 每週 $0.011,一年 $0.55。
做過盲測:50 份對比 gpt-4o-mini 和 gpt-4o 的輸出,老師壓根分不出哪個是哪個。但成本差 16 倍。
所以 gpt-4o-mini 是預設值,「想用更強模型」留了偏好開關(PRO 套餐內)。但絕大多數老師預設值就夠。
如果你也在做類似的「AI 改寫」應用,建議從最便宜的模型起步——多數任務對模型 reasoning 要求並沒那麼高,先 mini 試,真的不夠用再升。
max_tokens=1000,temperature=0.70
- max_tokens=1000:中文 200-400 字一份,1000 絕夠。但萬一 AI 想囉嗦,硬截斷兜底,免得一次 generate 燒出萬字回答。
- temperature=0.70:0.3 太機械(30 份讀著像一個人寫的),0.9 太隨機(每次輸出風格漂移)。0.70 是幾輪試出來的。
這倆參數都存在 ai_prompt_templates 表裡,運維可以單獨調,不用發版。
observations 限 10 條,多了直接截
老師有時候會拼命寫——「她今天來的時候說有點累、然後我讓她先休息了 2 分鐘、然後她說今天她媽罵她了...」。但 prompt 越長 AI 關注點越分散,質量反而下降;token 成本也是線性漲的。
硬性限制最多 10 條(按時間倒序截)。早期有老師反饋「我寫了 20 條都被切了」,我們的回覆是:如果你需要 20 條,可能這一份報告該拆成兩份發,分別說不同主題。
快取 24 小時
老師有時 generate 一次預覽、改改、再 generate。observations 沒變。這種重複請求我們快取 24 小時——同 hash 直接返回,不打 API。
加快取前每月 OpenAI 帳單 $30,加完降到
2。降 60%。這種省錢優化很無聊,但有用。
逾時 connect=5s / read=15s
OpenAI 偶爾會卡(高峰時段尤其)。如果預設 120s 逾時,老師以為系統掛了會狂點重試按鈕——觸發更多 API 調用,更卡。
我們用 5s+15s 短逾時。15 秒拿不到結果直接 fallback「AI 暫時不可用,請重試」。老師工作流不卡死,OpenAI 那邊也不堆疊重複請求。
真翻過幾次車
翻車 1:老師筆記裡的縮寫直通家長
上線第一週,有家長收到:「今天右 H 沒起,Hanon 21 第二行卡 3 次。」
家長一臉懵。
修復辦法是改 system prompt,加一句:「你的輸出是給完全不懂音樂術語的家長看的。所有縮寫、內部記號、技術術語必須先用中文/英文完整解釋,再用括號註明原始術語。」
加進去後,「H 沒起」變成「右手第 4 指(鋼琴指法術語 H)發力不夠」。家長就懂了。
這件事讓我想起一個老經驗:給 LLM 的 system prompt 裡,「它不知道什麼」比「它該做什麼」更重要。AI 不會主動假設受眾的知識背景,得明確告訴它。
翻車 2:預設 toneStyle 太硬,像收到罰單
早期預設 professional,輸出長這樣:
「經評估,學員本次課堂表現達到既定教學目標的 75%。」
家長普遍反饋「讀著像律師函」,有家長直接問「是不是你們要勸退我家孩子」。
改成 warm:
「Emma 這節課已經完成了大部分要求的練習目標,整體進步明顯。」
同樣的信息,完全不同的接收感覺。
我們後來想明白一件事:預設值是大多數老師不會去改的設定。所以預設值應該對應「大多數情境下家長接受度最高」的版本,不是「理論上最正式」的版本。
這條規律適用範圍其實挺廣的——任何 SaaS 的預設值都該這麼想。
翻車 3:學員名字亂
學員檔案有 nameZh: 張小明 / nameEn: Tom Zhang / displayName: Tom。AI 收到筆記「張小明今天...」、但報告要求英文輸出,結果 AI 自己音譯成「Zhang Xiao Ming」。
家長不知道老師在說誰。
修復:prompt 裡強制傳 displayName 字段,並在 system prompt 裡要求「輸出中提到學員一律用 displayName,不要音譯、不要中英混用」。
這種「字段裡有什麼 AI 就用什麼」的小事,做不好用戶體感很差。
這幾種場景就別用 AI 了
不是所有報告都該 AI 寫。下面這幾種我們建議老師親筆:
- 學員嚴重退步或行為異常——AI 寫出來的「挑戰和機會並存」那種話,家長一眼看出敷衍,反而加深焦慮。
- 家長之前投訴過——任何帶敏感感的家庭溝通,親筆顯得「我重視這事」。
- 複雜家庭背景(離異、移民焦慮、其他特殊情況)——通用流暢在這裡反而冷漠。
- 學員達成重大里程碑(首次過 8 級、Math Olympiad 進決賽)——值得老師投入 10 分鐘親筆祝賀,別浪費在 AI 上。
所以 ActiKidz 的 AI 課堂報告是 opt-in——每份報告生成前老師可以選「AI 草稿」或「完全手寫」,不強制。AI 是工具,不是流水線。
數據點
- 30 學員/週,老師省 2-3 小時/週 報告時間
- 月 OpenAI 成本 2-15(加快取後)
- 一份報告生成 15-20 秒(包括 API call + DB lookup + FreeMarker 渲染)
- 老師採納率(生成完實際發出去的比例):約 85%——剩下 15% 重新生成或改完全手寫
ActiKidz 後台已經上線,所有付費套餐內含。老師可以在「AI 偏好設定」裡調預設語氣、自訂偏好、看每月 token 用量。
tl;dr
AI 在私教場景裡最該幹的是「機械重寫」,不是「代寫」。老師的眼睛、判斷、感情投入還在——前面看學員、記觀察;後面校稿、補個性化。中間那 30 秒重新組織語言的事,讓 AI 做。
不是浪漫的「AI 革命教育」,是無聊但實在的——省 2-3 小時/週。夠了。
其他場景(醫療、法律、銷售復盤)AI 該承擔多少,可能不一樣。但私教這塊我們的體感就這樣:人在前後,AI 在中間。