AI代码审查员上线:Graphite Diamond能否取代人类程序员?
Graphite近日推出了其最新的AI代码审查工具——Diamond,基于现有的Graphite Reviewer技术。尽管Diamond具备强大的代码审查能力,Graphite仍坚称“AI永远不会取代人类的代码审查。”
Graphite由前Facebook工程师托马斯·雷默斯、前谷歌员工格雷格·福斯特以及前市场调查公司Posmetrics的梅里勒·卢茨基于2020年创立,专注于解决大型拉取请求(PRs)的审查难题。其核心解决方案是通过“堆垛”技术,将代码分支分解为多个小型PRs,以便更高效地进行审查。Graphite还提供了命令行工具(CLI)和Visual Studio Code扩展,帮助开发者管理代码合并问题。
随着AI技术在代码审查领域的广泛应用,Graphite也加入了这一潮流。去年10月,Graphite推出了Graphite Reviewer,允许开发者在提交PRs给团队成员之前,利用AI检测潜在问题。如今,Graphite将这一功能升级为独立产品——Diamond。
Diamond具备多项功能,包括检测代码中的Bug、样式不一致、安全漏洞、性能问题以及文档问题。它还能根据整个代码库的上下文提供定制化建议,并识别可能意外提交的代码(如硬编码的临时函数)。然而,Diamond目前仅支持GitHub组织和Visual Studio Code集成。
尽管Diamond功能强大,Graphite联合创始人格雷格·福斯特强调,AI无法完全取代人类代码审查。他指出,AI缺乏对业务上下文的理解,例如产品路线图的调整或团队内部的编码偏好。此外,AI无法对代码中的错误承担法律责任,尤其是在涉及安全漏洞时。
福斯特还提到,即使未来AI能够编写90%的代码,完全依赖AI生成的代码仍存在巨大风险。如果代码未经人类开发者深入理解,可能会导致无法预见的错误和后果。因此,Graphite的目标是在利用AI提升生产力的同时,确保人类开发者的核心作用不被削弱。
Graphite的Diamond工具代表了AI在代码审查领域的重要进展,但其成功的关键在于如何平衡AI与人类开发者之间的协作。随着AI技术的不断发展,企业需要在提高效率与保障代码质量之间找到最佳平衡点。