OpenAI 釋出了官方的 prompt 教學文件,這份指南分享了針對大型語言模型(有時被稱為GPT模型),如GPT-4,獲得更好結果的策略和戰術。這裡描述的方法有時可以結合使用,以達到更大的效果。OpenAI 鼓勵進行實驗,找出最適合您的方法。
其包含了六大重點:
清晰扼要
這些模型無法讀取您的思想。如果輸出太長,請要求簡要回答。如果輸出太簡單,請要求專業水平的寫作。如果您不喜歡格式,請展示您想看到的格式。模型需要猜測的越少,您獲得所需的可能性就越大。
提供範例
語言模型在回答有關深奧主題、引文和URL的問題時,往往會自信地創造虛假的答案。就像一張筆記紙可以幫助學生在考試中表現更好一樣,提供參考內容給這些模型有助於減少虛構的回答。
拆解步驟
將複雜任務拆分為較簡單的子任務是較佳的實踐,就像在軟體工程中將複雜系統分解為一組模塊化的組件一樣,對於提交給語言模型的任務也是如此。複雜任務往往具有比較簡單任務更高的錯誤率。此外,複雜任務通常可以重新定義為一系列較簡單任務的工作流程,其中先前任務的輸出被用於構造後續任務的輸入。
給模型足夠的時間來“思考”
如果被問及計算17乘以28,您可能不會立即知道答案,但仍然可以花時間計算出來。同樣地,模型在試圖立即回答時會產生更多的推理錯誤,而不是花時間找出答案。在要求答案之前要求“思考過程”可以幫助模型更可靠地推理出正確的答案。
使用外部工具
通過將其他工具的輸出提供給模型,來彌補模型的缺陷。例如,文字檢索系統(有時被稱為RAG或檢索增強生成)可以告訴模型有關相關文檔的訊息。像OpenAI的Code Interpreter這樣的代碼執行引擎可以幫助模型進行數學運算和運行代碼。如果一個任務可以通過工具而不是語言模型更可靠或更高效地完成,則將其卸載以獲得最佳效果。
系統性地測試變更
如果能夠進行測量,改進性能將變得更加容易。在某些情況下,對提示的修改可能會在一些孤立的例子上取得更好的性能,但在一個更具代表性的例子集上導致總體性能更差。因此,要確保變更對性能的影響是正向的,可能需要定義一個全面的測試套件(也稱為“評估”)。