人機協作

GPT 最佳實務/使用指南

(本文同步發表於計算思維學院)

OpenAI 日前發表了使用 GPT (對一般使用者來說就是 ChatGPT) 的最佳實務/使用指南 (Best Practices),讓我們可以更好地與 GPT 協作以取得想要的回應。這份使用指南包含了六個策略 (Strategies) 與 17 個技巧 (Tactics),此處我摘錄部份重點,對於全部技巧有興趣的可以直接前往閱讀全文

指令要清楚 (Write clear instructions)

GPT 不會讀心術。如果回應過長,叫它縮短一點;如果回答太簡單,要求專家級的回覆;如果你不喜歡回答的格式,直接給它指示或範例,告訴它該怎麼回答。相關實務技巧包含:

  • 在你的問題中提供細節以得到更相關的答案 (Include details in your query to get more relevant answers)
  • 使用括號或特殊符號,讓 GPT 知道要聚焦的部份 (Use delimiters to clearly indicate distinct parts of the input)
  • 如果你需要它將任務拆解成幾個步驟,直接告訴它 (Specify the steps required to complete a task)

例如,你想讓 GPT 產生會議紀錄,相較於「摘要以下發言並產生會議記錄」,更好的輸入是「摘要以下發言並產生 300 字的會議記錄,必須包含每一位與會者的重點發言,並列出會議後的待辦事項」;有時候你可以用 [], <>, 或 “”” 等符號,將你需要 GPT 聚焦處理的部份標記出來;或者提供範例答案,要求它以同樣的方式回答類似問題。另外,如果你希望它採取特定步驟 (例如 1. 先產生英文摘要; 2. 將摘要翻譯成中文),直接告訴它。

這份文件也提到了角色扮演 (Ask the model to adopt a persona),但我認為有時候並非必須。如果 GPT 回應的語氣或內容用詞很重要,要求它扮演特定角色的確能幫上忙,但其他場景,例如技術文件的查找,如果你只是問「python 的 sorted() 函式怎麼自訂排序,給我一個例子」或是「AWS 對應 Azure 的 Function App 與 Storage Account 的產品是什麼」,你並不需要先要求它扮演 10 年經驗的資深工程師或雲端專家。

提供參考文件 (Provide reference text)

GPT 的一個缺點就是它會信心滿滿地給出錯誤答案 (俗稱一本正經講幹話),為了降低這種狀況的機率,你可以提供參考文件,並且要求它僅在參考文件中找尋答案,並附上來源

將複雜任務拆解為子任務 (Split complex tasks into simpler subtasks)

例如你想讓它摘要一份超長文件,比較可靠的作法是拆成幾個段落或幾頁,讓它依次摘要,再將所有答案重新餵進去讓它彙整。

要求 GPT 「思考」 (Give GPTs time to “think”)

與其問它「這個答案對不對」,更可靠的方式是要求它先自行推導答案,再跟你提供的答案作比較;你也可以要求它列出推導及思考的步驟,在輸出步驟的過程它就有可能會自我糾正;有時在它給出答案之後,你可以問「以上答案還有什麼遺漏的嗎?」可以促使它給出更完整的答案

使用外部工具 (Use external tools)

外部工具可以是你提供的額外訊息、Plugin, 或是程式碼執行結果等

系統化的測試 (Test changes systematically)

微調你的 prompt, 與標準答案進行比較,以便了解要提供多精確的訊息才能得到正確答案

結語:你能問對問題嗎?

以前是搜尋引擎使用手冊提問的智慧,現在我們有了 ChatGPT 使用指南,但是在真正的讀心術發明之前,使用這些工具的核心能力還是一樣的:我們的分析與思考能力。你能藉由問出好問題、定義清楚的問題來得到你要的答案嗎?