展會信息港展會大全

字節(jié)跳動BitsAI-CR:基于LLM的代碼審查系統(tǒng)技術(shù)揭秘
來源:互聯(lián)網(wǎng)   發(fā)布日期:2025-02-08 08:09:10   瀏覽:350次  

導(dǎo)讀:機器之心發(fā)布機器之心編輯部在人工智能浪潮席卷全球的今天,大語言模型 (LLM) 正在重塑軟件開發(fā)流程。近日,字節(jié)跳動首次對外披露其內(nèi)部廣泛應(yīng)用的代碼審查系統(tǒng) BitsAI-CR 的技術(shù)細節(jié),展示了 AI 在提升企業(yè)研發(fā)效率方面的重要進展。論文地址:https://arxiv.org/abs/2501.15134代碼審查是保障軟件質(zhì)量的關(guān)鍵環(huán)節(jié),但在大規(guī)模企業(yè)環(huán)境下面臨嚴峻挑戰(zhàn)。字節(jié)跳動內(nèi)部數(shù)據(jù)顯示,67 ......

機器之心發(fā)布

機器之心編輯部

在人工智能浪潮席卷全球的今天,大語言模型 (LLM) 正在重塑軟件開發(fā)流程。近日,字節(jié)跳動首次對外披露其內(nèi)部廣泛應(yīng)用的代碼審查系統(tǒng) BitsAI-CR 的技術(shù)細節(jié),展示了 AI 在提升企業(yè)研發(fā)效率方面的重要進展。

字節(jié)跳動BitsAI-CR:基于LLM的代碼審查系統(tǒng)技術(shù)揭秘

論文地址:https://arxiv.org/abs/2501.15134

代碼審查是保障軟件質(zhì)量的關(guān)鍵環(huán)節(jié),但在大規(guī)模企業(yè)環(huán)境下面臨嚴峻挑戰(zhàn)。字節(jié)跳動內(nèi)部數(shù)據(jù)顯示,67% 的工程師表示迫切需要更高效的工具支持。雖然 LLM 在代碼理解方面展現(xiàn)出巨大潛力,但要實現(xiàn)工業(yè)級應(yīng)用仍面臨三大挑戰(zhàn):評論準確性不足、價值有限的評論過多,以及缺乏系統(tǒng)化的改進機制。為此,字節(jié)跳動研究團隊提出代碼審查系統(tǒng) BitsAI-CR,在服務(wù)超 1.2 萬周活開發(fā)者的規(guī);炞C中,實現(xiàn) 75% 的審查準確率與 26.7% 的評論過時率(Outdated Rate)。

字節(jié)跳動BitsAI-CR:基于LLM的代碼審查系統(tǒng)技術(shù)揭秘

兩階段評論生成架構(gòu)確保高質(zhì)量審查

傳統(tǒng) LLM 代碼審查方案受限于準確率較低和幻覺頻發(fā),研究團隊通過系統(tǒng)性實驗發(fā)現(xiàn),僅依賴單一模型微調(diào),即使采用優(yōu)化訓練樣本和強化學習等方法也收效有限。這促使研究團隊引入專門的驗證模塊,形成了 "識別 + 驗證" 的兩階段生成架構(gòu):

1. RuleChecker:針對 Code Diff,通過 Tree-sitter 實現(xiàn)精確的代碼塊識別和函數(shù)邊界檢測來組成上下文,基于字節(jié)內(nèi)部 219 條多維審查規(guī)則,采用 LoRA 微調(diào)的 Doubao-Pro-32K-0828 模型來生成相關(guān)的審查評論。這些審查規(guī)則涵蓋代碼缺陷、安全漏洞、可維護性和性能問題等 4 大維度,同時 RuleChecker 也集成了動態(tài)規(guī)則黑名單,可實時剔除低效規(guī)則,確保審查標準與企業(yè)實踐動態(tài)對齊。

字節(jié)跳動BitsAI-CR:基于LLM的代碼審查系統(tǒng)技術(shù)揭秘

2. ReviewFilter:針對模型幻覺與低價值評論,通過另一個微調(diào)的 Doubao-Pro-32K-0828 對 RuleChecker 的輸出進行二次驗證。ReviewFilter 針對每一條審查評論,輸出一個二元判斷(Yes 或 No)來決定是否保留評論,以及相應(yīng)的判斷依據(jù)。研究團隊對 ReviewFilter 的推理模式進行了深入實驗,比較了 "直接結(jié)論"、"推理在前" 和 "結(jié)論在前" 三種模式。最終,"結(jié)論在前" 模式以其優(yōu)異的性能脫穎而出:準確率達 77.09%,同時保持了較低的推理時間。

字節(jié)跳動BitsAI-CR:基于LLM的代碼審查系統(tǒng)技術(shù)揭秘

在完成審查后,系統(tǒng)通過評論聚合機制處理輸出結(jié)果。該機制使用基于 Doubao-embedding-large 的向量化方法計算評論相似度,從每組相似評論中隨機保留一條,有效避免了開發(fā)者被過多重復(fù)信息打擾。實驗表明,該架構(gòu)使系統(tǒng)的評論準確率在 Go 語言的離線評測集上達到 65.59%。

