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