隨著chatGPT的火爆,大家越來越認(rèn)識(shí)到到語言大模型的潛力爽哎,國(guó)內(nèi)的類chatGPT的生成式語言大模型(LLM)也如雨后春筍般冒出來。
如今大家都在探索各種prompt的技巧,其實(shí)從我個(gè)人看來呀枢,LLM其實(shí)也是一種檢索模型,只不過它的檢索粒度更加細(xì)致笼痛,更加語義化裙秋,盡管如此,現(xiàn)如今的LLM其實(shí)遠(yuǎn)沒有達(dá)到人類大腦的理解能力缨伊,其生成能力仍然很大程度受到它們的模型機(jī)制以及訓(xùn)練預(yù)料的數(shù)據(jù)分布的限制摘刑。
下面我就結(jié)合使用文心一言編寫代碼的實(shí)踐,來談一下自己的prompt經(jīng)驗(yàn)刻坊。先看具體case:
好了枷恕,大家可以看到通過我的promt,文心一言給出的答案還是比較不錯(cuò)的谭胚,當(dāng)然這里不得不提一下文心一言目前在代碼生成方面和chatGPT差距還是比較大的徐块,盡管如此,如果有好的prompt灾而,文心一言仍然可以給出相對(duì)不錯(cuò)的代碼胡控。
下面我就談一下我在設(shè)計(jì)出這樣的propmt的時(shí)候是怎么想的。
- 對(duì)答案進(jìn)行拆分旁趟,克服長(zhǎng)答案中斷的問題昼激。當(dāng)前文心一言的上下文長(zhǎng)度還比較小,在答案內(nèi)容很多的情況下轻庆,經(jīng)常中斷癣猾,如果用“繼續(xù)”等prompt往往不能很好地銜接,尤其是代碼相關(guān)的內(nèi)容余爆。所以我的prompt中纷宇,明確的要求文心一言將答案拆分成多個(gè)部分(
代碼包括html、css和javascript三部分蛾方,下面請(qǐng)先單獨(dú)給出html代碼像捶,等我再次給出指令時(shí)再給出其余代碼。
)桩砰,分步給出答案拓春,每個(gè)部分相對(duì)獨(dú)立,這樣當(dāng)一次輸出的答案不完整時(shí)再補(bǔ)全就比較容易了亚隅。 - 要求盡量詳細(xì)硼莽,同時(shí)給出專業(yè)的術(shù)語詞匯。比如我結(jié)合前端的領(lǐng)域知識(shí)給出了
配色
煮纵、間距
懂鸵、布局
等要求偏螺。如果沒有的話,很可能css樣式就被文心一言給忽略了匆光。 - 立人設(shè)(
充當(dāng)一個(gè)工作10年以上的資深前端開發(fā)工程師
)套像,這個(gè)是借鑒的別人經(jīng)驗(yàn),我也說不上緣由终息,但是既然大家都有這樣的共識(shí)夺巩,那就用吧。后面我猜大模型可能會(huì)針對(duì)這種形式的prompt進(jìn)行優(yōu)化訓(xùn)練周崭。