其中 BitsAI-CR w/o Taxonomy 表示訓練數(shù)據(jù)來自于沒有進行審查分類的隨機采樣內(nèi)部審查數(shù)據(jù),BitsAI-CR 表示訓練數(shù)據(jù)是根據(jù)審查規(guī)則分類法特別構(gòu)建的,兩者保持了相同的訓練數(shù)據(jù)規(guī)模。結(jié)果表明,基于兩階段評論生成都提高了準確度,但分類指導(dǎo)的版本在所有審查類別中實現(xiàn)了更高的準確度。

字節(jié)跳動BitsAI-CR:基于LLM的代碼審查系統(tǒng)技術(shù)揭秘

Outdated Rate 評價指標

研究團隊通過早期實踐發(fā)現(xiàn),開發(fā)者面對大量審查評論時往往采取完全忽視的策略,而初期的不準確評論更會嚴重損害用戶信任。這促使團隊將準確率作為首要優(yōu)化目標。通過兩階段評論生成審查架構(gòu),BitsAI-CR 將評論準確率提升至 75%,顯著提升了系統(tǒng)可用性。然而,僅依靠準確率指標存在兩個根本性限制:無法反映開發(fā)者是否真正采納了審查建議,且人工評估準確率需要大量人力投入。

字節(jié)跳動BitsAI-CR:基于LLM的代碼審查系統(tǒng)技術(shù)揭秘

字節(jié)跳動BitsAI-CR:基于LLM的代碼審查系統(tǒng)技術(shù)揭秘

數(shù)據(jù)飛輪驅(qū)動系統(tǒng)優(yōu)化

為完善審查規(guī)則集并更好地利用用戶反饋,研究團隊設(shè)計了數(shù)據(jù)飛輪。最初,研究團隊將代碼樣式指南與實際審查經(jīng)驗結(jié)合起來,設(shè)計了代碼審查規(guī)則分類,包含 5 種編程語言和 219 條評審規(guī)則。隨后從內(nèi)部倉庫中抽取了 12 萬條 MR 中的審查評論,包括靜態(tài)分析結(jié)果和人工審查反饋。在經(jīng)歷了數(shù)據(jù)清洗(過濾非實質(zhì)性的內(nèi)容,并依照代碼審查規(guī)進行分類)和質(zhì)量控制環(huán)節(jié)后,最終構(gòu)成了 BitsAI-CR 的訓練數(shù)據(jù)。

實踐表明,代碼審查規(guī)則需要持續(xù)優(yōu)化以適應(yīng)實際開發(fā)。某些規(guī)則雖然在技術(shù)上完全正確,但可能缺乏實際價值。BitsAI-CR 通過三個關(guān)鍵反饋渠道收集優(yōu)化信號:

1. 用戶的直接反饋(如點贊點踩)能夠及時捕捉開發(fā)者的真實需求;

2. 每日抽樣的人工準確率標注(抽樣率不超過 10%)提供了高質(zhì)量的評估基準和數(shù)據(jù);

3. 每周的 Outdated Rate 監(jiān)控則實現(xiàn)了大規(guī)模自動化評估。

數(shù)據(jù)飛輪機制會檢測線上用戶數(shù)據(jù),識別準確率高但 Outdated Rate 低的審查規(guī)則,通過優(yōu)化這些規(guī)則,確保系統(tǒng)始終保持高實用性。

這一機制的效果顯著。在過去 18 周的部署過程中,BitsAI-CR 的評論準確率從初期的 25% 提升至 75%,Go 語言場景下的 Outdated Rate 達到了 26.7%,接近人工審查水平。目前,系統(tǒng)已在字節(jié)內(nèi)部服務(wù)超過 1.2 萬名周活開發(fā)者,用戶調(diào)研顯示 74.5% 的開發(fā)者認可其實際價值。

字節(jié)跳動BitsAI-CR:基于LLM的代碼審查系統(tǒng)技術(shù)揭秘

字節(jié)跳動此次披露 BitsAI-CR 的技術(shù)細節(jié),不僅展示了其在 AI 輔助開發(fā)領(lǐng)域的探索成果,也為業(yè)界提供了寶貴的實踐經(jīng)驗。該系統(tǒng)的成功部署證明了 LLM 在提升企業(yè)軟件開發(fā)效率方面的巨大潛力,為未來 AI 編程助手的規(guī);瘧(yīng)用提供了重要參考。

贊助本站

相關(guān)內(nèi)容
AiLab云推薦
推薦內(nèi)容
展開

熱門欄目HotCates

Copyright © 2010-2025 AiLab Team. 人工智能實驗室 版權(quán)所有    關(guān)于我們 | 聯(lián)系我們 | 廣告服務(wù) | 公司動態(tài) | 免責聲明 | 隱私條款 | 工作機會 | 展會港