《更新書堂》· 第 401 篇
内容來源 | 本文摘自中信出版社書籍
《ChatGPT 超入門》 帕姆 · 貝克 著
責編 | 若風
第 7726 篇深度好文:5510 字 | 14 分鍾閱讀
2023 年的上半年,是 AI 發展曆程中最沸騰的 6 個月。
自從 ChatGPT 聊天機器人帶領 AI 進入大衆應用階段,大語言模型在數量上和質量上都出現了大爆發。從臉書母公司 Meta 的 LLaMA 開源模型,坦福大學團隊的 Alpaca,到百度公司的文心一言大語言模型,阿裏巴巴的通義千問模型,華爲推出華爲雲盤古大模型……幾乎每天都有新的模型、新的版本出現。
更重要的是,ChatGPT 揭開了一場未來變革的開端。
如果你的工作可以由機器直接完成,你該怎麽辦?
如果所有人都能輕松運用你自以爲很獨特的知識,也就是說,如果你能被别人輕松超越,你該怎麽辦?
回顧每一個曾經對人的工作、生活産生巨大影響的技術浪潮,比如個人電腦、互聯網,我們就會發現,唯一有效的應對之道是:了解它帶來的新能力,同時盡早嘗試使用它、盡快熟練運用它。
面對 AI 的浪潮,我們的唯一解法也是一樣。
如果你希望盡快上手 ChatGPT,那麽《ChatGPT 超入門》就是最好的入門工具之一。在本書中,譯者方軍爲我們提供了向 AI 提問的 8 個原則性技巧,這些技巧可以幫助我們更好地理解生成式 AI 的本質,更精準地将之加以應用,讓每個人輕松得到他們需要的答案。
一、大模型隻是在做預測
與我們對答如流的 AI 模型是真的會說話和寫作嗎?隻有理解 " 生成 " 的本質,我們才能用好這一新技術,同時也不會誤用、錯用它。
該書作者在第一章即強調了生成式 AI 模型的本質是模式預測。書中寫道:"ChatGPT 不像人類那樣思考。它基于已學習到的模式進行預測,然後根據預測到的偏好和單詞順序,組織成一句句話。這就是爲什麽它生成的内容可能非常正确,也可能錯得離譜。"
" 生成 " 的本質是模式預測,這就是爲什麽有人說,大語言模型是 " 下一個詞預測器 "。這也是爲什麽它看起來有語言表達能力、代碼編寫能力、掌握某些知識與信息的能力、推理能力等。當它預測的詞句形成連貫且有條理的内容時,我們就會認爲它會寫作。
了解到模型隻是在做預測,這會讓我們減少兩種謬誤。
第一種是 " 輕信 "。我們容易輕信文字通順、格式正确的話,就像更容易相信穿着考究的騙子。形式是形式,内容是内容。如果知道模型隻是在做預測,那就不會輕言相信。
第二種是 " 輕視 "。生成式 AI 模型生成的内容中很容易有錯漏。用圖像來說可能更加形象:一年前,AI 畫的圖片像拙劣的畫筆胡亂塗抹;一年後,它能夠模仿藝術家的繪畫和攝影師的照片。錯漏和不合理仍是難免的,當大語言模型完全出錯時,它會胡說八道。這些錯漏會讓我們輕視 AI 模型。
了解到它隻是在預測,同時預測能力在快速進化,會讓我們擺脫輕視的心态,按照它當前的能力水平去嘗試利用它。
二、警惕幻覺,始終做事實核查
即便 ChatGPT 給你的是一個明顯錯誤的答案,它也會自認爲給了你一個正确答案,也就是說它産生了幻覺。
那麽,大模型的開發者能否徹底消除幻覺呢?作者給出了精彩的解答:"ChatGPT 能夠生成回答的能力,也正是其不可靠的原因。爲了讓人類或機器想象出不存在的事物,如小說或電影中的虛構世界,必須先解放它們,即讓它們擺脫現實規則的限制。"
簡言之,我們如果要讓它具備生成能力,就必須容忍它可能産生幻覺。我們隻能盡量壓制它的幻覺,但無法徹底消除。
幻覺問題讓作者在這本書中反複強調,必須對 AI 的回答進行嚴格的事實核查。實際上,我們應該把這句警告貼在每一台使用 ChatGPT 的電腦與手機旁邊:" 始終對其生成的内容進行事實核查。"
我經常演示一個例子,來試探生成式 AI 模型的能力。我會提問說:請解釋杜甫的詩句 " 窗前明月光 "。
能力較弱的模型會被誤導而出現幻覺,它會跟着說," 這是杜甫的詩 ",而不會一下說出作者是李白,同時也說不出詩句應爲 " 床前明月光 "。
這個例子直觀地展示了生成式 AI 與搜索引擎是不同的。這也是爲什麽我們同時需要兩者:生成式 AI 用于解釋,搜索引擎可協助進行事實核查。
三、提問采用結構化提示語
剛開始使用 ChatGPT 等聊天機器人時,我們經常進行樸素的提問:" 什麽是相對論?"" 給我解釋一下深度學習。" 但我們很快就會意識到,我們是在向一台龐大的機器提問。因此,我們應該遵循基本的提問技巧。
當我們向他人請教問題時,我們要提供必要的背景信息,明确提出具體的問題,并盡量說明期待的回答方式。當我們向機器提問時,這些技巧也同樣适用。
但機器與人不同:機器不會向我們詢問更多的信息(比如,你的意思是……);機器也不會重述問題以便更好地回答(如 " 你的問題是不是…… ")。
實際上,向 AI 提問應該遵循結構化框架——提示語按順序應包括四個部分:指令(Instruction)、上下文(Context)、輸入數據(InputData)、輸出要求(OutputIndicator)。
還可以對它們做進一步的細化:
指令部分包括角色、任務、規則;
上下文部分包括技能、步驟、樣例;
輸出要求部分包括輸出規則、輸出樣例、輸出指示符。
在使用結構化提示語前,我們的一個請求幫忙翻譯的提問可能是:" 請幫我翻譯……。" 之後,我們的提問就變爲:" 你是一個人工智能專業人士,你的任務是将英文翻譯爲中文。翻譯時請參考如下詞彙表……。要翻譯的段落是……。"
在提示語中,通過界定角色,我們能夠更好地調動 AI 的相應知識與能力。很容易直觀地理解這種做法:模型是用大量質量有高有低的資料訓練而來的,若我們賦予它某一個領域内專業人士的角色,就會觸發算法去調用較高質量的部分。
在開頭明确任務,在最後重複任務,讓模型能更好地遵循我們的指令。2023 年 6 月,斯坦福大學研究者的一篇論文《迷失在中間:語言模型如何使用長上下文》用嚴謹的實驗證明了這一點:它擅長利用開頭和結尾的信息,而對處于中間部分的信息處理得較差。
四、模型能從提示語中直接學習
AI 模型也有很多未掌握的知識。比如,截至 2023 年 7 月,OpenAI 模型的信息是 2021 年 9 月之前的,其他模型也各有信息收集的截止時間,它們在那之後就不再掌握最新的知識。
這就使我們需要更多的提問技巧:模型能夠從提示語中直接學習,我們可以在提示語中給它新知識。
提供上下文知識和樣例以及期望的輸出格式樣例,我們能讓生成式 AI 更精準地回答問題。你會發現它很聰明,一教就會。比如,我們請它幫忙拟回複郵件,隻需給它三個郵件樣例,它就能很好地模仿你的表達風格。
再比如,如果我們想讓 AI 用一個特定的知識框架分析問題,則可以在上下文部分描述這個方法論。假設我們分析企業時用的是改造版的波特五力模型,以适應數字經濟時代的産業特征,你會發現當你把方法論在提示語中告訴模型後,它可以學會并使用這個方法論。
通常,即便模型掌握某些知識,提問時重述一遍方法論仍可以讓回答更符合我們的需求。
同時,并不是給的例子越詳盡越好。2023 年 6 月,谷歌等機構的研究人員在一篇論文的題目中直接說明了他們的研究結果——《大語言模型很容易被不相幹的上下文誤導》。如果示例過長或關聯度低,可能會誤導模型,導緻它無法有效地回答問題。
五、讓模型進行 " 鏈式思考 "
生成式 AI 模型的數學推理能力一直是它的短闆,甚至連簡單的小學生數學題它也可能做錯,帶點兒腦筋急轉彎的題目更會讓它感到迷惑,并給出錯誤答案。
人們很快找到了提高它能力的技巧—— " 鏈式思考 "。這種技巧的思路是,指導模型一步一步地解決問題。
舉一個谷歌論文中的例子:研究人員先給了一個示例,然後要求模型解答數學題。注意其中的關鍵點是,我們在例子中直接給出了答案,因此模型也會直接給出答案。
給出的示例:
提問:羅傑有 5 個網球。他又買了 2 罐網球,每罐有 3 個網球。現在他有多少個網球?
回答:答案是 11 個。
提出的問題:
提問:食堂有 23 個蘋果。如果廚師用 20 個來做午餐,然後又買了 6 個,那麽廚師現在有多少個蘋果?
我們把這個問題直接給數種 AI 模型,得到的回答都是 " 答案是 27 個 ",但這是錯的。
但隻需略微調整示例,在示例中向 AI 展示應該一步一步做,AI 就能夠給出正确的答案。
比如 " 羅傑開始時有 5 個網球。2 罐網球一共是 6 個網球(每罐 3 個)。5+6=11。所以答案是 11 個 "。
基于此,AI 的回答則會相應地變爲 " 食堂原來有 23 個蘋果。廚師用 20 個來做午餐,所以廚師剩下的是 23-20=3 個。廚師又買了 6 個蘋果,所以廚師現在有 3+6=9 個。答案是 9 個 "。當 AI 放慢思考速度之後,答案就對了。
對于簡單的問題,我們不需要向 AI 展示應該這樣一步一步做,你隻要說一個神奇的提示語,它就會進入 " 鏈式思考 " 的模式:" 讓我們一步一步想。"
總體而言,向 AI 提問時,要求它一步一步慢思考,讓它把分析和推理過程寫下來,這能極大地提高回答的正确率。
在《ChatGPT 超入門》這本書中,作者從一個獨特角度對 " 鏈式思考 " 進行了讨論,即 " 在對話中思考 ":" 想要提高使用 ChatGPT 的成功率,你編寫提示語時應将它看成對話消息串的一部分……若使用簡單的提示語,你得到的回答很可能過于常規或有些模糊。當你以消息串來考慮對話時,你需要将提問拆分到一系列的提示語中,引導 ChatGPT 的回複朝着你希望對話的方向前進。"
六、将複雜的任務分解
完成大型任務的重要方式就是分工,總工程師對任務進行拆解、分工到組,各組負責人再對任務進一步拆解、分工到人。
當我們要讓 AI 幫忙完成一個任務時,除非是較簡單的任務,否則你作爲 " 總工程師 " 首先要拆解任務,然後讓 AI 逐個去執行,你才會得到更好的結果。
在使用對話式的聊天機器人時,拆解任務和逐個提問是自然而然的做法,我們将任務拆解成一個問題列表,然後一次一個地提問。
要求 AI 一次完成複雜任務時,你也可以先将拆解方法告訴它。比如,它的任務是對客戶的問題進行回答,我們預先告知它,你要處理的客戶問題的主要類别爲賬單、技術支持、賬戶管理以及其他常規提問,而每個類别又細分爲子類别。因此,在收到客戶問題時,它會先按照要求進行任務分類,然後再嘗試回答。
在使用生成式 AI 時,我典型的使用習慣有兩點:
第一,我總是自行拆分任務到較具體的點,然後向 AI 提問。問題越具體,答案越符合期待。同時,問題的規模越小,也越容易對答案進行事實核查。
第二,我總是盡量在提示語的上下文部分附上完成任務的步驟。讓 AI 按照步驟做,得到的結果通常更好。這樣做的好處是,我還可以持續叠代步驟,從而讓之後的每一次類似任務的結果都能比上一次更好。
七、使用AI 模型能夠理解的格式
在用結構化提示語提問時,我們輸入的信息開始變長,采用便于 AI 理解的格式變得很重要。
比如,ChatGPT 的确能夠理解從文檔中拷貝出來的無格式表格文字,但若能輸入 CSV 格式的數據,它就能更好地理解表格數據。
當然,你可以分步操作,先讓它把無格式表格數據轉化成帶格式的,然後用這些帶格式的數據進行提問或請它制作圖示。
通常,我們可以參考以下做法,讓 AI 更容易理解信息:
長段文本用特殊的分隔符分開。比如,當我們要輸入幾段文章時,可以前後用三個英文引号(""")将段落包含起來,讓模型能夠知道這是輸入的長段文本。又如,輸入編程代碼程序前後用三個英文反引号(```)包含起來。
如果要強調句子中的某些信息,可以像寫文章一樣,用引号("")将關鍵詞凸顯出來,這會讓模型注意到。我會采用更加直接的做法,通常在需要強調的詞或句子後直接用括号加上标注,比如(這很重要!)。
采用結構化的标識與格式。比如,在提示語裏直接标明序号如第一部分、第二部分、第三部分、第四部分。而每一部分的子項又進一步編号,如 1.1,1.2,1.3 等。又如,如果你提供了多個樣本,你就可以給這些樣本加上編号。不要用句号來分隔,而是用分行來分隔不同的樣本。
另外,在這本書中,作者給了一個建議,值得大家參考:" 不要隻是滿足于簡單地使用 ChatGPT,或者僅像大多數人一樣使用。
要明白,你要比 AI 或其他使用 AI 的人更有優勢,你需要有思考能力和創造能力。尤其重要的是,提高你的提問技巧,錘煉這一技能直到你能夠達到的最高水平,持續地拓展你的思維。"
八、坐穩主駕駛位,與機器共舞
生成式 AI 出現之後,人們的一個擔憂是:我的工作會不會被機器取代?
在該書中,作者借用《星際迷航》中博格人的說法," 抵抗是徒勞的 ","AI 精靈不能被塞回瓶子中去。面對這種無法避免的現象,你如何看并不重要,ChatGPT 必将繼續存在 "。
面對這樣的劇變,我們應該如何做?對個體而言,答案很清晰。如果某些工作 AI 能夠做得比我們更好、效率更高,我們應做的是:向 AI 提問,讓它做,而不是自己做。
一方面,我們要掌握高超的技巧,以發掘 AI 的最大潛力;另一方面,我們要選擇去做更有創造性、更有挑戰性、更有成就感的任務。
我們要深入思考這個原則性技巧——坐穩主駕駛位,與機器共舞。副駕駛越來越強大對我們是件好事,同時,我們要認識所肩負的 4 項重任:
1. 追問目的。當你提問或者提出要求時,你要達成的目的是什麽?我們現在可以借助 AI 追求更高、更難、更創新的目标。
2. 學會提問。你需要掌握向 AI 提問的技巧,以得到優質的回答。你總是需要多問一下自己:如果改變提問方法,我會不會得到更好的回答?
3. 判别與鑒賞。你要有判别力,能夠判斷答案是對還是錯。你更要有鑒賞力,知道什麽是優秀的答案。
4. 承擔責任。當你将回答應用于現實世界時,獲得收益或遭受損失的是你,而不是 AI。
以上就是向 AI 提問的 8 個原則性技巧。
在使用生成式 AI 時,你會發現它們是各種技巧的基礎。但我們也可以說,技巧不重要,真正重要的是你如何運用技巧,獲得自己想要的回答,實現自己的目标和願景。
* 文章爲作者獨立觀點,不代表筆記俠立場。
分享、點贊、在看,3 連