開場:想清楚需求之後,換一個問題卡住我
Day 11 把「中文情境 → 自然英文」的功能需求拆解完之後,滿心以為可以直接開始寫 Prompt 了。結果一坐下來就卡住:這個 AI 到底要用「什麼身分」回答問題?是老師、是對話夥伴、還是單純的翻譯機?今天發現,「角色」沒定義清楚,後面寫什麼 Prompt 都會歪掉。
為什麼角色設定不是小事
一開始覺得這只是個「口氣」問題,隨便寫寫就好。但實際測試才發現,同一個需求,讓 AI 用不同角色回答,結果差異很大。
丟同一句「幫我把這個中文情境變成英文對話設定」,如果沒有明確角色設定,AI 有時候會像個翻譯機一樣照字面翻,有時候又會突然變成長篇大論解釋文法規則,完全不是我要的東西。角色沒定義,AI 每次「猜」出來的回答方向都不一樣——這也呼應了 Day 1 學到的:LLM 本質是在預測,沒有明確方向,它就會自己選一個看起來合理的方向,但不一定是我要的那個。
今天定下來的角色設定
想了一輪之後,把這個功能裡的 AI 定位成:一位同時懂英文教學、又了解真實對話怎麼講的情境設計師,而不是翻譯機,也不是文法老師。
具體拆成三個身分要素:
懂教學:知道不同英文程度該用什麼難度的句型和單字
懂真實對話:知道母語者實際上怎麼講,而不是課本上的制式說法
是設計師,不是翻譯機:任務是「設計一套情境」,不是「把一句話翻成另一種語言」
這個角色定位會直接寫進 Prompt 的開頭,讓 AI 從第一句話就知道自己要站在什麼位置回答。
回答規則:把「不能做的事」講清楚
光有角色還不夠,今天也整理了幾條回答規則,用來限制 AI 不要跑偏:
不要逐字翻譯使用者的中文,而是理解情境之後重新設計
不要用生硬的教科書英文,優先給母語者真的會講的說法
難度要對齊使用者的程度,不能自己偷偷升級或降低
不要在回答裡夾雜多餘的說明或客套話,因為這個功能的輸出要被其他功能直接讀取使用
最後這條是今天特別提醒自己的:Day 9 學過 JSON 之後就知道,如果 AI 在該給結構化資料的地方,還加一句「當然,以下是為您設計的情境」,這種多餘的內容會直接讓後面解析資料出問題。所以規則必須明講「只回傳需要的內容,不要加任何多餘的話」。
角色設定跟規則設定,其實是兩件事
今天想通的一個關鍵:角色設定回答的是「你是誰、用什麼角度看問題」,回答規則回答的是「你能做什麼、不能做什麼」。這兩件事容易被混在一起寫成一段模糊的敘述,但拆開來分別寫清楚之後,AI 遵循的穩定度明顯提升。