用AI賦能軟件工程:讓代碼更智能

軟件工程作為構(gòu)建現(xiàn)代科技世界的基石,涉及從代碼編寫(xiě)到測(cè)試、上線(xiàn)及維護(hù)的一系列復(fù)雜流程?!叭斯ぶ悄芘c軟件工程的結(jié)合,是技術(shù)進(jìn)化的重要路徑之一?!痹谲浖こ填I(lǐng)域的專(zhuān)家賀品嘉教授看來(lái),將AI引入軟件工程,不僅是提升行業(yè)生產(chǎn)力的關(guān)鍵,更是行業(yè)未來(lái)發(fā)展的必然方向。賀教授目前是香港中文大學(xué)(深圳)數(shù)據(jù)科學(xué)學(xué)院的助理教授,他的研究聚焦于“AI for SE”(人工智能用于軟件工程)以及“SE for AI”(軟件工程支持人工智能)的雙向探索。

賀品嘉教授曾在2018年獲得香港中文大學(xué)計(jì)算機(jī)科學(xué)與工程博士學(xué)位,之后在蘇黎世聯(lián)邦理工學(xué)院(ETH Zurich)計(jì)算機(jī)科學(xué)系擔(dān)任博士后研究員。他的學(xué)術(shù)經(jīng)歷涵蓋了從軟件工程到自然語(yǔ)言處理的多個(gè)領(lǐng)域,這種多學(xué)科背景為他的研究注入了強(qiáng)大的跨領(lǐng)域創(chuàng)新能力。

賀教授認(rèn)為,軟件工程與人工智能的融合可以從兩個(gè)方向展開(kāi):一是通過(guò)AI技術(shù)提升軟件開(kāi)發(fā)、測(cè)試和運(yùn)維的效率與質(zhì)量;二是通過(guò)軟件工程的方法和工具增強(qiáng)AI系統(tǒng)的可靠性與安全性。他提到,“AI for SE的目標(biāo)是讓機(jī)器理解軟件數(shù)據(jù)(如代碼)與其背后的軟件運(yùn)行邏輯,參與到開(kāi)發(fā)、測(cè)試、與運(yùn)維流程中,使得軟件開(kāi)發(fā)全流程更高效、更智能?!彼膱F(tuán)隊(duì)正在與微軟、華為、字節(jié)跳動(dòng)等公司共同研究如何利用AI技術(shù)優(yōu)化代碼生成、故障檢測(cè)和性能調(diào)優(yōu)等環(huán)節(jié),從而大幅提高軟件開(kāi)發(fā)的效率。

?

可信AI:為大模型筑起安全防線(xiàn)

近年來(lái),隨著ChatGPT等大模型技術(shù)的迅速發(fā)展,其安全性問(wèn)題也愈發(fā)凸顯。當(dāng)前的先進(jìn)模型例如GPT-4和LLaMA3-70b-Instruct仍然容易受到越獄攻擊,并被用于惡意用途。

針對(duì)這些問(wèn)題,賀品嘉教授團(tuán)隊(duì)和騰訊AI Lab聯(lián)合提出了“Decoupled Refusal Training(DeRTa)”,一個(gè)簡(jiǎn)單新穎的安全微調(diào)方法,DeRTa通過(guò)調(diào)整模型的訓(xùn)練策略,可以賦予大語(yǔ)言模型“迷途知返”的能力,從而在不影響模型有用性(helpfulness)的同時(shí),大幅提升其安全性(safety)。

賀教授表示:“大模型的安全性是AI技術(shù)落地應(yīng)用的前提,DeRTa的核心在于賦予模型‘自我拒絕’能力,確保模型在面對(duì)惡意輸入時(shí)能夠做出安全的響應(yīng)?!边@一方法為大模型的安全性提升提供了全新的思路。

?

LogPAI:自動(dòng)化日志分析的開(kāi)源典范

日志是軟件運(yùn)維領(lǐng)域中十分重要且廣泛存在的一種數(shù)據(jù)模態(tài)。然而,對(duì)日志進(jìn)行精準(zhǔn)處理分析一直以來(lái)都是一個(gè)艱難的問(wèn)題,日志難以被高效利用以協(xié)助運(yùn)維。

