想請ChatGPT完成複雜任務時,指令(prompt)要怎麼設計才好呢?美國知名創投公司Y Combinator(YC)的Podcast《Lightcone》近期討論了頂尖AI新創公司的下指令策略。究竟什麼樣的指令,才能讓模型乖乖聽話達成你的目標?又如何避免幻覺?不同模型要怎麼選擇?本文統整了5個下指令的實用技巧。
如今生成式AI技術發展快速,能要求AI做的事情也愈來愈多。當指派給AI的任務變得更為複雜,也需要搭配更完整、結構化的指令。美國知名創投公司Y Combinator(YC)近期便在Podcast《Lightcone》中,分享他們從合作的AI新創公司那裡得到的下指令技巧。
影/美國知名創投公司YC,最近釋出Podcast影片「State-Of-The-Art Prompting For AI Agents」分享新創高手使用的指令技巧。來源:YouTube@ycombinator
下指令技巧1:指派一個角色給AI
指令開頭可以先指派AI在任務中要扮演的角色,例如「你是一個客戶服務經理」、「你是一個嚴格的評審」等。若是使用API串接AI模型,可在系統指令(system prompt)的部分指派角色。接著,可條列式告訴AI要做的事以及執行步驟,並在AI要特別注意的地方標記「重要」。
下指令技巧2:指令格式可使用Markdown或XML語法
Y Combinator在影片中展示了AI新創公司Parahelp提供的指令範本,任務是要求AI擔任經理,管理其他AI代理的行動。這份指令長達6頁,詳細地描述了AI需要遵循的任務流程和注意事項。
這份指令長得不像一般文章,而是以Markdown和XML語法撰寫。Markdown和XML都屬於能將資料結構化的標記語言,在Markdown語法中,可以使用「#」、「─」等符號排版文章內容,在HTML網頁上呈現大小標題、條列式項目符號等。XML語法則是用於傳輸和儲存資料,開發者可自訂標籤來標記資料。
Y Combinator表示,使用Markdown語法有助於將任務分層,方便AI理解;此外,AI在訓練時有接觸大量類似XML語法的資料,實測結果也證明,以XML語法撰寫指令可以得到更好的結果。
下指令技巧3:元指令(Metaprompting)讓AI自己修改指令
要設計出一個可執行複雜任務的指令,需要經過多次修改。Y Combinator提到可使用元指令(Metaprompting)的方式更新指令。元指令是指使用AI來動態調整指令,而不是由開發者直接修改。
指令折疊(Prompt Folding)是元指令的實作方法,意指將過去的指令和錯誤範例再重新輸入給AI,並要求其自行修改指令。如此就可在不需人類直接干預的情況下,持續迭代出更好的指令。
最簡單的元指令入門方法,就是在指令開頭說明「你是一個專業指令工程師(prompt engineer),能夠提供非常詳細、出色的批評和建議,用於改進指令」。
影片中也推薦可使用更強大的模型(如OpenAI推理模型o3)進行元指令任務,再將得到的新指令用於負責其他工作的模型中。此外,開發者也可透過推理模型的思考歷程,了解原先的指令可能有哪些問題,從中得到修改指令的方向。
下指令技巧4:給AI「逃生出口」避免幻覺
目前的AI雖然聰明,但仍難以避免產生虛構或錯誤內容的幻覺(Hallucination)問題。「AI模型其實非常想幫助你。」Y Combinator指出,特別是在指令中要求AI以特定格式回答時,即使AI沒有足夠的資訊判斷答案,它也會回答它認為使用者想看到的內容,因而產生幻覺。
AI新創公司Tropier解決幻覺問題的方法,是給AI一個「逃生出口」。也就是告訴AI,如果沒辦法判斷答案,也不要編造內容,而是停下來並詢問使用者。
下指令技巧5:善用各AI模型特性
每個AI模型「個性」不同,在指派任務時,也可根據模型特性決定要使用哪個AI。Y Combinator分析,Claude的個性開朗、擅長與人類互動;但使用Llama時,就像在跟一個開發人員說話,需要給它更詳細的指令。
在推理模型方面,例如要求OpenAI O3和Gemini 2.5 Pro扮演評審,並給它們相同的評分標準。結果發現,OpenAI O3會嚴格遵守評分標準,但有時會顯得很僵化制式;相較之下,Gemini 2.5 Pro非常擅長靈機應變,它能遵守評分標準,但也會思考誰是標準邊緣的特例,可能可以微調分數。