导读:Graphite 在现有的 Graphite Reviewer 基础上推出了代码审查AI代理 Diamond,但同时也坚称“人工智能永远不会取代人工代码审查”。
Graphite 公司专门从事代码审查工具业务,由 Tomas Reimers(前 Facebook 员工)、Greg Foster(前Google 员工)和 Meril Lutsky(前市场调查公司 Posmetrics 员工)于 2020 年创立。
Graphite 解决的核心问题与大型拉取请求 (PR) 有关,这些请求太大而无法正确审查,建议的解决方案是堆叠,将代码分支分解为多个拉取请求,然后单独进行审查。这可能会在将上游更改合并到当前工作时带来棘手的问题。
Graphite(以及其他工具)通过其 Graphite CLI(命令行界面)和 Visual Studio Code(VS Code编辑器)扩展解决了这个问题。
代码审查是人工智能辅助的一个明显目标,现在已成为 GitHub Copilot、Amazon Q Developer、Google Gemini 等许多工具的功能。该公司在去年 10 月推出了 Graphite Reviewer,其目的是让开发人员在将 PR 提交给其他团队成员进行审查之前发现其中的问题。
Graphite 现已将 Graphite Reviewer 打造成一款独立产品,名为Diamond,并宣布进一步获得风险投资资金。Diamond 的功能包括检测错误、样式不一致和安全漏洞、性能问题、文档问题、可自定义规则、基于应用程序整个代码库的上下文感知以及可能意外提交的代码(例如,为方便编写其他代码而硬编码为返回 true 的函数)。Diamond 将建议修复。
Diamond 的局限性包括它目前仅与 GitHub 组织集成,并且 IDE 集成仅适用于 VS Code。
尽管 Graphite 正在向人工智能迈进,但 Foster表示,“人工智能无法完全取代人工代码审查......我从未看到它们成为实际人类工程师签署拉取请求的替代品。”
Foster 描述了背景的重要性,他指的不仅是代码,还有业务背景。“AI 可能不知道在与客户举行大型会议后,你的产品路线图发生了怎样的变化,”他写道。其他方面包括团队内部的个人因素,例如对特定编码实践的偏爱或反对,这可能会导致代码不理想。“真正的代码审查需要领域专业知识。”
他强调的另一个问题是人工智能不负责任。如果存在导致安全事故的漏洞,人工智能不能承担责任,尤其是考虑到所有人工智能辅助有时都会出错的警告。
Anthropic 首席执行官 Dario Amodei最近预测,人工智能将在 3 到 6 个月内编写 90% 的代码,但即使事实证明如此,Foster 表示“如果我们发布的代码从未被人类真正阅读或理解,人类将面临巨大的风险。”
Foster的话相信会引起广大开发人员的共鸣,他们担心没有人完全理解的人工智能生成的代码可能会在投入生产时出现错误,从而导致无法预料的后果。
难题在于企业如何在利用 Diamond 等人工智能工具的生产力与确保熟练的人类不会被排除在外之间取得平衡;如果开发人员让人工智能为他们编写代码,以至于他们自己的技能受到削弱,这个问题可能会变得更加严重。
相关网站:
本文为 @ 场长 创作并授权 21CTO 发布,未经许可,请勿转载。
内容授权事宜请您联系 webmaster@21cto.com或关注 21CTO 公众号。
该文观点仅代表作者本人,21CTO 平台仅提供信息存储空间服务。