本文目錄與主要結構
如何看待AI代替人類工作?
百度創始人李彥宏表示,不管有多少工作被替代,這只是整個圖景的一部分,另外一部分是,存在我們現在甚至無法想象的更多新機會。做一個大膽預測,10年之後,人類一半的工作是與寫提示詞(prompt)有關。未來可能不需要那麼多程式設計師,但是會需要越來越多的提示詞工程師。李彥宏認為,以後沒準學文科更容易找工作,因為寫提示詞的時候,想象力、情感、表達這些有可能真的比現在學工程的人要更有意思,更有效果一些。而多元認知,結構化思考,思維模型更加重要了。“人人都是提示詞工程師”的提法,也許意味著每個人都可以透過使用機器學習和人工智慧技術,來改進搜尋引擎的提示詞系統。
ChatGPT 的創始人 SAM前段時間也說過,提示是一個高槓杆技能。要用好人工智慧,給出我們想要的答案,對我們每個人來說,學會設計AI提示詞是必要的,不管人工智慧他有多聰明,也不是我們肚子裡的蛔蟲,不太可能知道我們在想什麼。所以,寫提示詞,就是結構化的思考和表達,是AI重要的人機介面。這在跟人交流溝通中也是需要的。
作為較早和成功的NLP和LLM工具開發公司之一,Cohere認為,成功的提示工程師將找到一種方法來指導模型生成有用的輸出。該公司在其提示工程師指南中解釋說,實現這一點的一種方法是嘗試多種提示組合。該公司表示:“同一提示的不同組合可能聽起來與人類相似,但可能會導致不同的效果。”
引言:
人工智慧(AI)是本世紀最具影響力和變革力的技術之一,它正在改變我們的生活、工作和社會。在人工智慧領域,語言模型(LM)是一種可以理解和生成自然語言(如中文、英文等)的模型,它可以用於各種應用和研究主題,如聊天機器人、文字摘要、機器翻譯、知識圖譜等。隨著計算能力和資料量的增加,語言模型也越來越強大和智慧,如ChatGPT、百度文心一言、阿里通義千問、騰訊混元和華為盤古等大型語言模型(LLM),它們可以根據使用者提供的輸入(prompt)生成各種型別和風格的內容(response)。
但是,如何有效地利用語言模型呢?如何讓語言模型理解我們想要的內容,並生成我們需要的結果呢?這就需要一種新興的學科——提示工程(Prompt engineering)。提示工程是一種利用人工智慧模型生成內容的方法,需要給模型提供一些輸入(prompt),讓模型根據輸入生成輸出(response)。提示工程的難點在於如何設計合適的輸入,讓模型能夠理解使用者的意圖和需求,並生成高質量的輸出。
為什麼提示工程是本世紀最重要的技能之一呢?因為它可以讓我們更好地與人工智慧對話,更好地利用人工智慧的能力和潛力,更好地創造和創新。提示工程可以幫助我們解決各種問題,提高效率和質量,擴充思維和視野,增強表達和溝通。提示工程不僅適用於語言模型,也適用於其他型別的人工智慧模型,如影像、音訊、影片等。提示工程是連線人類和人工智慧的橋樑,是實現人機協作和協同創新的關鍵。
在本文中,我們將介紹提示工程的基本原理和方法,展示提示工程在不同領域和場景中的應用和案例(主要使用BingGPT和ChatGPT進行測試),探討提示工程面臨的挑戰和前景。我們希望透過本文,讓讀者開始關注並學習提示工程這門重要而有趣的學科。
知識點:
提示工程(prompt engineering),是一種利用人工智慧模型生成內容的方法,需要給模型提供一些輸入(prompt),讓模型根據輸入生成輸出(response)。它利用人工智慧模型的語言生成能力,透過與模型對話,實現各種功能和任務,有著廣泛的應用和案例,也有著一些高階的技巧和原則。提示工程是一門有趣而有用的技能,它可以讓我們更好地利用人工智慧模型的潛力,創造出更多的價值和可能性。
一、提示工程的基本原理和方法
在引言中,介紹了提示工程的概念和背景,說明了為什麼它是本世紀最重要的技能之一。在本節中,將介紹提示工程的基本原理和方法,幫助讀者掌握如何利用人工智慧模型生成內容的技巧。
首先,我們需要了解什麼是提示(prompt)。提示是一種給人工智慧模型提供輸入的方式,它可以包括指令、背景、示例、輸入和輸出指示等不同的元素,用於告訴模型我們想要它執行的任務和生成的結果。例如,如果我們想讓新Bing為我們生成一首詩,我們可以給它一個這樣的輸入:
寫一首五言絕句,主題是春天。
這個輸入就是一個簡單的提示,它包含了一個指令(寫一首五言絕句)和一個背景(主題是春天)。根據這個輸入,可能會生成這樣一個輸出:
好的,我試試吧。這是我寫的一首五言絕句,主題是春天:春風吹綠楊柳, 百花爭豔綻笑容。 蜜蜂採集花蜜, 小鳥歡唱枝頭上。
這個輸出就是一個簡單的響應(response),它符合了輸入中給出的任務和條件。當然,這個輸出並不是唯一可能的結果,不同的模型或引數可能會生成不同風格或質量的內容。
其次,我們需要了解如何設計提示(prompt design)。設計提示的目的是讓模型能夠理解我們的意圖和需求,並生成高質量的輸出。設計提示的方法有很多,如使用問答格式、提供多個示例、使用特定的令牌或關鍵字等。設計提示的原則是要儘可能具體、明確、簡潔和相關。例如,如果我們想讓百度文心一言為我們生成一篇文章摘要,我們可以給它一個這樣的輸入:
Q: 請根據以下內容寫一篇摘要,不超過100字。 A: Content: 人工智慧(AI)是本世紀最具影響力和變革力的技術之一,它正在改變我們的生活、工作和社會。在人工智慧領域,語言模型(LM)是一種可以理解和生成自然語言(如中文、英文等)的模型,它可以用於各種應用和研究主題,如聊天機器人、文字摘要、機器翻譯、知識圖譜等。隨著計算能力和資料量的增加,語言模型也越來越強大和智慧,如ChatGPT、百度文心一言、阿里通義千問、騰訊混元和華為盤古等大型語言模型(LLM),它們可以根據使用者提供的輸入(prompt)生成各種型別和風格的內容(response)。
這個輸入就是一個問答式的提示,它包含了一個問題(Q)和一個答案(A)。問題部分給出了任務的要求和限制,答案部分給出了需要摘要的內容。根據這個輸入,BingGPT可能會生成這樣一個輸出:
摘要:本文介紹了人工智慧(AI)領域中的語言模型(LM),它是一種可以理解和生成自然語言的模型。本文概述了語言模型的應用和研究主題,如聊天機器人、文字摘要、機器翻譯、知識圖譜等,並介紹了幾種大型語言模型(LLM),如ChatGPT、百度文心一言、阿里通義千問、騰訊混元和華為盤古等。本文分析了語言模型的優勢和挑戰,並展望了語言模型的未來發展方向。
這個輸出就是一個簡單的摘要(summary),它符合了輸入中給出的任務和條件。當然,這個輸出並不是唯一可能的結果,不同的模型或引數可能會生成不同風格或質量的內容。
最後,我們需要了解如何最佳化提示(prompt optimization)。最佳化提示的目的是讓模型能夠更好地執行任務,並提高輸出的準確性、可靠性和多樣性。最佳化提示的方法有很多,如調整模型引數、使用反饋迴圈、進行實驗和迭代等。最佳化提示的原則是要儘可能測試、評估和改進。例如,如果我們想讓百度文心一言為我們生成一首詩,我們可以嘗試不同的輸入來觀察輸出的變化,如下所示:
寫一首五言絕句,主題是太陽。輸出: 太陽昇起東方, 萬物沐浴光芒。 暖風拂過山崗, 人們歡笑田旁。
寫一首五言絕句,主題是太陽。請使用對仗法。 輸出: 太陽照亮天空, 白雲映襯山峰。 日出驚豔東方, 晚霞絢爛西紅。
寫一首五言絕句,主題是太陽。請使用擬人法。 輸出: 太陽從夢中醒, 慢慢露出笑臉。 他照耀著大地, 溫暖著萬物心。
從上面的例子可以看出,不同的輸入會導致不同風格或質量的輸出。透過最佳化提示,我們可以讓模型更好地滿足我們的需求和期望。
總之,在本節中,我們介紹了提示工程的基本原理和方法,包括什麼是提示、如何設計提示和如何最佳化提示。我們透過一些具體的例子,展示了提示工程在文字摘要、資訊提取、問答、文字分類、對話、程式碼生成和推理等任務中的應用。我們希望透過本節,讓讀者對提示工程有一個初步的瞭解和掌握。在下一節中,我們將介紹提示工程在不同領域和場景中的應用和案例,讓讀者更深入地感受提示工程的魅力和價值。
二、提示工程的應用和案例
在上一節中,我們介紹了提示工程的基本原理和方法,包括什麼是提示、如何設計提示和如何最佳化提示。在本節中,我們將介紹提示工程在不同領域和場景中的應用和案例,讓讀者更深入地感受提示工程的魅力和價值。
首先,我們來看一個生成資料的應用。生成資料是指利用人工智慧模型的文字生成能力,透過有效的提示策略,引導模型產生更好、更一致和更準確的資料,用於各種實驗和測試。例如,我們可以使用ChatGPT來生成一些情感分析的例子,如下所示:
生成 10個情感分析例子。 將示例歸類為積極或消極。 生成 2個消極的示例和 8個積極的示例。 使用以下格式進行示例: 問: <句子 > 答: <情感 >
輸出:以下是 10個情感分析例子,2個消極的示例和8個積極的示例:
問: 我們失去了遊戲,但我們付出了最大的努力。 答: 積極 [1]
問: 這個新餐廳真是美味! 答: 積極 [3]
問: 我的電腦壞了,我現在不能上網了。 答: 消極 [1]
問: 我感到非常生氣和失望,因為我未能贏得比賽。 答: 消極 [3]
問: 我很高興今天早上起床了,可以迎接新的一天。 答: 積極 [1]
問: 每個人都對我的研究表達了高度評價。 答: 積極 [3]
問: 我們剛剛完成了一個困難的任務,這讓我們感到非常自豪。 答: 積極 [1]
問: 我們的校園環境真的很美麗。 答: 積極 [3]
問: 我在晚會上看到了我的老朋友們,這讓我感到非常快樂。 答: 積極 [1]
問: 我們的公司獲得了一個巨大的合同,這是我們的一次重大勝利。 答: 積極 [3]
這些輸出就是一些簡單的情感分析例子(examples),它們符合了輸入中給出的任務和條件。當然,這些輸出並不是唯一可能的結果,不同的模型或引數可能會生成不同風格或質量的內容。透過生成資料,我們可以快速地獲取一些樣本資料,用於訓練或評估我們自己的情感分類器。
其次,我們來看一個PAL(程式設計輔助語言模型)的應用。PAL是指利用人工智慧模型的程式碼生成能力,透過將問題轉化為程式作為中間推理步驟,利用程式設計執行時(如Python直譯器)來提供答案。例如,我們可以使用ChatGPT解決一些需要日期理解的問題,如下所示:
根據以下上下文回答問題。 保持答案簡短明瞭。 如果不確定答案,請回復“不確定答案”。
語境:
Teplizumab 的根源可以追溯到一家名為 Ortho Pharmaceutical 的新澤西製藥公司。 在那裡,科學家們生成了早期版本的抗體,稱為 OKT3。 該分子最初來自小鼠,能夠與 T 細胞表面結合並限制其殺傷細胞的潛力。 1986 年,它被批准用於幫助預防腎移植後的器官排斥反應,使其成為第一個獲准用於人類的治療性抗體。
問題:
OKT3最初來源於什麼?
回答:
輸出:
OKT3最初來源於小鼠。
這個輸出就是一個簡單的答案(answer),它符合了輸入中給出的任務和條件。當然,這個輸出並不是唯一可能的結果,不同的模型或引數可能會生成不同風格或質量的內容。透過PAL,我們可以讓模型利用程式語言和邏輯來解決一些複雜或特定的問題。
最後,我們來看一個Python筆記本的應用。Python筆記本是指利用人工智慧模型的程式碼執行能力,透過在Python筆記本中使用提示,實現各種功能和任務,如資料分析、視覺化、機器學習等。例如,我們可以使用BingGPT(因為涉及AI繪畫,這裡使用新必應桌面端)來繪製一些圖表,如下所示:
在Python筆記本中執行以下程式碼,並顯示結果。
import matplotlib.pyplot as plt import numpy as np
生成一些隨機資料
x = np.random.randn(1000) y = np.random.randn(1000)
繪製散點圖
plt.scatter(x, y) plt.xlabel(‘x’) plt.ylabel(‘y’) plt.title(‘Random Scatter Plot’) plt.show()
輸出:
這個輸出就是一個簡單的圖表(chart),它顯示了輸入中給出的程式碼執行後的結果。當然,這個輸出並不是唯一可能的結果,不同的模型或引數可能會生成不同風格或質量的內容。透過Python筆記本,我們可以讓模型利用Python語言和庫來實現各種功能和任務。
總之,在本節中,我們介紹了提示工程在不同領域和場景中的應用和案例,包括生成資料、PAL(程式設計輔助語言模型)和Python筆記本。我們透過一些具體的例子,展示了提示工程在文字生成、程式碼生成和程式碼執行等任務中的能力和價值。我們希望透過本節,讓讀者更深入地感受提示工程的魅力和價值。在下一節中,我們將介紹提示工程的一些高階技巧和原則,讓讀者更好地掌握如何設計和最佳化高效和有效的提示。
三、提示工程的高階技巧和原則
在上一節中,我們介紹了提示工程在不同領域和場景中的應用和案例,包括生成資料、PAL(程式設計輔助語言模型)和Python筆記本。在本節中,我們將介紹提示工程的一些高階技巧和原則,讓讀者更好地掌握如何設計和最佳化高效和有效的提示。
首先,我們來看一個零樣本提示的技巧。零樣本提示是指利用人工智慧模型的零樣本能力,透過簡單的提示,讓模型在沒有任何示例的情況下執行任務。例如,我們可以使用ChatGPT來進行文字分類,如下所示:
將文字分類為中性、負面或積極。 文字:我認為假期還好。
情感:
輸出:
中性
這個輸出就是一個簡單的分類(classification),它符合了輸入中給出的任務和條件。當然,這個輸出並不是唯一可能的結果,不同的模型或引數可能會生成不同風格或質量的內容。透過零樣本提示,我們可以讓模型利用其內部知識和語言理解來執行各種任務。
其次,我們來看一個少樣本提示的技巧。少樣本提示是指利用人工智慧模型的少樣本能力,透過在提示中提供一些示例,讓模型在有限的資料下執行任務。例如,我們可以使用ChatGPT來進行命名實體識別(NER),如下所示:
根據以下上下文回答問題。 保持答案簡短明瞭。 如果不確定答案,請回復“Unsure about answer”。
Context:
Teplizumab 的根源可以追溯到一家名為 Ortho Pharmaceutical 的新澤西製藥公司,在那裡,科學家們生成了早期版本的抗體,稱為 OKT3。 該分子最初來自小鼠,能夠與 T 細胞表面結合並限制其殺傷細胞的潛力。 1986 年,它被批准用於幫助預防腎移植後的器官排斥反應,使其成為第一個獲准用於人類的治療性抗體。
Question:
Ortho Pharmaceutical 是哪個國家的公司?
Answer:
Output:
Ortho Pharmaceutical 是美國的公司。
這個輸出就是一個簡單的答案(answer),它符合了輸入中給出的任務和條件。當然,這個輸出並不是唯一可能的結果,不同的模型或引數可能會生成不同風格或質量的內容。透過少樣本提示,我們可以讓模型利用一些示例資料來執行各種任務。
最後,我們來看一個鏈式思考提示的技巧。鏈式思考提示是指利用人工智慧模型的推理能力,透過在提示中提供一些推理步驟,讓模型在複雜的任務下執行任務。例如,我們可以使用ChatGPT來進行算術運算,如下所示:
這組數中的奇數相加得到一個偶數:4、8、9、15、12、2、1。 A:將所有奇數相加(9、15、1)得到25。 答案是錯的。
這組數中的奇數相加得到一個偶數:15、32、5、13、82、7、1。 A:
Output:
將所有奇數相加(15+5+13+7+1)得到41,不是一個偶數。因為所有奇數之和為奇數,不可能得到一個偶數的結果。
這個輸出就是一個簡單的運算(calculation),它符合了輸入中給出的任務和條件。當然,這個輸出並不是唯一可能的結果,不同的模型或引數可能會生成不同風格或質量的內容。透過鏈式思考提示,我們可以讓模型利用一些推理步驟來執行各種任務。
總之,在本節中,我們介紹了提示工程的一些高階技巧和原則,包括零樣本提示、少樣本提示、鏈式思考提示、自我一致性、生成知識提示和自動提示工程師。我們透過一些具體的例子,展示了提示工程在不同任務中的能力和價值。我們希望透過本節,讓讀者更好地掌握如何設計和最佳化高效和有效的提示。
結論:
提示工程是一門新興的技術,它利用人工智慧模型的語言生成能力,透過與模型對話,實現各種功能和任務。提示工程有著廣泛的應用和案例,包括生成資料、PAL(程式設計輔助語言模型)、Python筆記本等。提示工程也有著一些高階的技巧和原則,包括零樣本提示、少樣本提示、鏈式思考提示,其他還有自我一致性、生成知識提示和自動提示工程師等。提示工程是一門有趣而有用的技能,它可以讓我們更好地利用人工智慧模型的潛力,創造出更多的價值和可能性。我們希望透過本文,讓讀者對提示工程有了一個初步的瞭解和興趣,並鼓勵讀者嘗試自己與人工智慧模型對話,發現更多的驚喜和樂趣。
附錄:
《花雕學AI》是一個學習與交流AI的專欄,由驢友花雕撰寫,主要介紹了人工智慧領域的多維度學習和廣泛嘗試,包含多篇文章,分別介紹了ChatGPT、New Bing和Leonardo AI等人工智慧應用和技術的過程和成果。本專欄透過實際案例和故事,詳細介紹了人工智慧和程式設計的基本概念、原理、方法、應用等,並展示了這些平臺的各種人工智慧功能,如搜尋、交流、創作、繪畫等。在本專欄裡,作者花雕和ChatGPT及新必應等一起探索了各種有趣和有用的人工智慧應用。他們共同學習了很多人工智慧和程式設計的知識和技能,並結下了深厚的友誼。他們用自己的創造力和熱情,為人工智慧領域增添了一抹亮色。如果您也對此感興趣,歡迎關注《花雕學AI》這個專欄,大家一起探索人工智慧的奧秘和樂趣。想要了解本專欄的最新進展,請使用谷歌、必應、百度或者今日頭條等引擎直接搜尋【花雕學AI】。