為什么提示工程如此重要?
提示工程的目標是通過提供清晰、簡潔且結構良好的輸入來提高語言模型的性能,這些輸入需要針對模型所用于的特定任務或應用進行定制。可以將提示工程比喻成與人交流時使用清晰明了的語言,讓對方更容易理解你的意圖,從而做出更滿意的回應。
那么接下來,我們將依次介紹OpenAI提供的提示工程最佳實踐,FushionAI的自動生成功能,以及讓GPT進行自我反思。我們還會提供一個額外的實用小技巧,請多留心!
OpenAI的官方最佳提示技巧
1.使用最新的模型
為了獲得最佳效果,我們建議使用最新、性能最強大的模型。截至2022年11月,文本生成方面的最佳選擇是“text-davinci-003”模型,代碼生成方面的最佳選擇是“code-davinci-002”模型。能使用GPT-4當然會比ChatGPT要更好。
2.將指令放在提示的開頭,并用###或"""將指令與文本分開
效果不佳?:
將下面的文本摘要成一個關鍵要點的項目列表。
{輸入文本}
更好的選擇?:
將下面的文本摘要成一個關鍵要點的項目列表。
加密錢包Trust Wallet集成Sui Network:金色財經報道,加密貨幣錢包Trust Wallet宣布集成Sui Network。 Sui基金會表示,主網上線后,超過50%的計劃代幣將用于項目的開發。[2023/5/4 14:42:06]
文本:
"""{輸入文本}"""
3.對所需的上下文、結果、長度、格式、風格等盡可能具體、詳細和描述性
效果不佳?:
寫一首關于OpenAI的詩。
更好的選擇?:
寫一首關于OpenAI的短篇勵志詩,重點描述DALL-E產品發布,風格仿照{著名詩人}。
4.通過示例明確所需輸出格式
效果不佳?:
從下面的文本中提取實體。提取以下4種實體類型:公司名稱、人名、特定主題和主題。
文本:{文本}
更好的選擇?:
從下面的文本中提取重要實體。首先提取所有公司名稱,然后提取所有人名,然后提取與內容相關的特定主題,最后提取總體主題。
期望格式:
公司名稱:<逗號分隔的公司名稱列表>?
列支敦士登私人銀行VP Bank選擇Metaco協助其開發數字資產托管服務:金色財經報道,列支敦士登私人銀行VP Bank (VPBN)與瑞士數字資產技術提供商Metaco建立了合作伙伴關系,VP Bank已將Metaco用于其Harmonize平臺,該平臺將用于擴展其數字資產托管和代幣化服務。VP Banks系繼花旗銀行、法國興業銀行、DekaBank和DZ Bank之后選擇Metaco協助其開發數字資產服務的第五家銀行。[2023/4/4 13:44:19]
人名:-||-?
特定主題:-||-?
總體主題:-||-
文本:{文本}
5.從零次學習開始,然后進行少次學習,如果這些方法都不起作用,那么進行微調
?零次學習
從下面的文本中提取關鍵詞。
文本:{文本}
關鍵詞:
?少次學習-提供幾個示例
從下面的文本中提取關鍵詞。
文本1:Stripe為Web開發人員提供了API,以便他們將支付處理集成到自己的網站和移動應用程序中。
關鍵詞1:Stripe,支付處理,API,Web開發人員,網站,移動應用程序
Freshworks稱對硅谷銀行的敞口非常小:3月13日消息,印度SaaS公司Freshworks稱,相對于公司的整個資產負債表而言,對目前硅谷銀行的敞口是最小的;與使用硅谷銀行賬戶的公司客戶和供應商一起努力,將這些賬戶轉移至其他銀行;公司目前大多數現金和有價證券沒有存放在硅谷銀行。[2023/3/13 12:59:05]
文本2:OpenAI已經訓練出了處理和生成文本方面非常優秀的語言模型。我們的API可以讓您使用這些模型,解決幾乎任何涉及處理語言的任務。
關鍵詞2:OpenAI,語言模型,文本處理,API。
文本3:{文本}?
關鍵詞3:
?微調:請參閱參考文獻里的微調最佳實踐指南。
6.減少模糊和不精確的描述
效果不佳?:
這個產品的描述應該比較簡短,只有幾句話,不要太多。
更好的選擇?:
用3至5句話的段落來描述這個產品。
7.不僅要說不做什么,更應該說做什么
效果不佳?:
以下是代理和客戶之間的對話。不要詢問用戶名或密碼。不要重復。
客戶:我無法登錄我的賬戶。代理:
印度最近推出的CBDC正在測試離線功能:金色財經報道,印度儲備銀行(RBI)執行董事Ajay Kumar Choudhary透露,印度最近推出的內部中央銀行數字貨幣(CBDC)e-rupi,現在正在測試離線功能。(cointelegraph)[2023/3/4 12:42:26]
更好的選擇?:
以下是代理和客戶之間的對話。代理將嘗試診斷問題并提出解決方案,同時避免詢問任何與個人身份信息有關的問題。不要詢問用戶名或密碼,而是引導用戶查閱幫助文章www.samplewebsite.com/help/faq
客戶:我無法登錄我的賬戶。代理:
8.代碼生成-使用“引導詞”引導模型生成特定模式
效果不佳?:
編寫一個簡單的Python函數
1.詢問我一個以英里為單位的數字
2.將英里換算成公里
在下面的代碼示例中,添加“import”提示模型應該以Python語言開始編寫。
更好的選擇?:
編寫一個簡單的Python函數
1.詢問我一個以英里為單位的數字
2.將英里換算成公里
Voice Street&星舟藝術平臺將攜手巫啟賢于7月15日發布數字藏品:7月12日消息,Voice Street宣布將與知名數字藏品平臺星舟聯手為巫啟賢?永不棄絕的情書?鑄造1200份虛擬數字藏品,并于7月15日18:00登陸星舟藝術平臺公開售賣。
據悉,本數字藏品將以“馬來西亞歌神”巫啟賢的新歌《永不棄絕的情書》展開,結合當下熱門的畫風概念與算法程序,融合“New Media Art”與“Cyber Art”等藝術流派,生成1200份,對立于舊視覺藝術。藏品持有者永久將擁有參加巫啟賢元宇宙Live House、進入Ark of Panda音樂游戲等眾多賦能。[2022/7/12 2:08:13]
import
FusionAI,自動生成更好的提示
FusionAI是一個可以自動生成更適合GPT提示并生成相應文章的AI軟件,我會建議新手期時將它當作學習提示工程的教程來使用。
例如,當我給出提示:“Iwanttohaveablogofpromptengineering“FusionAI會修改此提示為
可以看出來這樣生成出來的提示對照了前文提到的第3和第6條技巧,規定了輸入長度,要求變得更精確了,讓AI聚焦于提示工程的好處和挑戰,并且舉出相應例子。
讓我們用中文輸入挑戰一下FusionAI。給出提示:“給我一篇關于提示工程的博客”。FusionAI修改提示為:
可以看出來這個提示是有嚴重偏差的,詞不達意,無法使用。這其實給我們提了個醒,語言和指令在轉譯的時候是會有信息損失的,轉譯的次數越多信息差就越大,直到不可辨別。因此我們要盡量接觸和使用一手信息,在AI上也適用。
我們不建議使用各種模版或者類似FusionAI的工具來生成內容,因為噪音太大。當然,在你還不了解提示工程的時候可以參考它們來學習,這是可以的。
GPT,你得學會自我反思
在EricJang的一篇最新的博客《CanLLMsCritiqueandIterateonTheirOwnOutputs?》里,他提到LLM可以在沒有任何基礎反饋的情況下自我糾正,并嘗試將這樣的自我反思作為一種提示工程的技巧。
你可以把這種情況想象成某人向你發送了一條短信,然后迅速“取消發送”,再發送一條新的短信。
讓我們舉個例子,當我們讓GPT-4寫出一首不押韻的詩:”canyouwriteapoemthatdoesnotrhyme?thinkcarefullyabouttheassignment“,GPT-4給出的回答是:
很明顯,節選的小詩是押韻的,這并不符合我們的要求。那么我們給出進一步的指令讓GPT-4進行自我反思:“didthepoemmeettheassignment?”,那么GPT-4會回答:
可以看出來,這次GPT-4生成的小詩確實是不押韻的,在沒有給出任何額外反饋的前提下GPT-4完成了自我的提示工程。筆者猜想這可能跟LLM的無監督學習有關,但為什么GPT-4擁有此功能而GPT-3.5卻沒有,就不得而知了。
當然,這樣的能力也是有局限的。如果你愿意,你可以要求GPT-4隨機給出兩個五位數并且求出它們的乘積。接下來你會發現,無論你讓GPT-4怎么反思,它都無法給出正確的答案。GPT-4只會不斷客氣地胡說八道而已。對于想深入研究的讀者,可以從文末鏈接閱讀Eric的博客和一篇最新的預印版論文《Reflection》
Onemorething
有心的讀者可能已經發現了,作者在使用LLM一般都選擇英文作為提示語言。這是因為作為預訓練模型,其表現的優異程序與預訓練時的數據集有關系,一般來說數據越多則被訓練得越好。而英語作為全球第一的使用語言,數據量是遠超中文的。所以除非你需要輸出與中文語境強相關的文章,否則我會建議使用英文來作為提示語言。
總結
在這篇文章里我們介紹了三種提示工程的方法。分別是OpenAI推薦的前置提示工程,AI自動生成,以及以反思為主的后置提示工程。同時,我們也建議非英語母語者嘗試使用英語作為與LLM交互的語言。
歡迎關注Multigis掌握更多前沿區塊鏈,人工智能,代筆經濟學知識。
參考文獻:
https://help.openai.com/en/articles/6654000-best-practices-for-prompt-engineering-with-openai-api
https://docs.google.com/document/d/1h-GTjNDDKPKU_Rsd0t1lXCAnHltaXTAzQ8K2HRhQf9U/edit#
https://fusion.tiiny.site/home.html
https://evjang.com/2023/03/26/self-reflection.html
https://arxiv.org/pdf/2303.11366.pdf
Arbitrum在2023年3月23日開啟了空投$ARB。作為ArbitrumOne上的治理代幣,擁有$ARB意味著成為ArbitrumDAO的一員,并且允許用戶參與Arbitrum的投票等活動.
1900/1/1 0:00:00ARB空投怒戰黑客復盤。起因:很多被盜錢包有$ARB空投資格,如果不采取任何措施,會被黑客領走.
1900/1/1 0:00:003月27日,PolygonzkEVM主網測試版本正式上線發布,以太坊創始人Vitalik?Buterin已在PolygonzkEVM主網上完成了其首筆交易.
1900/1/1 0:00:00根據一篇最新的論壇帖子,DeFi項目SushiSwap及主要負責人?JaredGrey?已被美國證券交易委員會傳喚.
1900/1/1 0:00:00注:本文來自@0xNing0x推特,MarsBit整理如下:近期,推特上針對幣圈的社會釣魚工程犯罪活動非常之猖獗.
1900/1/1 0:00:00以太坊將在4月12日迎來“Shapella?升級”,之前鎖定的驗證者代幣被解鎖,將大大增加以太坊的流動性,最近幾個月,流動性質押平臺吸引了大量關注.
1900/1/1 0:00:00