OpenAI 官方推薦六大策略:如何讓 GPT 更有效率
2024年3月31日
OpenAI 更新了 GPT 的最佳實踐指南 — GPT best practices,官方直接推薦六大策略,加上具體的優化方法,搭配簡單易懂的例子,讓你能更有效掌握 GPT 模型的強大。
我們一起來看看這六個策略包含什麼吧!
指令要清晰 (write clear instructions)
GPT 不會讀心術。如果覺得 GPT 回答太多,就告訴它要精簡一點。如果回答得太簡單,就要求要用專家的口吻。如果你不喜歡回答的格式,那就具體列出你偏好的格式。當 GPT 越不需要去猜你想要的是什麼,你就更可能獲得你想要的回覆。
舉例來說,如果你想讓 GPT 幫你總結會議記錄,下方的範例一會是比較差的結果:
// 範例一 總結會議記錄 --- [會議記錄]
以下範例二、提供清晰的指令,會得到更好的結果:
// 範例二 用一個段落總結會議記錄。然後寫下演講者的 Markdown 清單以及他們的每個要點。 最後,列出發言人建議的後續步驟或行動項目。 --- [會議記錄]
提供參照(provide reference text)
GPT 有時候會很有信心地創造出虛假的回覆、一本正經說瞎話,特別是被問到關於冷僻主題,或者需要引用和網址的時候。就像一張筆記可以幫助學生在考試中得到更好的成績一樣,給 GPT 提供參考文本也可以幫助 GPT 減少虛構的答案。
舉例來說,你可以用以下的指令為 GPT 提供參考文章,並讓 GPT 從參考文章中回答問題:
使用下方提供的由三重引號內的文章來回答問題。 如果在文章中找不到答案,請回答「我找不到答案」。 --- """文章一""" """文章二""" """文章三""" 問題:[問題]
將複雜任務拆成簡單的子任務 (split complex tasks into simpler subtasks)
就像在寫程式時會把一個複雜的系統分解成許多模組一樣,對 GPT 也是如此。複雜的任務錯誤率比較高,而且這些複雜的任務,常常可以被重定義成一系列簡單任務,把簡單任務串聯成輸入,會更可能正確解決。
舉例來說,你可以透過以幾種策略
- 使用分類來讓 GPT 參照處理子任務
- 對於需要很長對話的對話應用,總結或過濾先前的對話
讓 GPTs 有時間思考 (give GPTs time to “think”)
如果問你 17 乘以 28 是多少,你可能不會立刻知道答案,但給你一些時間你就能算出來。GPT 也是如此,當要 GPT 立刻答問題的時候,可能會出現更多的錯誤。在回答之前,先問問 GPT 思考過程,這樣可以幫助 GPT 更可靠地推理出正確的答案。
舉例來說,你可以引導 GPT 思考解題過程,讓 GPT 不要直接回答問題:
首先制定自己的問題解決方案。 然後將你的解決方案與學生的解決方案進行比較,並評估學生的解決方案是否正確。 在你自己完成問題之前,不要決定學生的解決方案是否正確。 --- 問題陳述:XXX 學生的解答:XXX
善用外部工具 (use external tools)
透過將其他工具的輸出結果,輸入給 GPT,將可以補足 GPT 的弱點。
舉例來說,文字檢索系統可以告訴 GPT 相關的文件。程式碼執行引擎可以幫助 GPT 機器人做數學運算和執行程式碼。如果一個任務可以由其他工具更可靠或高效地完成,那就把它交給那個工具,接著搭配 GPT,這樣可以得到兩者的最佳結果。
系統性測試改變 (test changes systematically)
有些情況下,對提示詞進行修改可能會在某些單獨的例子上得到更好的結果; 但在其他更有代表性的例子上,我們有可能得到整體更糟的表現。因此,當我們要確定提示詞的修改或策略時,會需要定義一個全面性的測試,用系統性的方式評估,才能確保提示詞是最佳的,讓這個改變對總體影響是正面的。