我们正在进入 Vibe Engineering 的时代
快速阅读: 《印度分析杂志》消息,AI正在改变代码审查,提升协作效率,但无法取代人类判断。CodeRabbit等工具通过AI辅助,减少摩擦,促进有意义的对话,强调质量与工程原则的重要性。
代码只是更大软件周期的一部分。然而,正是代码在团队中引发了诸多摩擦。问大多数开发人员,他们会告诉你,本应确保质量的代码审查有时让人感觉像激烈的辩论,而不是有帮助的反馈会议。
阿兰文德·普特雷维(Aravind Putrevu)是CodeRabbit的开发者增长与市场总监,他认为人工智能即将软化这一过程的尖锐之处。“在我看来,人工智能为代码审查带来了公正性,”他说,“它没有自我。它不是为了吹毛求疵或赢得争论。它是来帮忙的。”
普特雷维指出,开发人员通常性格内向。除了团队站会或协作调试之外,他们被迫进行有意义对话的地方就是代码审查时。“在那里,观点会发生冲突,自尊心会受到伤害,有时事情会变得很糟糕,”他说,“你在捍卫自己的代码,而别人则在挑你的毛病。”
像CodeRabbit这样的AI工具正试图通过充当“第一道防线”来改变这种动态。它们可以捕捉明显的错误,执行风格指南,并在人类评审员接手之前提出改进建议。“我们并没有从流程中移除人类,”他澄清道,“开发人员仍然做出最终决定,但AI可以处理那些琐碎的事情。”
点击此处查看CodeRabbit在VSCode上的应用。
这种新的工作流程被称为“氛围检查”,它反映了编码氛围的变化。以前,开发人员都是手动编写代码。现在,借助GitHub Copilot、Cursor和Lovable等工具,AI可以帮助生成大量代码。审查流程只是刚刚跟上。
“氛围编码”的崛起(以及风险)
普特雷维注意到的另一个大趋势是“氛围编码”工具的兴起——比如Lovable或Replit这样的应用,让非程序员可以通过自然语言提示构建应用程序。
表面上看,这看起来像是一场革命。
CodeRabbit的联合创始人古里特法格·辛格(Guritfaq Singh)则提出了一个警告。“这就像学习开车却不了解汽油易燃一样,”他说,“你可以开得很快,但你忽略了基础概念。你不了解版本控制、代码维护,或者为什么代码会以某种方式运行。”
他回忆起最近与一位流行教育者的一次互动。“他甚至不知道YAML是什么。而这个人却在教别人如何使用这些工具!”辛格笑着说。其实这不是他的错,这仅仅说明我们需要更好的引导,以及更多资深开发人员去指导这些新用户。
而这正是CodeRabbit的作用。“它就像一位资深工程师坐在你旁边,”他说,“它会引导你、审查你的拉取请求,并帮助你避免昂贵的错误。”与其他工具相比,他说CodeRabbit每天生成约500亿个标记。这主要是用于审查。
扩展AI与开发者的日益增长的角色
毫无疑问,AI正在生成大量代码。Cursor据报道每天输出接近十亿行代码。谷歌最近表示,其仓库中超过50%的代码现在是由AI生成的,YC初创公司则用AI生成了90%的代码。
当Anthropic首席执行官Dario Amodei预测不到六个月后,AI将处理90%的编码工作时,警报响起了。这与Zoho创始人Sridhar Vembu的想法类似。他最近表示,程序员今天编写的90%内容都是“样板代码”。
毫无疑问,AI正在生成大量代码。Cursor据报道每天输出接近十亿行代码。谷歌最近表示,其仓库中超过50%的代码现在是由AI生成的,YC初创公司则用AI生成了90%的代码。
但这并不意味着我们需要更少的工程师。恰恰相反。有一整代新的开发人员正在加入——其中许多来自非传统背景。需求只会继续增长。
然而,有一个问题。那些抗拒学习这些工具的开发人员可能会被落下。“这就像从人力三轮车变成发动机驱动的车,”他说,“你仍然是驾驶员,但如果你不学会如何操作机器,你可能会变得过时。”
在社交媒体上,有关AI工具取代整个开发团队的讨论层出不穷。一些帖子广为流传,声称Cursor和Claude的组合可以充当每月20美元的资深工程师。
普特雷维对此一笑置之,他表示,你无法仅凭几个提示就取代经验丰富的开发人员的经验和判断力。不过,你可以给每个初级开发人员一个强大的伙伴。
本质上,今天的AI工具不是新团队成员,而是新队友。
过去,开发人员严重依赖Stack Overflow和集成开发环境(IDEs)来获得即时的代码帮助——无论是调试一个棘手的错误、理解一个库的功能,还是找到正确的语法结构。普特雷维说:“这些工具提升了个人效率,而非团队协作。”
虽然Stack Overflow对单打独斗的开发人员来说是一个救命稻草,但它很少能解决代码一致性、审查质量以及团队协作中的上下文反馈问题。同样,IDEs优化的是代码编写过程,而不是理解代码如何融入更大的系统。
过去,开发人员严重依赖Stack Overflow和集成开发环境(IDEs)来获得即时的代码帮助——无论是调试一个棘手的错误、理解一个库的功能,还是找到正确的语法结构。普特雷维说:“这些工具提升了个人效率,而非团队协作。”
这就是CodeRabbit等工具介入的地方,它们不是要取代Stack Overflow或IDEs,而是要将开发体验演变为一种更加协作、以审查为主的过程——在开发人员的工作环境中嵌入智能的上下文和反馈。
质量依然重要
尽管有各种承诺,但仍然存在风险。过多的自动化可能导致普特雷维所说的“评论过多”。他开玩笑说,有一个网络迷因,10行的PR收到了500条评论,而200行的PR只得到一个随意的“LGTM(Looks Good To Me)”。这就是危险所在——当AI生成的代码被盲目接受时。
好的代码仍然需要好的判断力。这也是为什么人类评审员不会很快消失的原因。
至于“氛围审查”的未来?“这不是要取代对话,”他说,“而是让这些对话更有意义。AI不会关闭氛围,它会设定基调。”
很明显,尽管世界正在随着代码而“振荡”,但还没有所谓的“氛围工程”。虽然“氛围编码”可以加速原型制作,但它并不能替代软件工程。
真正的工程涉及长期的系统设计、可靠性、可扩展性和可维护性——这些问题目前AI生成的代码无法处理。因此,尽管炒作不断,但并没有“氛围工程”。它仍然是工程,无论有没有代码输入。
(以上内容均由Ai生成)