如何利用GPT開發(fā)智能應(yīng)用?微軟提出這九大原則

來源:Azure云科技
作者:Azure云科技
時間:2023-04-25
1768
興奮,也許也有點(diǎn)焦慮。作為開發(fā)人員,如何在GPT時代與人工智能協(xié)作?在「萬物皆有副駕駛」的年代,如何劃定分工邊界,讓GPT成為開發(fā)人員的生產(chǎn)力魔盒?

640.png

毫無疑問,GPT的出現(xiàn)以日新月異的速度改寫了軟件開發(fā)的工作方式。

興奮,也許也有點(diǎn)焦慮。作為開發(fā)人員,如何在GPT時代與人工智能協(xié)作?在「萬物皆有副駕駛」的年代,如何劃定分工邊界,讓GPT成為開發(fā)人員的生產(chǎn)力魔盒?

作為微軟CVP、Deputy CTO的Sam Schillace基于其在一系列大語言模型(LLM)人工智能系統(tǒng)中的開發(fā)經(jīng)驗(yàn)提出了九項(xiàng)原則,即Schillace Laws of Semantic AI(語義AI的Schillace法則)。這九大原則可視為Sam Schillace在利用GPT技術(shù)革新軟件開發(fā)的前沿實(shí)操總結(jié),也許對正在思考如何重構(gòu)軟件工程領(lǐng)域的你也會有所啟迪——

#1

如果模型可以做到

就不要寫代碼

模型會進(jìn)化會變得更好,但編譯之后代碼不會。系統(tǒng)設(shè)計的總目標(biāo),應(yīng)該是利用LLM的規(guī)劃和理解意圖的能力來構(gòu)建具備杠桿效應(yīng)的應(yīng)用程序。開發(fā)者很容易陷入更加命令式的思維模式,并為程序的某些方面編寫代碼。要抵制這種誘惑——在您能夠讓模型可靠地執(zhí)行某些操作的程度上,隨著模型的發(fā)展,它將變得更好、更穩(wěn)健。

640.jpg

#2

用精度換取代碼杠桿

用交互來優(yōu)化

沿著上一原則的思索,編寫LLM時的正確心態(tài)不是“讓我們看看我們能讓跳舞的熊做什么”,而是盡可能地放大AI系統(tǒng)的能力。例如,可以先構(gòu)建非常通用的模式,如“從數(shù)據(jù)庫生成報告”或“編寫一年的備課目錄”,再使用純文本提示詞進(jìn)行參數(shù)化,輕松地產(chǎn)生極具價值和差異化的結(jié)果。

#3

代碼用于語法和過程

模型用于語義和意圖

大模型有很多不同的表述方式,但從根本上說,當(dāng)模型被要求推理意義和目標(biāo)時,它們更強(qiáng)大。而當(dāng)它們被要求執(zhí)行特定的計算和過程時,則變現(xiàn)較弱。舉例而言,高級模型很容易寫出一般性的數(shù)獨(dú)求解代碼,但很難讓它們自己解決數(shù)獨(dú)。每種類型的代碼都有不同的優(yōu)勢,因此使用正確類型的代碼解決正確類型的問題非常重要。語法和語義之間的邊界是這些程序的難點(diǎn)。

#4

系統(tǒng)的脆弱程度

取決于其最脆弱的部分

這適用于任何一種代碼。我們正在努力實(shí)現(xiàn)靈活性和高度杠桿效應(yīng),因此謹(jǐn)記別地硬編碼任何東西。盡可能地在提示詞中加入推理和靈活性,并最小化使用命令式代碼,以使LLM發(fā)揮作用。

#5

聰明的問題,

才能獲取聰明的答案

新興的LLM AI模型都非常強(qiáng)大,并顯得“受過良好教育”。但它們?nèi)狈ι舷挛暮椭鲃有?。如果您向它們提出簡單或開放式問題,您將得到簡單或通用的答案。如果您想要更多細(xì)節(jié)和精細(xì)度,問題必須更加智能化——這是“垃圾進(jìn),垃圾出”在人工智能時代的回聲。

