# 前言 隨著深度學(xué)習(xí)技術(shù)的不斷發(fā)展,,人工智能在各個領(lǐng)域都表現(xiàn)出越來越強(qiáng)大的能力,。其中,自然語言處理(NLP)領(lǐng)域發(fā)展迅猛,,將人工智能技術(shù)應(yīng)用于對話系統(tǒng),、語音識別和機(jī)器翻譯等方面。ChatGPT是一個基于GPT-3.5語言模型的智能對話系統(tǒng),,可以在多種應(yīng)用場景下提供優(yōu)質(zhì)的對話服務(wù),。聊天機(jī)器人已經(jīng)成為越來越多企業(yè)和個人在智能客服、智能娛樂等領(lǐng)域的必備工具,。而其核心技術(shù)之一——自然語言處理(NLP)技術(shù),,目前又以大型預(yù)訓(xùn)練模型(如GPT-4)為代表進(jìn)一步展示出其巨大威力。而如何更好地優(yōu)化Prompt,,成為一名專業(yè)的Prompt工程師,,已經(jīng)成為許多人想要了解的技能。 本文將圍繞如何成為Prompt工程師,、如何更好地優(yōu)化Prompt以及如何向ChatGPT提問這三大方面展開講解,。同時,本文也會提供一些具體示例來幫助讀者深入理解,。 通過搜索引擎或社交媒體,,我們可以看到很多人正在討論P(yáng)rompt engineer,這是因?yàn)镻rompt engineer可以幫助我們更好地進(jìn)行文本交互,。Prompt engineer是一種人工智能技術(shù),,它可以讓我們從一個簡短的文本提示開始,自動生成連貫,、有意義的文本,。這種技術(shù)可以確保我們使用最少的輸入或編碼來完成任務(wù),這在手動完成某些復(fù)雜任務(wù)時尤為重要,。 但是Prompt engineer對于大多數(shù)人來說還是一個相對新的領(lǐng)域,,很多人可能不知道這是什么,,也不知道為什么需要學(xué)習(xí)它。在本文中,,我們將深入研究Prompt engineer并提供有價值的啟示,,讓你更好地了解這個技術(shù),并學(xué)會如何使用它,。 # 1. 什么是Prompt engineer,? Prompt engineer是一種技術(shù),它使用機(jī)器學(xué)習(xí)來幫助我們自動生成文本,。在這個領(lǐng)域,,機(jī)器學(xué)習(xí)算法將從大量的數(shù)據(jù)中提取出統(tǒng)計(jì)特征,以預(yù)測要在生成,。這些算法可以分為三個主要部分:生成,、篩選和評估。生成階段是Prompt engineer的重點(diǎn)部分,,它可以幫助我們從一個簡短的提示開始,,逐步生成更多的文本。 那么,,為什么我們需要學(xué)習(xí)Prompt engineer呢,?簡單地說,Prompt engineer可以幫助我們更好地完成各種文本任務(wù),。如果你曾經(jīng)參與過需要大量文本處理的活動,,你就知道這項(xiàng)任務(wù)需要耗費(fèi)大量的時間和精力。Prompt engineer能讓你在使用更少的輸入或編碼的情況下快速完成任務(wù),,從而提高效率并節(jié)省時間,。 總體來說,**AI 相當(dāng)于美國隊(duì)長的實(shí)力,,遇強(qiáng)則強(qiáng),,遇弱則弱**,關(guān)鍵其實(shí)在于 Prompt,。所以,,如何更好地完善 prompt,實(shí)現(xiàn) prompt 工程就是:如何更好地使用 AI 的基礎(chǔ),。 # 2. 成為一個優(yōu)秀的Prompt工程師 Prompt工程師是對智能對話場景(比如ChatGPT)進(jìn)行定制的人,。他們不但可以調(diào)整模型,讓模型能夠根據(jù)特定條件生成更加符合期望的答案,,而且還可以理解算法優(yōu)化,。Prompt可以被看作是一種用來交互的消息。比如你可以問“蒜蓉西蘭花怎么做?”或者“我怎樣才能制作一碗盡善盡美的雞湯,?”這些都可以作為Prompt被輸入到ChatGPT進(jìn)行回答,。 成為Prompt工程師可以讓你把自己的聊天體驗(yàn)提高到一個全新的水平,可以讓你更好地向ChatGPT提問,,獲取更加精準(zhǔn)的答案,。此外,追求新奇體驗(yàn),,發(fā)起趣味聊天等等,都可以通過更好地使用Prompt技巧來實(shí)現(xiàn),。 為了成為Prompt工程師,,你需要具備以下基礎(chǔ)知識: - 自然語言處理(NLP):這是指將機(jī)器學(xué)習(xí)應(yīng)用于人類語音和文本處理的能力。無論是基礎(chǔ)的詞法分析和命名實(shí)體識別,,還是更復(fù)雜的語法樹,,這些技能都是你成為Prompt工程師所必需的。 - 機(jī)器學(xué)習(xí)基礎(chǔ):Prompt工程師需要了解機(jī)器學(xué)習(xí)的基礎(chǔ)知識,,以便能夠調(diào)整諸如學(xué)習(xí)率,、損失函數(shù)等參數(shù),并為模型選擇合適的超參數(shù)調(diào)參,。 - 語言模型:Prompt工程師需要對其使用的語言模型有足夠的了解,。這包括知道如何針對不同的問題使用不同的模型,以及如何根據(jù)具體的需求對模型進(jìn)行微調(diào),、修整,。 - Prompt技巧:Prompt工程師需要了解如何優(yōu)化Prompt,以便更有效地與ChatGPT交互,,并且在技術(shù)層面強(qiáng)調(diào)“創(chuàng)新性”,。 # 3. 如何更好地優(yōu)化Prompt向ChatGPT提問? ## 3.1 確定任務(wù)和目標(biāo) ChatGPT支持回答多種類型的問題,,如開放性問題,、特定主題問題等。因此,,在提問前需要先確定問題類型,,以便更好地設(shè)計(jì)Prompt。 比如,,下面三個例子分別屬于開放性問題和特定主題問題: - 開放性問題:你覺得明天的天氣會怎么樣,? - 特定主題問題:請問樓下的洛杉磯新聞在哪里可以看? 對于這兩種問題,,我們需要設(shè)計(jì)不同的Prompt,,以使ChatGPT可以根據(jù)問題類型生成相應(yīng)的答案。 - 特定主題問題:TensorFlow安裝出錯,怎么解決,? 對于這個問題,,我們需要根據(jù)特定主題——TensorFlow,來設(shè)計(jì)Prompt,。 上面說過,,AI 相當(dāng)于美國隊(duì)長的實(shí)力,遇強(qiáng)則強(qiáng),,遇弱則弱,,關(guān)鍵在于你如何向ta進(jìn)行提問,在設(shè)計(jì)Prompt時,,首先需要明確任務(wù)和目標(biāo),。Prompt需要清晰地描述任務(wù),告訴ChatGPT具體要搜索和輸出什么內(nèi)容,。Prompt需要明確指定領(lǐng)域和話題,,以便ChatGPT更好地理解任務(wù)。比如,,Prompt可以告訴ChatGPT搜索的內(nèi)容應(yīng)該是具體某一領(lǐng)域的知識,,比如醫(yī)學(xué)、法律,、金融等,。為了提高ChatGPT的理解效果,Prompt可以修改問題形式,,利用更簡潔明了的方式傳遞信息,。比如,將開放性問題轉(zhuǎn)化為閉合性問題,,或者引入額外的概括或細(xì)節(jié)等信息來幫助模型更好地理解問題,。 比如,如何現(xiàn)在你需要寫一篇《如何成為prompt工程師,,向chatgpt進(jìn)行提問》,,你可以這樣提問: ``` 現(xiàn)在你需要寫一篇名為《如何成為prompt工程師,向chatgpt進(jìn)行提問》的文章,,你需要注意以下幾個注意事項(xiàng): 1. 給出文章的框架 2. 你需要重新取一個更吸引人的標(biāo)題,,這個標(biāo)題需要更加容易獲得更多的訪問量,你需要結(jié)合人性的弱點(diǎn),,推薦算法等因素給出5個優(yōu)秀的爆款標(biāo)題 3. 給出文章的前言 4. 你需要從什么是prompt engineer開始,,介紹如何更好地優(yōu)化prompt從而向chatgpt進(jìn)行提問,并且提供一些示例來佐證你的觀點(diǎn),,并在最后進(jìn)行總結(jié),。整篇文章主要圍繞怎么更好地向chatgpt進(jìn)行提問,,如何將思維框架賦予機(jī)器,從而讓chatgpt生成更加細(xì)節(jié)具體的答案,。 5. 用通俗易懂,、幽默的語言來撰寫,盡可能多的用示例,,每一個知識點(diǎn)都用一些示例 6. 關(guān)于如何更好地prompt提問,,可以參考我是怎么向你問問題的,我會分點(diǎn)把需要注意的事項(xiàng)都告訴你,,這一點(diǎn)你可以寫在文章中,。 7. 本文只是關(guān)于應(yīng)用層的用戶如何提問,這些用戶不需要了解深入NLP算法,,也不需要關(guān)注這些,,他們只需要關(guān)注如何提問,你需要注意這一點(diǎn) ``` 再有,,現(xiàn)在想詢問如何自學(xué)編程時,一個好的Prompt可以是:“如何在沒有專業(yè)背景的情況下,,自學(xué)編程,?”,而一個不好的Prompt則可能是“如何學(xué)習(xí)編程,?”這是因?yàn)榍罢吒泳唧w且針對性更強(qiáng),,所包含的信息也更全面。 ## 3.2 找到并優(yōu)化關(guān)鍵詞和問題 在使用ChatGPT時,,關(guān)鍵詞和問題對生成的答案至關(guān)重要,。因此Prompt工程師需要熟練掌握各種查詢格式(如問句和陳述句等),并能夠根據(jù)不同的目的進(jìn)行靈活調(diào)整,。此外,,關(guān)鍵詞和問題的質(zhì)量和清晰度也會直接影響到生成的答案,因此應(yīng)該注意優(yōu)化,。要在提問中盡可能簡潔明了地描述問題,,并盡可能避免出現(xiàn)歧義詞匯。 示例: - 原問題:明天我該穿什么衣服,? 這個問題中的關(guān)鍵詞“我”可能會讓模型出現(xiàn)混淆,,因此可以優(yōu)化關(guān)鍵詞,改為: - 更好的問題:明天應(yīng)該穿什么樣的衣服,? ## 3.3 撰寫清晰簡潔的Prompt Prompt必須清洗簡練,,以確保它們是清晰的并精準(zhǔn)地表達(dá)你的意思。這意味著你需要掌握各種撰寫技巧,,如設(shè)置與上下文相關(guān)的對話歷史記錄,,鎖定特定模型或模型版本,,或從模板或提示進(jìn)行初始選擇,合理的Prompt可以讓模型更好地理解問題,,從而提高答案的質(zhì)量,。 比如: - 不太好的Prompt:你覺得明天的天氣怎么樣?因?yàn)榭赡軙掠?,所以我不確定要穿什么衣服,。 這個Prompt太復(fù)雜了,ChatGPT會難以理解,。更好的Prompt可以是: - 更好的Prompt:請描述一下明天的天氣,。 ## 3.4 結(jié)合上下文進(jìn)行提問 ChatGPT具有上下文感知能力,能夠根據(jù)輸入問題的上下文生成更加精準(zhǔn)的答案,。 假設(shè)對話上下文如下: - 用戶:想看一部好笑的喜劇電影,,有什么推薦的嗎? - ChatGPT:你可以看《邏輯思維訓(xùn)練營》,。 現(xiàn)在用戶又提了一個問題: - 用戶:這部電影是哪年拍的,? 我們可以結(jié)合上下文來設(shè)計(jì)Prompt,比如: - 更好的Prompt:《邏輯思維訓(xùn)練營》是哪年上映的,? 對于 ChatGPT 來說,,我們需要明確的 prompt:: ``` user: 我想寫一篇文章,主題是《如何用 ChatGPT 寫一篇文章,,以如何用 ChatGPT 寫一篇文章》,,文章的大綱是: 1. 先用 100 字介紹一下 ChatGPT 2. 以 Julia 作為可以以具體的案例為例,介紹如何使用 ChatGPT 寫一篇博客大賽的參賽作品,。這包括如何確定主題,、如何撰寫開頭和結(jié)尾、如何組織文章結(jié)構(gòu)等等,。主題是:《Julia Dataframe 在大數(shù)據(jù)分析領(lǐng)域的使用》,,大綱中包含:用 200 字介紹一下 Julia 語言歷史;介紹如何使用 DataFrames.jl,,并有個代碼示例,;對比一下 Python Pandas、Apache Spark Dataframe,;小結(jié),。 3. 對本文的內(nèi)容進(jìn)行總結(jié),并再次強(qiáng)調(diào)使用 ChatGPT 進(jìn)行寫作的好處,。 幫我寫一篇文章,? ------------- chatgpt: 當(dāng)然可以,以下是一篇基于您提供的大綱的示范文章: 如何用ChatGPT寫一篇文章,,以如何用ChatGPT 寫一篇文章 ChatGPT是一種基于神經(jīng)網(wǎng)絡(luò)的語言模型,,可以用于自然語言處理和文本生成,。在本文中,我們將介紹如何使用ChatGPT 寫一篇參加博客大賽的文章,,并以Julia語言為例,,詳細(xì)說明如何撰寫開頭、確定主題,、組織文章結(jié)構(gòu)以及撰寫結(jié)尾,。 介紹ChatGPT ChatGPT是由 OpenAl開發(fā)的一種預(yù)訓(xùn)練語言模型,它可以基于已有的大量語料庫,,生成高質(zhì)量的自然語言文本,。該模型可以應(yīng)用于多種自然語言處理任務(wù),如對話生成,、文本摘要,、語言翻譯等。ChatGPT的預(yù)訓(xùn)練模型是使用Transformer模型實(shí)現(xiàn)的,,其中包含數(shù)百萬個參數(shù),,可以在訓(xùn)練后生成高質(zhì)量的文本。 撰寫開頭 在撰寫開頭時,,我們需要吸引讀者的注意力并明確文章的主題,。針對這篇文章,我們的主題是《Julia Dataframe在大數(shù)據(jù)分析領(lǐng)域的使用》,,因此我們可以在開頭介紹Julia語言的歷史和數(shù)據(jù)分析領(lǐng)域的背景,為讀者引入本文的主題,。 ...... ``` 如此一來,,我們提供的上下文就會更加準(zhǔn)確,基于這個范例,,可以思考我們的內(nèi)容如何編寫,。 ## 3.5 其他小建議 相似的,與 Stable Diffusion 類似的是,,AI 生成的內(nèi)容經(jīng)常出現(xiàn)各種問題,,所以我們要注意: 1. 保持自然的表達(dá)。ChatGPT 能夠生成流暢的語句,,但有時可能會出現(xiàn)奇怪或不合適的表達(dá),。在使用 ChatGPT 進(jìn)行寫作時,需要注意保持自然的表達(dá)方式,。 2. 適時修正錯誤,。如果 ChatGPT 生成的內(nèi)容不準(zhǔn)確或有錯誤,應(yīng)該及時進(jìn)行修正,,以保證文章的準(zhǔn)確性和可讀性,。 3. 多次修改和調(diào)整,。ChatGPT 的輸出結(jié)果雖然會自動進(jìn)行語法糾錯和編輯,但是為了保證文章質(zhì)量,,還是需要經(jīng)過多次修改和調(diào)整,,不斷完善文章結(jié)構(gòu)和內(nèi)容。 4. 保持簡潔明了,。在使用 ChatGPT 進(jìn)行寫作時,,需要盡量保持簡潔明了,避免使用過于復(fù)雜的句式和詞匯,,以便讀者更好地理解文章內(nèi)容,。 5. 注重原創(chuàng)性和獨(dú)特性。盡管 ChatGPT 能夠生成大量的文章,,但是為了在博客大賽中脫穎而出,,還需要注重文章的原創(chuàng)性和獨(dú)特性,盡可能地突出自己的風(fēng)格和思想,。 考慮到 ChatGPT 的代碼并不那么準(zhǔn)確,,讓我們使用 GitHub Copilot 生成更多的內(nèi)容。 # 4. 總結(jié) Prompt工程師是一種非常重要而高尚的職業(yè),,能夠幫助人類更好地利用人工智能的力量來解決問題,。希望通過本文的介紹,讀者可以更好地理解如何成為一名Prompt工程師,,如何更好地優(yōu)化Prompt,,以及如何更好地向ChatGPT提問,通過對Prompt工程師以及優(yōu)化Prompt的策略進(jìn)行介紹,,我們可以更好地理解如何向ChatGPT提出更好的問題,,以獲得更準(zhǔn)確有用的回答。 人類相對于其他動物更擅長于類比,、概念抽象,、符號化等高級認(rèn)知活動,這些認(rèn)知活動可以幫助人類在面對新問題時,,從已有的知識和經(jīng)驗(yàn)中找到相似的部分,,快速理解和解決新問題。 而對于機(jī)器來說,,機(jī)器學(xué)習(xí)算法通過大量的數(shù)據(jù)和計(jì)算,,學(xué)習(xí)到數(shù)據(jù)中的規(guī)律和模式,并將這些規(guī)律和模式應(yīng)用到新的數(shù)據(jù)中,,從而實(shí)現(xiàn)預(yù)測和決策等功能,。例如,機(jī)器學(xué)習(xí)算法可以通過大量的圖像數(shù)據(jù)學(xué)習(xí)到圖像的特征,,并在新的圖像中識別出相應(yīng)的物體,;也可以通過大量的自然語言數(shù)據(jù)學(xué)習(xí)到語言的規(guī)律,,從而生成自然語言文本。 # 參考閱讀 - [prompt-engineering/prompt-patterns: Prompt 編寫模式:如何將思維框架賦予機(jī)器,,以設(shè)計(jì)模式的形式來思考 prompt (github.com)](https://github.com/prompt-engineering/prompt-patterns) - [A Complete Introduction to Prompt Engineering For Large Language Models - Mihail Eric](https://www./posts/a-complete-introduction-to-prompt-engineering/) - [f/awesome-chatgpt-prompts: This repo includes ChatGPT prompt curation to use ChatGPT better. (github.com)](https://github.com/f/awesome-chatgpt-prompts) |
|