當(dāng)前,隨著人工智能的發(fā)展,這個(gè)情況得以改變。賀品嘉教授主導(dǎo)的開(kāi)源項(xiàng)目LogPAI(Log Analytics Powered by AI)已成為業(yè)內(nèi)的標(biāo)桿,LogPAI是一個(gè)開(kāi)源的自動(dòng)化日志分析框架,旨在為軟件日志的收集和分析提供端到端的智能化服務(wù)。

LogPAI主要包括四個(gè)開(kāi)源軟件服務(wù)(日志語(yǔ)句生成、日志壓縮、日志解析、日志挖掘)與一系列日志分析數(shù)據(jù)集。LogPAI能夠高效處理大規(guī)模日志數(shù)據(jù)。LogPAI為微軟、華為等企業(yè)提供了高效的運(yùn)維支持,成功應(yīng)用于多個(gè)工業(yè)場(chǎng)景,提高系統(tǒng)的穩(wěn)定性和可靠性。

LogPAI在開(kāi)源軟件平臺(tái)GitHub上受到廣泛認(rèn)可

截至目前,LogPAI在開(kāi)源軟件平臺(tái)GitHub上被收藏6000余次,并被超過(guò)450個(gè)學(xué)界業(yè)界知名組織下載8萬(wàn)余次。2022年5月,LogPAI榮獲第一屆IEEE開(kāi)源軟件服務(wù)獎(jiǎng)(IEEE Open Software Services Award)。

賀品嘉教授獲獎(jiǎng)郵件截圖

?

跨學(xué)科視角 培養(yǎng)AI時(shí)代的軟件工程人才

在教學(xué)中,賀教授注重將前沿研究融入課程。他所教授的《軟件工程》課程,不僅涵蓋傳統(tǒng)的軟件開(kāi)發(fā)流程,還引入大模型相關(guān)內(nèi)容,培養(yǎng)學(xué)生的AI應(yīng)用能力,通過(guò)案例教學(xué)讓學(xué)生接觸AI在軟件工程中的最新應(yīng)用。他認(rèn)為,未來(lái)的軟件工程師將不僅僅是代碼的編寫(xiě)者,更是AI工具的駕馭者。他希望通過(guò)教學(xué)與科研的結(jié)合,培養(yǎng)出更多能夠推動(dòng)AI與軟件工程交叉發(fā)展的創(chuàng)新型人才。

賀品嘉教授的團(tuán)隊(duì)由博士生、碩士生及本科生組成,研究方向涵蓋軟件工程、LLM for DevOps、大模型安全等領(lǐng)域。在他的指導(dǎo)下,團(tuán)隊(duì)成員多次在國(guó)際頂級(jí)會(huì)議上發(fā)表論文,分別進(jìn)入微軟、華為、字節(jié)跳動(dòng)、騰訊等企業(yè)進(jìn)行實(shí)習(xí),展現(xiàn)出強(qiáng)大的科研潛力。

?

青年教授簡(jiǎn)介

賀品嘉

港中大(深圳)數(shù)據(jù)科學(xué)學(xué)院助理教授

賀品嘉教授現(xiàn)為香港中文大學(xué)(深圳)數(shù)據(jù)科學(xué)學(xué)院助理教授。賀品嘉教授于2018年從香港中文大學(xué)獲得博士學(xué)位,此后在蘇黎世聯(lián)邦理工學(xué)院從事學(xué)術(shù)研究工作三年。賀品嘉教授的研究方向?yàn)檐浖こ?、AI for SE、大模型、可信人工智能。

他在ICSE、FSE、ICLR、ACL、OSDI等頂級(jí)會(huì)議期刊發(fā)表論文60余篇。獲得IEEE TCSE Rising Star Award、IEEE開(kāi)源軟件服務(wù)獎(jiǎng)、ISSRE最有影響力論文獎(jiǎng)等獎(jiǎng)項(xiàng)。谷歌學(xué)術(shù)引用6000余次。主導(dǎo)的自動(dòng)化日志分析開(kāi)源項(xiàng)目LogPAI在GitHub上被收藏6000余次,并被450多個(gè)學(xué)界業(yè)界組織下載8萬(wàn)余次。擔(dān)任頂刊TOSEM的Associate Editor,頂會(huì)FSE 2025的Social Media Co-Chair,四大軟件工程頂會(huì)的程序委員會(huì)成員。