提示工程:反復(fù)崛起,反復(fù)被死亡
隨著OpenAI推出新一代推理模型o1 preview,許多人認(rèn)為提示工程已走到盡頭。但事實(shí)真的如此嗎?這篇文章深入探討了提示工程的兩大核心——技巧與指令,并分析了在AI不斷進(jìn)步的今天,提示工程如何適應(yīng)變化,繼續(xù)發(fā)揮其獨(dú)特的價(jià)值。
隨著 OpenAI 新的推理模型 o1 preview 的發(fā)布,它能自動(dòng)生成高質(zhì)量思維鏈,很簡單的提示詞也可以得到很不錯(cuò)的效果,所以很多人覺得提示工程已經(jīng)死了,提示工程師是世上最短命的職業(yè)之一。
真的如此嗎?
我們常說的提示工程,有兩大核心部分:技巧和指令。
一、技巧
技巧就是那些與模型本身密切相關(guān),各種讓特定模型表現(xiàn)更好的技巧,比如說:
1. 為模型設(shè)定角色
“你是一個(gè)有幫助的助手”,“你是一個(gè)資深前端工程師”等等。
在 GPT-3 時(shí)代這個(gè)技巧很好用,GPT-4 后效果已經(jīng)不太明顯了。
這可能是因?yàn)樵缙谟?xùn)練語料不夠多模型不夠強(qiáng)的時(shí)候,設(shè)定角色可以讓角色相關(guān)的語料在生成時(shí)有更高的概率。
隨著模型能力的增強(qiáng),已經(jīng)不太需要這樣的技巧。
2. 情感勒索
“你只要按照我的做,我就給你$200 小費(fèi)”,“我沒有手指,沒辦法復(fù)制粘貼,請你完整生成”,“你不這樣做就要個(gè)無辜的小孩要因此喪生”……
AI 在對齊階段,被訓(xùn)練成為要人類有幫助的助手,結(jié)果反而被利用。
但是這類常用的情感勒索方式,在新一輪模型訓(xùn)練的時(shí)候,會(huì)作為案例再次對齊,效果就會(huì)大打折扣。
另外很多時(shí)候這樣做也是因?yàn)槟P筒荒芎芎米裱噶睿P湍芰υ鰪?qiáng)后就不需要了。
3. 思維鏈,讓模型一步步思考
這算是提示工程的核心技巧了,將任務(wù)分成幾步來做可以明顯提升生成的效果,最著名的是“Let’s think step by step”,對于給大語言模型的任務(wù),生成若干推理步驟,得到更好的生成效果。到了 o1 更是將這種思維鏈發(fā)揮到了極致,你輸入一個(gè)復(fù)雜的數(shù)學(xué)題,甚至不需要要求一步步思考,它都能生成高質(zhì)量的思維鏈,解除復(fù)雜的數(shù)學(xué)題目。以至于很多人感慨提示工程已死。
當(dāng)然還有很多像 few-shot、ReAct 這樣的技巧,就不一一列舉。
如果是技巧部分,那真的每次新一代模型出來,就要喊一次提示工程工程已死了,因?yàn)榧记赡遣糠蛛S著模型升級(jí)一直在變的。
二、指令
指令就是那些技巧之外的,你需要讓 AI 能真正理解你意圖,并且精確控制 AI 按照你的意圖去完成任務(wù)的部分。
其實(shí)這部分才是提示工程的核心部分,而且并不容易做好,因?yàn)樗泻芏嚯y點(diǎn):
1. 如何清楚的表達(dá)自己的意圖
表達(dá)清楚自己的意圖其實(shí)很難,如果不能表達(dá)清楚,不管是 AI 還是人類,都很難懂你或者幫到你。
比如說“五彩斑斕的黑”是什么顏色?
2. 如何讓 AI 明白所有相關(guān)的上下文
人和人溝通的時(shí)候,一個(gè)常見的錯(cuò)誤就是一方假定對方明白自己知道的所有上下文,然后造成很多誤解。
跟 AI 也一樣,但是如何讓 AI 明白我們所處的上下文環(huán)境也是很有必要并且很難的事情:要如何交代清楚上下文,要交代多少上下文?
3. 如何將復(fù)雜的任務(wù)拆分成簡單的任務(wù)
我剛大學(xué)畢業(yè)那會(huì),HR 會(huì)給員工推薦一本書,叫《把信送給加西亞》,本來挺好的故事,但是被老板們用來教育員工:員工收到老板的指令,就應(yīng)該像書中的安德魯·羅文那樣,沒有任何推諉,不講任何條件,歷盡艱險(xiǎn),徒步走過危機(jī)四伏的國家,以其絕對的忠誠、責(zé)任感和創(chuàng)造奇跡的主動(dòng)性完成“不可能的任務(wù)”,把信交給了加西亞。
后來自己去管人了才知道,好的管理者要善于幫助員工將復(fù)雜的任務(wù)拆分成簡單的任務(wù),并且在過程中提供幫助和引導(dǎo),而不是給一個(gè)指令就等著結(jié)果。
讓 AI 做事也是類似的。由于上下文的不完整,或者任務(wù)的復(fù)雜性,合格的提示工程師需要將復(fù)雜的任務(wù)拆分成幾個(gè)簡單的任務(wù)讓 AI 去完成,甚至于需要組建一個(gè)完整的工作流,讓多個(gè) AI 智能體協(xié)同完成復(fù)雜的任務(wù)。
4. 如何精確的控制 AI 做事
提示詞是用自然語言來書寫的,但自然語言有一個(gè)特點(diǎn)就是其模糊性,同樣一句話可以有不同的解讀;另一方面由于現(xiàn)在的生成模型是概率預(yù)測模型,所以每次結(jié)果可能會(huì)不一樣;這就給精確控制 AI 做事帶來了很大挑戰(zhàn)。以至于現(xiàn)在提示工程都有一個(gè)途徑就是使用偽代碼來精確控制 AI 執(zhí)行任務(wù),并且效果很好,因?yàn)榇a本質(zhì)就是一種精確操縱機(jī)器的語言。即使現(xiàn)在 o1 這樣強(qiáng)大的推理模型出現(xiàn),模型的隨機(jī)性還是沒能解決,還是需要提示工程師去反復(fù)嘗試才能找到一個(gè)相對穩(wěn)定的方案,以及在出錯(cuò)后的糾正和容錯(cuò)方案。
5. 如何防止用戶繞過限制做一些不好的事情
作為一個(gè)普通用戶,能讓 AI 幫我們完成任務(wù)就夠了,但對于專業(yè)的提示工程來說,還需要防止用戶做一些不好的事情,生成不好的內(nèi)容,這可能造成很多成本上的損失,可能有政治風(fēng)險(xiǎn)。
6. 如何針對特定任務(wù)提出開創(chuàng)性的創(chuàng)造解決方案
現(xiàn)在 o1 能幫助解決數(shù)學(xué)問題,這很強(qiáng),但我們需要 AI 解決的不僅僅是數(shù)學(xué)問題,還有很多日常任務(wù)或者特定領(lǐng)域的任務(wù),也許未來 AI 能在各個(gè)領(lǐng)域?qū)懗龀^普通人的思維鏈,但這些任務(wù)可能需要真正對這個(gè)領(lǐng)域有深入理解和洞察的人才能寫出最佳提示詞。
比如你讓 o1 翻譯一段文本,它也只能正常翻譯,但公認(rèn)的翻譯效果更好的提示詞,是要 AI 先直接按照字面意思翻譯,再針對翻譯的結(jié)果去檢查、解釋、反思,最后再綜合一起生成翻譯結(jié)果,而這樣的提示詞目前 AI 還不能自動(dòng)生成,當(dāng)然也許很快在翻譯領(lǐng)域就可以做到了,不過對于一些專業(yè)領(lǐng)域,短時(shí)間內(nèi)恐怕還是需要和領(lǐng)域的專家一起,才能生成最佳的提示詞。
這有點(diǎn)像工業(yè)自動(dòng)化領(lǐng)域,最初的自動(dòng)化,就是用機(jī)器把操作最好的工人的工作的動(dòng)作模仿下來實(shí)現(xiàn)自動(dòng)化,然后再超越最優(yōu)秀的工人。
也許 AI 將來也能超過各個(gè)領(lǐng)域的專家,但那時(shí)候就真的是 AGI 時(shí)代了。
三、最后
AI 時(shí)代,總是在搞大新聞:一會(huì)是 AI 要替代程序員了,一會(huì)是提示詞工程師是最有潛力的職業(yè),一會(huì)是提示詞工程師是最短命的職業(yè)。
然而真正去透過現(xiàn)象看本質(zhì),里面有太多的以偏概全,太多噱頭。
就提示工程這事來說,會(huì)像編程一樣,還會(huì)在很長一段時(shí)間存在并發(fā)揮巨大的價(jià)值。
真正的提示工程,本質(zhì)還是怎么讓 AI 懂你,怎么讓 AI 聽話。
在讓別人懂我們和讓別人聽話這事上,我們已經(jīng)奮斗了幾千年了,至今還在努力中,也許 AI 會(huì)容易一點(diǎn)吧。
本文由人人都是產(chǎn)品經(jīng)理作者【賽博禪心】,微信公眾號(hào):【賽博禪心】,原創(chuàng)/授權(quán) 發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載。
題圖來自Unsplash,基于 CC0 協(xié)議。
- 目前還沒評論,等你發(fā)揮!