Matrix 首頁推薦 Matrix 是少數(shù)派的寫作社區(qū),我們主張分享真實(shí)的產(chǎn)品體驗(yàn),有實(shí)用價(jià)值的經(jīng)驗(yàn)與思考。我們會不定期挑選 Matrix 最優(yōu)質(zhì)的文章,展示來自用戶的最真實(shí)的體驗(yàn)和觀點(diǎn)。 文章代表作者個人觀點(diǎn),少數(shù)派僅對標(biāo)題和排版略作修改。 2023 年是 AI 的時代,以 ChatGPT 為首的大模型召喚出了一大批「煉金術(shù)士」,他們揮舞著「魔杖」,以自己的智慧、靈感和激情不停地創(chuàng)造著一個又一個絢麗的世界。而 Prompt,就是這個 AI 時代的「煉金咒語」。
當(dāng)一位初生的煉金術(shù)士對著這個時代最強(qiáng)大的煉金模型念誦著他的咒語,模型慷慨地回應(yīng)了他的所求:
如斯美言,讓這位不善傾吐的煉金術(shù)士,有了一展愛意的可能性。 然而正如古老的煉金之神所傳下的箴預(yù):煉金乃一門藝術(shù)而非科學(xué)。咒語時而能達(dá)成煉金者的心意,時而又如充耳的聾子或叛逆的頑童,唯一所長即是同煉金者作對,以不達(dá)心意為最大己任。 所幸煉金界的前輩們已總結(jié)了咒語的最佳實(shí)踐,雖不能在所有實(shí)踐場景下奏效,但已是金玉良言,足以為吾等初學(xué)者鋪路。 大模型的工作原理咒語是控制大模型的一把鑰匙,若想學(xué)好咒語,需先學(xué)一學(xué)大模型的皮毛。 大模型的本質(zhì),是基于大樣本訓(xùn)練出的預(yù)測模型。模型基于給它輸入的語料,根據(jù)概率預(yù)測可能的回答。模型的預(yù)測結(jié)果受語料限制,譬如,模型所接收的語料是如下內(nèi)容:
當(dāng)提問者提問模型「中國的首都是哪里?」,模型的回答可能是「法國的首都是哪里」。模型實(shí)際上并不理解提問的含義,它只是根據(jù)過往的訓(xùn)練,預(yù)測與該提問最相關(guān)的內(nèi)容 。 為了避免這種情況的出現(xiàn),在預(yù)測模型之上,早期的煉金術(shù)士們想出了一種方案:通過人類的反饋來約束模型,從而讓模型回答出人類滿意的答案。當(dāng)預(yù)測模型執(zhí)行某個任務(wù)時,人類可以提供正面或負(fù)面的反饋,以指導(dǎo)模型的行為。 通過這樣的方式,當(dāng)提問者再次提問「中國的首都是哪里」時,模型就可以回答出人類想要的答案:「北京」。 煉金小密聞: 模型學(xué)習(xí)文本的方式同人類不同,它們會同時查看所有的內(nèi)容,而不是像人類一樣從左到右閱讀。它們輸出的每個字符都基于它們以前看到的和寫下的,每次它們輸出一個新字符時,都會停下來思考下一個字符是什么。 另外,模型定義的字符和人類的定義也不一樣,有時人類以為是一個字符的存在,在模型眼中可能是兩個字符。 大模型的能力斯溫伯恩曾言:「簡單是真理的明證」,大模型也同樣如此。作為煉金史上最強(qiáng)大的產(chǎn)物之一,它的能力也可以簡單歸為三類:識別、理解、生成。
三生萬物,杰出的煉金術(shù)士基于大模型的三種能力,與特定的行業(yè)結(jié)合,迸發(fā)出強(qiáng)大的創(chuàng)新和生產(chǎn)力。 它可以是信息篩選器,如:
它可以化身個性化客服:
它也可以是你的代碼生成器:
編寫「咒語」的原則杰出的煉金術(shù)士總是知道如何編寫好的咒語以充分發(fā)揮大模型的能力,而他們也總是告誡初出茅廬的菜鳥們:編寫咒語是一種藝術(shù)而非科學(xué),因此需要反復(fù)實(shí)踐,在挫敗中總結(jié)。切勿迷信一成不變的最佳模板,每一個發(fā)揮良好功效的咒語都有它的適用場景和局限。 當(dāng)然,一些良好且共通的實(shí)踐規(guī)范仍然可以被分享,這是一條初生的道路,需要所有實(shí)踐者的共同貢獻(xiàn)。 編寫有效咒語的良好實(shí)踐準(zhǔn)則:明確且具體的指令。 初生煉金術(shù)士在編寫咒語,很容易在咒語中泛泛而談?!刚垶槲疑梢皇浊樵姟?,既不知情詩的風(fēng)格,也不知情詩的字?jǐn)?shù)。相較而言,「請為我生成一首 100 字左右的莎士比亞風(fēng)格的情詩」則具體許多。 在具體實(shí)踐時,煉金術(shù)士們應(yīng)該從輸入 、思考 、輸出三個維度思考咒語的編寫,在每個維度都緊扣「明確且具體」的要求。 輸入維度輸入,指 prompt 的輸入格式,一個良好 prompt 的輸入格式應(yīng)該是層次分明的。不同的內(nèi)容類型最好以分隔符區(qū)分,譬如:
通過括號的分割,prompt 的指令與文本被分開了,這使得咒語被模型識別時,不同的內(nèi)容以不同的功能被執(zhí)行。分隔符可以是任意類型,核心在于將不同的內(nèi)容類型進(jìn)行區(qū)分。 思考維度思考,指要求模型執(zhí)行指令時的思維方式。正如人類有系統(tǒng)一和系統(tǒng)二一樣,模型在執(zhí)行時似乎也遵循著同樣的邏輯。因此,當(dāng)我們輸入某些復(fù)雜問題時,模型為了效率優(yōu)先,常常輸出一些貌似正確,實(shí)則荒唐的答案。為了避免類似情況的出現(xiàn),煉金術(shù)士在編寫咒語時可以要求模型按特定的方式進(jìn)行思考。 有兩種方式可以「框定」模型的思考邏輯,一種是案例法,一種是框架法。 案例法:在要求模型輸出特定的結(jié)果前,可以給模型少許樣本參考,讓它學(xué)習(xí)其中的模式。例:
模型通過用戶提供的樣本,識別了其中的模式,最終回答為 unknown。 框架法:案例法相當(dāng)于經(jīng)驗(yàn)材料,讓模型從中提取思維模式。我們也可以直接要求模型模型按照某些特定的思考模式進(jìn)行思考。譬如我們可以要求模型按我們指定的步驟進(jìn)行思考,對于一些鼎鼎大名的邏輯(譬如貝葉斯),我們也可以直接要求模型按照該思維模型進(jìn)行思考。
這是一位初生煉金士的咒語,該咒語中沒有約束模型的思考方式,輸出的結(jié)果則略顯空泛?,F(xiàn)在將咒語修改,增加對思維方式的約束:
相較于未約束的輸出結(jié)果,約束后的模型的輸出結(jié)果則更具體,也更具說服力。 在框架法中,有兩種被推薦的實(shí)踐方法,分別是一致性與 ReAct 模型:
異常機(jī)制處理馬爾庫塞說,人類是單向度的生物。此話也可以套用在思考上。無論是人類還是大模型,在思考上往往只考慮如果達(dá)成某項(xiàng)任務(wù),而忽略了如果達(dá)不成某項(xiàng)任務(wù),該如何處理。 富有經(jīng)驗(yàn)的煉金士門在調(diào)教模型時,總是會在 prompt 中作如下約束:
輸出維度咒語的輸出維度包含兩種要求:內(nèi)容要求和格式要求。 內(nèi)容要求即咒語可要求輸出內(nèi)容包含的相關(guān)要點(diǎn),例如當(dāng)咒語為「輸出莎士比亞風(fēng)格的情詩」時,可要求情詩中包含月亮、玫瑰、夢境等意象; 格式要求指最終的輸出結(jié)果以表格、代碼、Markdown 等形式輸出。甚至,愛搞事的煉金士們還自創(chuàng)模式:
良好咒語的格式根據(jù)編寫咒語的原則,煉金術(shù)士們總結(jié)了一套 prompt 的基本格式:
魔法時刻煉金術(shù)是一種魔法,而魔法總有難以解釋之處。以下是煉金術(shù)士們在經(jīng)驗(yàn)中總結(jié)的魔法訣竅,除了遵循正統(tǒng)的咒語編寫原則和格式外,應(yīng)用這些魔法訣竅也能在實(shí)踐中獲得更好的咒術(shù)效果。
大模型的局限任何一件偉大事物都有它的阿喀琉斯之踵,我們無法要求偉大事物做它能力邊界之外的事情。正如前述指出的,大模型本質(zhì)上是一種預(yù)測模型,它披著語言之神外衣,由概率之神所偽裝,本質(zhì)上只擅長三件事:識別、理解和生成。 所以不要讓它計(jì)算數(shù)學(xué)。盡管它通過了諸多考試,然而你絕不想考驗(yàn)它在關(guān)鍵時刻的準(zhǔn)確性。曾經(jīng)有煉金術(shù)士以小學(xué)的數(shù)學(xué)題讓它思考,盡管它的分析過程并無謬誤,但計(jì)算結(jié)果卻堪稱災(zāi)難。
另外,大模型在某種意義上是一個記憶不佳的吹牛者。實(shí)際上,模型沒有完全記住它所看到的信息,但它又想在提問者面前逞能,于是經(jīng)常編造一些不存在的記憶。大模型自身無法規(guī)避這種行為的出現(xiàn),煉金術(shù)士在編寫咒語時,應(yīng)鼓勵大模型承認(rèn)自己的無知,敢于將「不知道」宣之于口。同時,咒語中也應(yīng)該要求大模型在列出事實(shí)性的信息時,注明來源和對應(yīng)可核查的地址(盡管它連信息源都會偽造,但提供了一種核查的路徑)。 除了這兩個嚴(yán)重的缺陷外,煉金術(shù)們還發(fā)現(xiàn)了順序?qū)τ诖竽P偷挠绊憽?/strong>有時示例順序的不同,也會影響大模型的結(jié)果輸出。對于這類情況,尚沒有好的解決方案,只能調(diào)整語料順序以找到最佳的輸出結(jié)果。 真正重要的的是……如果讓杰出的煉金術(shù)士留下他們最寶貴的箴言,那么一定是:沒有什么是重要的,除了在實(shí)踐中反思并重新迭代自己的咒語。即使是再杰出的煉金術(shù)士們,編寫一條可用的咒語也至少需要三到四次的迭代,那些只編寫了一次就開始抱怨大模型不起作用的煉金術(shù)士們,正缺乏這條箴言的鞭笞。 學(xué)習(xí)、運(yùn)用、反思、迭代,正是這樣循環(huán)往復(fù)的過程,才使得咒語的效力被真正發(fā)揮出來。揮動語言的煉金術(shù)士們,無人能夠奪走他們對魔法的幻想和憧憬。 本文參考: |
|