#6

不確定性是異常處理

因?yàn)槲覀冊谟镁_度換取代碼杠桿,所以當(dāng)模型對意圖不確定時,我們需要依靠與用戶的交互來校正。當(dāng)我們在程序中有一組嵌套的提示詞時,并且其中一個提示詞在其結(jié)果上不確定時(“一個可能的方式是...”),正確的做法是等效于“異常處理”(Exception Throw)——將這種不確定性向上傳播,直到能夠澄清或與用戶交互的級別。

#7

文本是通用的傳輸協(xié)議

由于LLM善于解析自然語言、意圖以及語義,因此文本是在提示詞、模塊和基于LLM的服務(wù)之間傳遞指令的自然格式。自然語言對于某些用途來說不夠精確,可以適當(dāng)?shù)厥褂媒Y(jié)構(gòu)化語言,如XML,但總體來說,在提示詞之間傳遞自然語言非常有效,并且對于大多數(shù)用途而言,自然語言比結(jié)構(gòu)化語言更加反脆弱。隨著這些基于模型的程序的不斷增多,這是一種自然的“未來證明”,可以使不同的提示詞能夠像人類一樣相互理解。

#8

對人類來說很難的話

對模型一樣難

在給模型一個具有挑戰(zhàn)性的任務(wù)時,常見的模式是它需要“仔細(xì)思考”。這看起來很有趣,非常有趣,但是當(dāng)將提示符作為程序的一部分使用時就會出現(xiàn)問題,因?yàn)樵诔绦蛑兴枰闹皇峭评淼慕Y(jié)果。但是,使用一個“元”提示,將問題和詳細(xì)答案給出,并要求提取答案,這樣做效果相當(dāng)好。

這是一項(xiàng)對人來說更容易的認(rèn)知任務(wù)(可以想象只需要給某人一個通用任務(wù):“閱讀這個并找到答案”,并且在用戶沒有專業(yè)知識的情況下,這項(xiàng)任務(wù)可以在許多領(lǐng)域中完成,因?yàn)樽匀徽Z言非常強(qiáng)大)。因此,在編寫程序時,請記住,對人來說困難的事情很可能對模型也很困難,將模式分解成更容易的步驟通常會得到更穩(wěn)定的結(jié)果。

#9

謹(jǐn)防“意識幻覺”

模型可以用來對抗它自己

我們很容易會想象LLM里面有一個所謂“頭腦”。但人類思考與模型之間的差異是意義重大的。其中一個可以被利用的重要區(qū)別是,目前的模型無法記住幾分鐘前的交互。

因此,雖然我們永遠(yuǎn)不會要求一個人在他們剛剛編寫的東西中查找漏洞或惡意代碼,但我們可以讓模型這樣做。它可能會在兩個地方犯同樣的錯誤,但它無法“欺騙”我們,因?yàn)樗恢来a最初來自何處。這意味著我們可以在某些地方“利用模型對抗自己”——它可以用作代碼的安全監(jiān)控器、測試策略的組成部分、生成內(nèi)容的內(nèi)容過濾器等。

看完這9大通用性原則,是否對你的應(yīng)用開發(fā)工作有所啟發(fā)?

現(xiàn)在,你還可以更進(jìn)一步,與同儕專家切磋GPT大模型智能應(yīng)用開發(fā)模式,并快速上手實(shí)現(xiàn)開發(fā)。聯(lián)系您的微軟客戶經(jīng)理,申請GPT App Innovation Workshop,由專家為您提供進(jìn)一步指導(dǎo)。

640 (1).jpg

立即登錄,閱讀全文
原文鏈接:點(diǎn)擊前往 >
文章來源:Azure云科技
版權(quán)說明:本文內(nèi)容來自于Azure云科技,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個人觀點(diǎn),不代表快出海對觀點(diǎn)贊同或支持。如有侵權(quán),請聯(lián)系管理員(zzx@kchuhai.com)刪除!
優(yōu)質(zhì)服務(wù)商推薦
更多