登录
首页 >  科技周边 >  人工智能

字节跳动BitsAI-CR:基于LLM的代码审查系统技术揭秘

时间:2025-02-04 13:07:26 180浏览 收藏

来到golang学习网的大家,相信都是编程学习爱好者,希望在这里学习科技周边相关编程知识。下面本篇文章就来带大家聊聊《字节跳动BitsAI-CR:基于LLM的代码审查系统技术揭秘》,介绍一下,希望对大家的知识积累有所帮助,助力实战开发!

字节跳动AI代码审查系统BitsAI-CR:提升研发效率的实践探索

在人工智能浪潮下,大语言模型(LLM)正深刻改变软件开发模式。字节跳动近日公开其内部广泛使用的代码审查系统BitsAI-CR的技术细节,展现了AI在提升企业研发效率方面的显著进展。

图片论文地址:https://arxiv.org/abs/2501.15134

代码审查是保障软件质量的关键,但在大型企业中却面临诸多挑战。字节跳动内部数据显示,超过六成工程师渴望更高效的代码审查工具。虽然LLM在代码理解方面潜力巨大,但工业级应用仍面临三大难题:审查准确率低、低价值评论过多以及缺乏系统性改进机制。针对这些挑战,BitsAI-CR应运而生,并在服务超过1.2万周活跃开发者的实际应用中,实现了75%的审查准确率和26.7%的评论过时率。

图片

两阶段评论生成架构:确保高质量审查

传统LLM代码审查方案常受困于低准确率和幻觉问题。字节跳动研究团队通过实验发现,单纯依靠模型微调效果有限。因此,他们创新性地采用了“识别+验证”的两阶段生成架构:

  1. RuleChecker: 利用Tree-sitter技术精确识别代码块和函数边界,构建上下文,并基于字节内部219条多维度审查规则,使用LoRA微调的Doubao-Pro-32K-0828模型生成审查评论。这些规则涵盖代码缺陷、安全漏洞、可维护性和性能等四个方面,并集成动态规则黑名单,确保审查标准与企业实践动态一致。

图片

  1. ReviewFilter: 为了过滤模型幻觉和低价值评论,另一个微调的Doubao-Pro-32K-0828模型对RuleChecker的输出进行二次验证,对每条评论进行“是/否”判断并给出理由。实验表明,“结论在前”的推理模式性能最佳,准确率达77.09%,且推理时间较短。

图片

最终的审查结果通过评论聚合机制处理,利用基于Doubao-embedding-large的向量化方法计算评论相似度,避免重复信息干扰开发者。实验显示,该架构在Go语言离线评测集上实现了65.59%的评论准确率。

图片

评论过时率(Outdated Rate):更全面的评价指标

研究团队引入“评论过时率”指标,通过追踪被标记代码行在后续提交中的修改比例,更客观地衡量审查建议的实际价值。

图片图片

数据飞轮:持续优化系统

BitsAI-CR采用数据飞轮机制持续优化审查规则。通过用户反馈、人工标注和每周的Outdated Rate监控,系统能够识别并改进高准确率但低实用性的规则,确保系统持续保持高实用性。在18周的部署中,评论准确率从25%提升至75%,Go语言场景下的Outdated Rate达到26.7%,接近人工审查水平。目前,系统已服务超过1.2万名周活跃开发者,用户满意度达74.5%。

图片

BitsAI-CR的成功实践证明了LLM在提升企业软件开发效率方面的巨大潜力,为AI编程助手的规模化应用提供了重要参考。

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于科技周边的相关知识,也可关注golang学习网公众号。

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>