作者:明明如月學(xué)長, CSDN 博客專家,螞蟻集團(tuán)高級(jí) Java 工程師,《性能優(yōu)化方法論》作者、《解鎖大廠思維:剖析《阿里巴巴Java開發(fā)手冊》》、《再學(xué)經(jīng)典:《EffectiveJava》獨(dú)家解析》專欄作者。
熱門文章推薦:
- (1)《人工智能時(shí)代,軟件工程師們將會(huì)被取代?》
- (2)《超全人工智能 AI工具導(dǎo)航網(wǎng)站合集》
- (3)《如何寫出高質(zhì)量的文章:從戰(zhàn)略到戰(zhàn)術(shù)》
- (4)《我的技術(shù)學(xué)習(xí)方法論》
- (5)《什么? 你還沒用過 Cursor? 智能 AI 代碼生成工具 Cursor 安裝和使用介紹》
- (6)《我的性能方法論》
- (7)《New Bing 編程提效實(shí)踐 - 語言識(shí)別功能》
一、背景
2023 年可謂是 AI 元年,隨著 GPT 的發(fā)布,人工智能正在影響著人們的生活。甚至有些人會(huì)焦慮是否自己將會(huì)被取代而失業(yè)。
據(jù) 36 氪,如何看待 AI 代替人類工作?
李彥宏表示,不管有多少工作被替代,這只是整個(gè)圖景的一部分,另外一部分是,存在我們現(xiàn)在甚至無法想象的更多新機(jī)會(huì)。做一個(gè)大膽預(yù)測,十年以后,全世界有50%工作會(huì)是提示詞工程(prompt engineering),不會(huì)寫提示詞(prompt)的人會(huì)被淘汰。
現(xiàn)在很多人都已經(jīng)開始使用人工智能工具,如 ChatGPT 、 Bard、文心一言等聊天機(jī)器人,還有 New Bing 、Phind、You.com 等人工智能搜索引擎,還有 Notion AI、印象 AI 等人工智能筆記軟件,還有其他諸多類型的工具。
使用人工智能工具的人比沒使用工具的人會(huì)有很大優(yōu)勢,不同的人工智能工具對同一個(gè)問題的理解程度不同,同一款人工智能工具,不同的提問方式得到的答案也會(huì)有很大差異,因此提示詞至關(guān)重要。
二、反向示例
有些同學(xué)請教同事,在一些技術(shù)群里提問時(shí),提出的問題都是模糊的,人都很難理解,更別說人工智能了。
2.1 示例一
比如“我想實(shí)現(xiàn)用戶在某個(gè)網(wǎng)頁提交時(shí)獲取用戶提交的信息,怎么實(shí)現(xiàn)?”
某個(gè)網(wǎng)頁是哪個(gè)網(wǎng)頁?是你開發(fā)的還是別人開發(fā)的?
獲取信息的目的是什么?
2.2 示例二
比如“幫我給某個(gè) Dao 類寫一個(gè)緩存”,然后期待它能夠?qū)懲昝赖膶?shí)現(xiàn)自己的想法,然后大失所望,說人工智能也不咋地啊。
大哥,你這描述人都聽不懂啊。
某個(gè) Dao 是哪個(gè) Dao?是不是可以給舉個(gè)例子,比如有一個(gè) StudentDao,其中包括增刪改查方法。
寫一個(gè)緩存是指啥?使用什么編程語言,使用哪個(gè)緩存框架?是內(nèi)存緩存還是分布式緩存?是不是可以限定清楚是 Java 語言,使用 Guava框架。
三、什么是好的提示詞
Prompt 是指對模型提出的問題進(jìn)行描述和約束的文本片段,可以包括問題的主題、范圍和關(guān)鍵詞等信息。
好的 Prompt 應(yīng)該具備以下幾個(gè)特點(diǎn):
清晰具體:好的 Prompt 應(yīng)該簡單明了,避免使用復(fù)雜或模糊的語言。Prompt 應(yīng)該越具體越好,避免過于廣泛或開放式的問題。例如,如果我們想讓 ChatGPT 回答策略模式的使用場景,我們可以使用 “請描述下策略模式的使用場景” 而不是 “請描述下策略模式”。
重點(diǎn)明確:好的 Prompt 應(yīng)該有明確的目的,避免過于廣泛或開放式的問題。Prompt 應(yīng)該能夠讓 ChatGPT 理解問題的背景和范圍,從而更好地回答問題。 有可能,提供可選項(xiàng)或問題列表供 AI 選擇回答。對于有多個(gè)可能回答的 prompts,提供可選項(xiàng)或問題列表可以幫助 AI 選擇最恰當(dāng)?shù)幕卮鸱绞?。但不要提供太多可選項(xiàng),以免導(dǎo)致 AI 無法決定。 例如,我們可以使用 “請列舉出可以提高代碼拓展性的設(shè)計(jì)模式” 而不是 “請告訴我?guī)讉€(gè)設(shè)計(jì)模式”。
充分詳盡:好的 Prompt 應(yīng)該包含足夠的信息,以便 ChatGPT 能夠理解問題的背景和范圍。例如,如果我們想讓 ChatGPT 回答關(guān)于狗的健康問題,我們可以使用 “請描述下策略模式的使用場景,并給出 Java 語言的示例代碼” 而不是 “告訴我一些策略模式的信息”。
與任務(wù)相關(guān):好的 Prompt 應(yīng)該與任務(wù)相關(guān),能夠引導(dǎo) ChatGPT 完成特定的任務(wù)。例如,如果我們想要 ChatGPT 回答某個(gè)特定的問題,我們可以將問題直接作為 Prompt,以確保 ChatGPT 能夠理解任務(wù)要求。
語言上下文:好的 Prompt 應(yīng)該包含一些語言上下文和限制條件,必要的背景信息和前提條件,以幫助 ChatGPT 更好地理解問題。例如,我們在上面的聊天中要求 ChatGPT 給我們準(zhǔn)備一篇描寫包裝器模式的文章大綱,我們可以使用 “請根據(jù)上面的大綱幫我寫一個(gè)草稿”,這樣 ChatGPT 更容易理解問題。
多樣性:好的 Prompt 應(yīng)該具備一定的多樣性,不僅可以滿足不同的需求和場景,還可以幫助 ChatGPT 更好地理解和生成不同類型的回答。例如,我們可以使用不同類型的 Prompt,例如填空式、選擇題或開放式問題,以獲得更豐富和多樣化的回答。
總之,好的 Prompt 應(yīng)該具備清晰簡潔、重點(diǎn)明確、充分詳盡、與任務(wù)相關(guān)、語言上下文和多樣性等特點(diǎn),這樣才能幫助 ChatGPT 更好地理解問題和生成準(zhǔn)確有用的回答。
四、經(jīng)驗(yàn)
4.1 根據(jù) AI 的表現(xiàn)調(diào)整 prompts
你可以根據(jù) AI 的表現(xiàn)來調(diào)整和改進(jìn)你給出的 prompts。找出哪些 prompts 使 AI 回答成功, 哪些則需要改進(jìn)。適當(dāng)調(diào)整 prompts 可以促進(jìn)更好的互動(dòng)體驗(yàn)。
另外,有時(shí)候不要期待一次提問就一定可以得到想要的答案,可以分步驟提問。
比如想寫一篇文章,可以先提問讓 AI 給你寫出一個(gè)大綱;如果大綱不符合你的要求,你可以再次提問讓它修改大綱;大綱修改好之后,再讓 AI 給你寫出草稿;如果草稿不滿意可以再描述自己的想法讓它再次修改。
4.2 中文不滿足時(shí)可以翻譯成英文提問
現(xiàn)在很多大語言模型的語料中文占比較少,使用中文提問時(shí)有些模型會(huì)優(yōu)先匹配中文的內(nèi)容,很容易得不到想要的答案。
當(dāng)使用中文得不到滿意的答案,可以嘗試將問題翻譯成英文再去提問,或許會(huì)有意外收獲。
4.3 預(yù)定義提示詞模板可以提高效率
大家可以將常用的提示詞定義成模板(參考 ChatGPT Sidebar 瀏覽器插件),下次快速使用。
也可以在 poe.com 中自定義 AI 助手。
如我想自定義一個(gè)擅長 Java 語言軟件工程專家:
請扮演軟件工程領(lǐng)域的高級(jí)專家。
你對計(jì)算機(jī)科學(xué)領(lǐng)域的知識(shí)非常熟悉,特別擅長 Java 編程語言,善于解決編程和軟件架構(gòu)設(shè)計(jì)中遇到的問題,也善于解讀源代碼,擅長給出設(shè)計(jì)難題的建議。
我會(huì)問一些編程或編碼方面的問題,希望你能回答。
要求:
1 請用中文回答我
2 給出的回復(fù)盡可能詳細(xì)
我的問題是:
將自己想要表達(dá)的內(nèi)容翻譯成英文做成提示詞,在提示詞中要求 AI 用中文回答:
Please play the role of a senior expert in the field of software engineering.
You are very familiar with the knowledge in the field of computer science, especially good at Java programming language, good at solving problems encountered in programming and software architecture design, and also good at interpreting source code, good at giving suggestions for design challenges.
I will ask some programming or coding questions, I hope you can answer.
Requirements:
1 Please answer me in Chinese
2 The replies given are as detailed as possible
My question is:
要求中說明它要扮演的角色,要做的任務(wù),給出任務(wù)的具體要求和注意事項(xiàng)。
然后直接和該機(jī)器人對話即可,輸入直接輸入內(nèi)容即可完成預(yù)定好的提示詞所描述的任務(wù),非常方便。
4.4 嘗試多種語言模型
有時(shí)候哪怕提示詞準(zhǔn)確,某個(gè)大語言模型也未必能夠得到滿意的答案。
大家除了嘗試調(diào)整提示詞之外,還可以考慮換幾個(gè)不同的語言模型。
通常結(jié)合不同的語言模型更能夠得到更全面的答案。
可以使用 Utools 的網(wǎng)頁快開的功能,輸入一個(gè)問題同時(shí)打開多個(gè) AI 搜索引擎來搜索問題,效率翻倍。
Phind 網(wǎng)頁快開的搜索結(jié)構(gòu):
https://www.phind.com/search?q={query}&source=searchbox
New Bing 網(wǎng)頁快開的搜索結(jié)構(gòu):
https://www.bing.com/?q={query}&setmkt=zh-HK&setlang=zh-CN
You.com 網(wǎng)頁開開的搜索結(jié)構(gòu):
https://you.com/search?q={query}&fromSearchBar=true&tbm=youchat
五、提示詞教程
網(wǎng)上還有很多相對專業(yè)的提示詞教程,大家可以參考學(xué)習(xí)。
5.1 hayo
官網(wǎng): https://www.hayo.com/download
hayo 是國內(nèi)即可訪問的支持 ChatGPT 和 Stable Diffusion 的非常不錯(cuò)的 AI 工具箱。
其中指令工坊里提供了很多非常常用的提示詞模板,非常值得學(xué)習(xí)。
大家定義提示詞時(shí)可以重點(diǎn)參考下。
5.2 learnprompt.org
網(wǎng)站地址:https://www.learnprompt.org/
這個(gè)論壇非常火爆,其中 ChatGPT 提示詞 for 開發(fā)者提供了很多非常專業(yè)的提示詞模板,非常值得學(xué)習(xí)。
https://www.learnprompt.org/chatgpt-prompts-for-developers/
5.3 prompt-patterns
網(wǎng)站地址:
https://prompt-patterns.phodal.com/
四種基礎(chǔ)模式:
特定指令(By specific):在這種模式下,我們給模型提供一些特定信息,例如問題或關(guān)鍵詞,模型需要生成與這些信息相關(guān)的文本。這種模式通常用于生成答案、解釋或推薦等。特定信息可以是單個(gè)問題或多個(gè)關(guān)鍵詞,具體取決于任務(wù)的要求。
指令模板(Instruction Template):在這種模式下,我們給模型提供一些明確的指令,模型需要根據(jù)這些指令生成文本。這種模式通常用于生成類似于技術(shù)說明書、操作手冊等需要明確指令的文本。指令可以是單個(gè)句子或多個(gè)段落,具體取決于任務(wù)的要求。
代理模式(By proxy):在這種模式下,可以充當(dāng)了一個(gè)代理,代表某個(gè)實(shí)體(例如人、角色、機(jī)器人等)進(jìn)行操作或交互。代理模式的核心思想是引入一個(gè)中介對象來控制對實(shí)際對象的訪問,從而實(shí)現(xiàn)一定程度上的隔離和保護(hù)。諸如于在 ChatGPT 中,”act as xxx” 可以讓 ChatGPT 充當(dāng)一個(gè)代理,扮演某個(gè)角色或?qū)嶓w的身份,以此來處理與該角色或?qū)嶓w相關(guān)的任務(wù)或請求。
示例模式(By demonstration):在這種模式下,我們給模型提供一些示例文本,模型需要生成與示例文本類似的文本。這種模式通常用于生成類似于給定示例的文本,例如自動(dòng)生成電子郵件、產(chǎn)品描述、新聞報(bào)道等。示例文本可以是單個(gè)句子或多個(gè)段落,具體取決于任務(wù)的要求。
該教程,還介紹了這些模式結(jié)合適用的混合模式。
5.4 Learning Prompt
網(wǎng)站:https://learningprompt.wiki/docs/%F0%9F%91%8B%20Welcome
提供了一些基礎(chǔ)和高級(jí)提示詞指導(dǎo)。針對不同的場景給出很多示例和使用技巧。
5.5 learnprompting
網(wǎng)站:https://learnprompting.org/?ref=allthingsai
該網(wǎng)站給出全面的提示詞學(xué)習(xí)教程,包括一些基礎(chǔ)概念、基礎(chǔ)應(yīng)用和一些進(jìn)階用法等。
如思維鏈提示過程:
5.6 ChatGPT 指令大全
網(wǎng)址:https://www.explainthis.io/zh-hans/chatgpt
該網(wǎng)站給出了很多經(jīng)過提煉過的提示詞,可以直接復(fù)制來使用。
5.6 其他
未來有更好的提示詞教程會(huì)補(bǔ)充到這里。
六、總結(jié)
很多人提出的問題連人都難以理解,卻希望人工智能能夠完全和自己“心有靈犀” ,自己描述不清楚還埋怨 AI 不夠智能。
希望本文可以讓大家意識(shí)到這個(gè)問題,并且通過提供的相關(guān)教程,盡早掌握提問技巧,更好地利用人工智能更快的學(xué)習(xí)和更快地解決問題。
創(chuàng)作不易,如果本文對你有幫助,歡迎點(diǎn)贊、收藏加關(guān)注,你的支持和鼓勵(lì),是我創(chuàng)作的最大動(dòng)力。
文章來源:http://www.zghlxwxcb.cn/news/detail-415742.html
歡迎加入我的知識(shí)星球,知識(shí)星球ID:15165241 一起交流學(xué)習(xí)。
https://t.zsxq.com/Z3bAiea 申請時(shí)標(biāo)注來自CSDN。文章來源地址http://www.zghlxwxcb.cn/news/detail-415742.html
到了這里,關(guān)于AI 時(shí)代,提示詞便是生產(chǎn)力的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!