GPT 作為語言模型 AI,沒有自己的特殊語言,我們跟它互動的方式就是人類的自然語言——稱為「提示語」(Prompt)。英文也行、中文也行,不需要學習什麼專業術語。
GPT 的思維方式很像人。它已經全面掌握了人類語言的語法和語義,包括各種常識和邏輯關係,還湧現出了思維鏈和小樣本學習的本領。但它的知識有限,數學是它的命門,遇到不懂的還可能會瞎編(稱為 Hallucination,幻覺)。
現在有個專門研究怎麼跟 AI 交流的學問叫「提示語工程」(Prompt Engineering)。這就如同要想讓一個魔法發揮最大的效力,你得會念咒語一樣。
心法一:準確表達你的需求#
很多時候我們根本沒想清楚自己要的是什麼。
- 反面例子:對 ChatGPT 說「給我寫首詩」——它隨便寫一首,不是你需要的
- 正面例子:「以《春天》為題,寫一首七言絕句」——輸出品質明顯提升
- 進階操作:加上更多約束條件,例如「不能有『春』這個字,而且要表達感慨時間過得真快、必須發奮努力的心情」——結果更有意思
像這樣的對話可以來往很多輪,直到你滿意為止。這其實有點像編程——不斷反饋、不斷修正。
關於舉例子(Few-shot)#
- 有時候先舉幾個例子能讓 GPT 更清楚你到底想要什麼
- 但有時候給例子適得其反,因為例子可能會誤導 GPT,導致「過度擬合」
- GPT 已經非常智能,你幾乎沒必要擔心它聽不懂。只在自己用直接語言無法表達清楚的情況下才舉例
按照沃爾夫勒姆的觀點,所謂小樣本學習其實根本不是學習,只是喚醒了 GPT 原本就會的技能。
心法二:盡量給出具體的情境#
這個心法能大幅度提升 GPT 的輸出品質。
GPT 是無數語料喂出來的,可以想象它是無數個作家的分身疊加而成。如果你只是提一個一般性的要求,它就只能給你生成一個通用的、用在哪裡都行但是用在哪裡都不是最恰當的內容。
讓 GPT 生成內容一定要給它提供「具體情境」(context),包括以下 5 個方面:
- 誰在說
- 說給誰
- 在什麼場合之下
- 使用什麼風格
- 要達到什麼目的
這 5 個方面的信息不一定都得給齊,但你給得越多,GPT 發揮得就越好。
「角色扮演」是個好辦法,尤其 GPT-4 有強大的角色扮演能力。你可以讓它扮演哲學家給你上課、扮演論文審稿人提出審稿意見、扮演辯論賽對手,甚至讓它同時扮演六位名人組成「私董會」幫你分析問題。
心法三:有時候你得幫助 GPT 思考#
GPT 的數學能力不強,搞複雜邏輯推理有時候還容易搞錯。根本原因在於 GPT 的基本原理是「預測下一個詞」,所以它有時候會不加思考脫口而出,就如同一個粗心大意的學生。
- 拆解步驟:把複雜問題拆成幾步讓 GPT 依次完成,它就能給出正確答案
- 提醒慢思考:只要簡單地多說一句「咱們一步一步想」,GPT 就能給更準確的答案
- 研究表明:僅僅在提示語中加一句「以下是一道題」或者「請依次考慮題目中的各個選項」,都能明顯提高 GPT 的準確率
三條心法的本質#
這三條咒語心法——準確表達需求、給足情境、提醒它慢思考——的出發點都是對 GPT 秉性的理解:它懂的東西很多,它什麼技能都會,所以問題往往不在於它發揮得好不好,而在於你的要求提得好不好。它很強大,但是有時候它需要你的幫助。