為什么提示工程如此重要?
提示工程的目標是通過提供清晰、簡潔且結構良好的輸入來提高語言模型的性能,這些輸入需要針對模型所用于的特定任務或應用進行定制。可以將提示工程比喻成與人交流時使用清晰明了的語言,讓對方更容易理解你的意圖,從而做出更滿意的回應。
那么接下來,我們將依次介紹OpenAI提供的提示工程最佳實踐,FushionAI的自動生成功能,以及讓GPT進行自我反思。我們還會提供一個額外的實用小技巧,請多留心!
OpenAI的官方最佳提示技巧
1.使用最新的模型
為了獲得最佳效果,我們建議使用最新、性能最強大的模型。截至2022年11月,文本生成方面的最佳選擇是“text-davinci-003”模型,代碼生成方面的最佳選擇是“code-davinci-002”模型。能使用GPT-4當然會比ChatGPT要更好。
2.將指令放在提示的開頭,并用###或"""將指令與文本分開
效果不佳?:
將下面的文本摘要成一個關鍵要點的項目列表。
{輸入文本}
更好的選擇?:
將下面的文本摘要成一個關鍵要點的項目列表。
Threads注冊用戶已突破1億:7月10日消息,據Quiver Quantitative面板數據顯示,Twitter競品Threads自上周三晚間上線,不到一周注冊用戶已突破1億。[2023/7/10 10:45:52]
文本:
"""{輸入文本}"""
3.對所需的上下文、結果、長度、格式、風格等盡可能具體、詳細和描述性
效果不佳?:
寫一首關于OpenAI的詩。
更好的選擇?:
寫一首關于OpenAI的短篇勵志詩,重點描述DALL-E產品發布,風格仿照{著名詩人}。
4.通過示例明確所需輸出格式
效果不佳?:
從下面的文本中提取實體。提取以下4種實體類型:公司名稱、人名、特定主題和主題。
文本:{文本}
更好的選擇?:
從下面的文本中提取重要實體。首先提取所有公司名稱,然后提取所有人名,然后提取與內容相關的特定主題,最后提取總體主題。
期望格式:
公司名稱:<逗號分隔的公司名稱列表>?
人名:-||-?
Balancer敦促部分LP盡快移除流動性:金色財經報道,Balancer敦促其部分流動性提供者(LP)盡快從五個資金池中提取資金。Balancer表示,為避免即將公開披露的問題,已將部分Balancer池的協議費用已設置為0,目前正常運行。
但因部分流動性池中相關問題無法被解決,Balancer 敦促部分 LP 盡快提取流動性,包括以太坊主網上的 DOLA / bb-a-USD(當前鎖倉額 360 萬美元)、Polygon 上的 bb-am-USD/miMATIC(鎖倉額 9000 美元)、Optimism 上 Beethoven X(由 Balancer 驅動)的It's MAI life(鎖倉額 110 萬美元)和Smells Like Spartan Spirit(鎖倉額9萬美元)以及Fantom上Beethoven X的Tenacious Dollar(鎖倉額160萬美元)。[2023/1/7 10:59:30]
特定主題:-||-?
總體主題:-||-
文本:{文本}
5.從零次學習開始,然后進行少次學習,如果這些方法都不起作用,那么進行微調
?零次學習
從下面的文本中提取關鍵詞。
文本:{文本}
Vader將關閉穩定幣協議Vader Protocol,已暫停該應用程序的鑄幣功能:12月30日,據Vader開發者公告,生產穩定幣Vader Protocol US Dollar (USDV) 的應用程序將被關閉,正在關閉Vader Protocol,現持有VADER和USDV代幣的用戶,請訪問web應用程序兌換金庫資產。
據悉,Vader Protocol是一種算法穩定幣網絡,類似于Terra網絡,目前Vader團隊已暫停該應用程序的鑄幣功能,防止用戶遭遇其穩定幣也脫鉤時可能出現的任何問題。目前,團隊已暫停銷毀功能,開發人員創建一個兌換應用程序來分發應用程序的剩余金庫,該兌換應用程序計劃將保留到6月。[2022/12/30 22:15:51]
關鍵詞:
?少次學習-提供幾個示例
從下面的文本中提取關鍵詞。
文本1:Stripe為Web開發人員提供了API,以便他們將支付處理集成到自己的網站和移動應用程序中。
關鍵詞1:Stripe,支付處理,API,Web開發人員,網站,移動應用程序
文本2:OpenAI已經訓練出了處理和生成文本方面非常優秀的語言模型。我們的API可以讓您使用這些模型,解決幾乎任何涉及處理語言的任務。
Bybit發布BitDAO提案:將捐贈資產組合更改為100%的BIT并銷毀:金色財經消息,Bybit聯合創始人BenZhou在BitDAO社區發布一份提案,提案建議自2022年9月16日起,貢獻(捐贈)資產組合將更改為100%BIT;銷毀貢獻的BIT;目標每日購買量(TDP)將從2022年9月16日起暫停。Bybit將引導BitNetwork(暫名)的研發和上線。[2022/9/2 13:04:26]
關鍵詞2:OpenAI,語言模型,文本處理,API。
文本3:{文本}?
關鍵詞3:
?微調:請參閱參考文獻里的微調最佳實踐指南。
6.減少模糊和不精確的描述
效果不佳?:
這個產品的描述應該比較簡短,只有幾句話,不要太多。
更好的選擇?:
用3至5句話的段落來描述這個產品。
7.不僅要說不做什么,更應該說做什么
效果不佳?:
以下是代理和客戶之間的對話。不要詢問用戶名或密碼。不要重復。
客戶:我無法登錄我的賬戶。代理:
更好的選擇?:
以下是代理和客戶之間的對話。代理將嘗試診斷問題并提出解決方案,同時避免詢問任何與個人身份信息有關的問題。不要詢問用戶名或密碼,而是引導用戶查閱幫助文章www.samplewebsite.com/help/faq
借貸協議Alchemix披露一個清算函數Bug,目前已修復并為受影響用戶存入退還款:6月21日消息,DeFi 借貸協議 Alchemix 表示,有社區成員反饋其最初存入的抵押品數量與他們償還債務的數量之間存在差異,經調查,Alchemix 核心團隊注意到 Alchemist.liquidate() 函數中存在一個小 Bug。在 unwrap 之前,Alchemix 將被清算的份額數量轉換為必要數量的收益代幣,由于調用了錯誤的轉換函數,導致 Alchemist 清算的收益代幣比預期的多,結果導致對于調用 liquidate() 函數的任何用戶,他們的份額余額減少了正確的金額,但所有其他存款人都遭受了小額損失。Alchemix 已在發現問題之后的 24 小時內編寫并部署了修復。
Alchemix 核心團隊已對受此錯誤影響的所有賬戶進行了分析,截止今日已為受影響賬戶存入退還款。[2022/6/22 4:43:39]
客戶:我無法登錄我的賬戶。代理:
8.代碼生成-使用“引導詞”引導模型生成特定模式
效果不佳?:
編寫一個簡單的Python函數
1.詢問我一個以英里為單位的數字
2.將英里換算成公里
在下面的代碼示例中,添加“import”提示模型應該以Python語言開始編寫。
更好的選擇?:
編寫一個簡單的Python函數
1.詢問我一個以英里為單位的數字
2.將英里換算成公里
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
沒有人抄底,因為下跌感覺就像一場災難。一年來,滾雪球般的恐懼壓倒了加密人士。可以看到紅色趨勢持續了12個月,動物的本能驅使加密人士開始相信,下跌會永遠持續下去.
1900/1/1 0:00:00自2020年上線主網,次年升級品牌以來,Polygon已成為了現實世界企業采用的首選區塊鏈網絡.
1900/1/1 0:00:00PolygonzkEVM系列文章的第一篇,簡要的闡述了polygonzkEVM的的整體架構和交易執行流程,并且分析了polygonzkEVM是如何實現計算擴容的同時繼承以太坊的安全性的.
1900/1/1 0:00:00像Base最近發布的文章中提到的那樣,Flatcoins會成為下一個最熱門的DeFi敘事嗎?本文是您需要了解的有關Flatcoins、TradFi的相關性以及DeFi采用的所有信息.
1900/1/1 0:00:003月23日,黑山內政部長FilipAdzic在其社交平臺宣布,TerraformLabs創始人DoKwon在黑山被捕。黑山當局稱,DoKwon當時試圖使用偽造的哥斯達黎加旅行證件飛往迪拜.
1900/1/1 0:00:00不久前的3月29日,Gem宣布新通過了50000份GemV2測試申請。一兩天前,還有人在Gem的Discord服務器詢問GemV2測試資格的相關問題.
1900/1/1 0:00:00