我們一起瞧瞧AIGC能幫DBA做點(diǎn)啥
這兩天一個(gè)朋友和我探討AIGC在數(shù)據(jù)庫運(yùn)維領(lǐng)域的能力問題,他們準(zhǔn)備搞一個(gè)題庫,用于對(duì)大模型做這方面的能力測試。這是一件十分好的事情,因?yàn)樽罱@半年里,我一直在使用NewBing輔助我的工作,用NewBing內(nèi)置的GPT4幫我收集資料,分析資料,頗為得心應(yīng)手。也有一些朋友在用AIGC分析SQL執(zhí)行計(jì)劃、自動(dòng)生成BI查詢所需的SQL語句。甚至更為激進(jìn)的朋友已經(jīng)開始用AIGC自動(dòng)生成SQL語句,運(yùn)維自己的系統(tǒng)了。
就我這段時(shí)間的探索獲得的經(jīng)驗(yàn),AIGC用于DBA工作輔助,最大的問題依然是幻覺問題。在一些模棱兩可的問題或者一些ZERO SHOT場景,大模型依然會(huì)一本正經(jīng)的說瞎話。
圖片
我嘗試給NewBing出了一道題,這道題難度并不算太大,不過如果不了解Oracle共享池原理的人還真的不一定能答對(duì)。
圖片
NewBing給出了一個(gè)十分完美的答案,不僅答對(duì)了,其分析過程也無懈可擊??赡芎芏郉BA干了五年十年,對(duì)Oracle共享池的理解也不過如此吧。
圖片
繼續(xù)提問,不過這回出了一道更為復(fù)雜的題目,參雜了Oracle與PG的知識(shí),這回NewBing顯然沒有給出正確的答案。
圖片
它答對(duì)了A,但是把容易混淆的C也當(dāng)成錯(cuò)誤答案了。當(dāng)日這道題普通的DBA也容易答錯(cuò)。我把比較容易出現(xiàn)歧義的地方做了修改,不過沒辦法,在這個(gè)對(duì)話SESSION中,AIGC已經(jīng)認(rèn)定了自己的判斷了。
圖片
面對(duì)如此頑固的Newbing,我我只能新開了一個(gè)會(huì)話,再次提問這個(gè)問題。
圖片
在一個(gè)新的會(huì)話中,我用了作為Postgresql專家這個(gè)提示,NewBing居然十分正確的回答了這個(gè)問題。從上面的測試可以看出,AIGC已經(jīng)具備了很強(qiáng)的人類輔助能力,但是因?yàn)榛糜X的存在,它的回答是不確定的,也是無法保證準(zhǔn)確的。基于此AIGC在DBA領(lǐng)域的作用也最好被放在輔助上,而完全自動(dòng)化駕駛的環(huán)境中,還是要慎用的。前陣子在Oracle PAB大會(huì)上,Oracle的一些技術(shù)專家對(duì)此的看法也是如此。AIGC支持下的MOS肯定會(huì)有,AIGC支持下的智能分析診斷也一定會(huì)有,AIGC支持的CBO優(yōu)化器還不一定能有。
在DBA領(lǐng)域,AIGC支持下的知識(shí)庫、教學(xué)課程、數(shù)據(jù)建模輔助、SQL優(yōu)化輔助、AI4BI的SQL自動(dòng)生成、日志分析輔助定位、故障溯源輔助、復(fù)雜場景預(yù)警等這些工作,AIGC已經(jīng)可以勝任了。只要是在輔助領(lǐng)域,而不是數(shù)據(jù)庫的自動(dòng)化駕駛領(lǐng)域,AIGC都可以進(jìn)行很好的支撐。不過在自動(dòng)化操作這個(gè)領(lǐng)域,因?yàn)榛糜X的存在,絕對(duì)是要十分慎重的。
圖片
AIGC已經(jīng)被證明是十分有效的輔助手段了,大模型結(jié)合RAG是目前比較流行的解決方案。RAG 是檢索增強(qiáng)生成(Retrieval-augmented generation)的縮寫,是一種利用大語言模型和檢索系統(tǒng)來生成文本的方法。RAG 可以從大規(guī)模的文本數(shù)據(jù)庫中檢索相關(guān)的文檔,然后將它們作為上下文信息提供給 LLM,從而提高 LLM 的生成質(zhì)量和準(zhǔn)確性。RAG 可以應(yīng)用于多種任務(wù),如問答、摘要、對(duì)話等。
我一直在關(guān)注的螞蟻的開源項(xiàng)目DB-GPT也發(fā)展得日臻完善。以此框架為基礎(chǔ),在數(shù)據(jù)庫智能化運(yùn)維領(lǐng)域構(gòu)建自己的企業(yè)級(jí)AIGC智能化運(yùn)維體系應(yīng)該是可行的。有興趣的朋友不妨關(guān)注一下這個(gè)開源項(xiàng)目。