字节跳动此次披露为业界提供了宝贵的实践经验。
原标题:字节跳动BitsAI-CR解析:基于LLM的代码审查系统技术
文章来源:智猩猩GenAI
内容字数:4281字
字节跳动BitsAI-CR代码审查系统:AI赋能软件开发
在人工智能浪潮下,大语言模型(LLM)正在重塑软件开发流程。字节跳动近日首次公开其内部广泛应用的代码审查系统BitsAI-CR的技术细节,展现了AI在提升企业研发效率方面的显著进展。该系统在服务超过1.2万周活开发者的规模化验证中,实现了75%的审查准确率和26.7%的评论过时率。
1. 解决LLM代码审查的挑战
传统的LLM代码审查方案存在准确率低、幻觉频发、低价值评论过多以及缺乏系统化改进机制等问题。为了克服这些挑战,BitsAI-CR采用了两阶段评论生成架构,并引入了评论过时率(Outdated Rate)作为新的评价指标。
2. 两阶段评论生成架构:RuleChecker和ReviewFilter
BitsAI-CR的核心是“识别+验证”的两阶段评论生成架构:
RuleChecker:利用Tree-sitter进行代码块识别和函数边界检测,基于字节内部219条多维审查规则(涵盖代码缺陷、安全漏洞、可维护性和性能问题等),通过LoRA微调的Doubao-Pro-32K-0828模型生成审查评论。该模块还集成了动态规则黑名单,确保审查标准与企业实践动态对齐。
ReviewFilter:对RuleChecker的输出进行二次验证,判断是否保留评论。研究团队通过实验比较了三种推理模式,最终选择“结论在前”模式,准确率达到77.09%。
此外,系统还采用基于Doubao-embedding-large的向量化方法进行评论聚合,避免开发者被过多重复信息打扰。
3. 评论过时率(Outdated Rate)指标
为了更全面地评估审查建议的实际价值,BitsAI-CR引入了评论过时率(Outdated Rate)指标。该指标追踪被标记代码行在后续提交中的修改比例,量化审查建议的实际应用情况。 这有效弥补了仅依靠准确率指标的不足。
4. 数据飞轮驱动系统优化
BitsAI-CR通过数据飞轮机制持续优化审查规则集并利用用户反馈。该机制包含三个关键反馈渠道:
用户的直接反馈(点赞点踩)
人工准确率标注(抽样率不超过10%)
每周的Outdated Rate监控
通过这些反馈,系统能够识别准确率高但Outdated Rate低的规则,并进行优化,从而确保系统始终保持高实用性。在过去18周的部署过程中,BitsAI-CR的评论准确率从25%提升至75%,Go语言场景下的Outdated Rate达到了26.7%,接近人工审查水平。
5. 结论
字节跳动的BitsAI-CR系统在规模化应用中取得了显著成功,证明了LLM在提升企业软件开发效率方面的巨大潜力。其两阶段评论生成架构、评论过时率指标以及数据飞轮机制为未来AI编程助手的规模化应用提供了宝贵的实践经验和参考。
联系作者
文章来源:智猩猩GenAI
作者微信:
作者简介:智猩猩旗下账号,专注于生成式人工智能,主要分享技术文章、论文成果与产品信息。