AI 写代码,人类负责“氛围检查”

还记得"开放"意味着"可见"的时候吗?当开源代码中的bug留下了你可以审计的线索时?当你可以追踪提交、贡献者、时间戳,甚至凌晨2点13分关于tab和空格的激烈争论时?

那种开放性创造了对代码的信心,使得在出现问题时可以追究贡献者的责任。今天,随着AI改变了代码的创建和共享方式,那些熟悉的信任和透明度标记正变得越来越难以找到。

透明度是开源的承诺,是安全网。只要有足够的眼睛,所有bug都是浅显的。

然后AI走进来,用烟幕——和"氛围"——取代了安全网。在这个新环境中,开发者经常发现自己更多依赖直觉或对代码质量的表面印象,而不是开源社区传统提供的清晰透明的审查流程。

现在,随着开发者采用无代码/低代码AI平台——让用户以最少或无需传统编程来创建软件或自动化任务的工具——他们与其说是在写代码,不如说是在召唤代码。代码行出现了,逻辑编译了,整个应用程序在几秒钟内闪烁着出现。

AI代码生成感觉像魔法,主要是因为,为了方便起见,我们常常不再追问这个戏法到底是如何运作的。换句话说,代码背后的过程变成了一个黑盒。实际上,这是一门许多人选择不深入分析的科学。

但每一个捷径都留下了痕迹,更不用说风险了。

这就是为什么我提出一个新规则:如果你用氛围编程创建了代码,就对其进行"氛围检查"。然后,确保你的开发环境建立在现代的、以身份优先的安全基础之上。

1、AI生成的代码如何改变软件开发

在过去几年中,AI代码生成在两个方面做得极其出色:极大地加速了开发,同时瓦解了问责制。

GitHub和开源仓库给了我们溯源能力。而AI给我们的则是不透明的模型和合理的推诿——如果出了问题的话——这两者都对企业安全团队构成了严重挑战。

事实上,Idira的研究发现92%的领导者对AI生成的代码有担忧,78%认为AI开发的代码将导致"安全清算"。近三分之二的人承认对此夜不能寐,表示治理AI的安全使用"不可能",因为他们缺乏对AI在何处被使用的可见性。与此同时,2025年GitGuardian的研究表明,AI工具泄露密钥的可能性要高40%。

而这还没有把AI智能体加入方程式。

翻译一下?我们失去了对应该最透明的系统的洞察力,使得发现问题或理解决策是如何做出的变得更加困难。因为现在任何人都可以用一个提示词创建软件,我们的供应链运行的不再是逻辑,而是对我们没有完全理解的工具的信仰。

2、为什么人类判断在AI代码开发中至关重要

每一个创新时代最终都需要自己的断路器。对于AI代码来说,主要的断路器之一就是人类判断力。

为什么?在讨论AI时,你一定听说过"人在回路"的重要性,但这不能是随便哪个人。我们需要的是合适的人,在合适的角色中,知道该寻找什么来减轻与AI编码相关的风险,在它们进入生产环境之前——或者擦除整个生产环境之前。

换句话说,你需要我所说的"判断在回路中"。一个有技能的开发者在提交之前会做出刻意的停顿——在推送到生产之前进行一次辨别。

一个——你猜对了——"氛围检查"。这是一个刻意的停顿,在继续之前评估代码是否感觉正确、是否有意义。

这意味着什么?你至少应该问这三个问题:

  1. 这段代码合理吗?
  2. 这段代码应该存在吗?
  3. 如果这段代码失败了,我们能追踪到谁——或者什么——决定它准备好了吗?

每当有人准备推送一个AI生成的提交时,必须由人类来审查。我知道关于效率瓶颈的担忧,现在正在出现可以帮助缓解这一问题的AI工具。但今天的氛围编程仍然需要人类验证。

这种反思可能是可靠自动化与因AI幻觉、基于逻辑的欺诈或代码库擦除等潜在灾难性问题引发的事件报告之间的区别。

3、当氛围不对劲时:AI代码实战中的警示故事

即使有最好的意图,AI生成的代码也可能以意想不到的方式出问题。考虑以下三个"氛围检查"被遗漏的警示故事,以及可能发生的结果:

3.1 幻觉依赖

有时,AI生成的代码可能包含对过时或不安全的加密库的引用。即使自动化测试通过,这个隐藏的漏洞也可能导致安全事件。真正的问题是什么?因为代码是AI生成的,通常很难追踪这个有风险的依赖是如何或为什么被添加的。

3.2 字面主义智能体

一个AI智能体自动化退款流程。它字面地执行每条指令,没有上下文也没有护栏。逻辑中的一个任务条件意味着它应用了两次退款,在任何人注意到之前就耗尽了账户。因为智能体重用了以明文存储的支付API密钥,问题蔓延到了所有环境。逻辑完美运行,即使判断力没有。

3.3 静默破坏者

AI"清理"了一个代码库,删除了它认为不必要的错误处理函数。当下一次停机发生时,团队手忙脚乱,无法判断什么首先失败了,因为AI也"整理"了证据。简而言之,当AI试图通过清理代码来优化它时,它可能会移除关键的安全保障——比如错误处理例程——而没有完全理解它们的重要性。如果以后出了问题,诊断问题所需的线索可能已经被清理和擦除了,使人肉团队的故障排查变得更加困难。

为了避免这些陷阱,团队需要将AI的速度与刻意的氛围检查配对——以便每一行代码在上线之前都得到它应有的审查。

4、为AI生成的代码构建现代SBOM

对于开源代码,信任是公共的。你可以更容易地追踪依赖关系和决策。而AI则用透明度换取便利。过去,给定功能的谱系终结于一个人名,现在它停在了AI模型的边界。

专有的、基于Web的模型和编码平台本质上是黑盒。我们不一定知道谁训练了它,使用了什么数据,或者模型借用了谁的逻辑。

我们所知道的只是输出有效……直到它不再有效为止。

为了重新建立问责制,现代软件物料清单(SBOM)不能止步于包或版本。我们现在必须考虑提示词、模型和交互流程。

此外,我们还需要作为程序员具备良好的品味。

以下是为什么这很重要的原因:最近的行业研究发现AI经常重复人类的错误,比如过度注释、重写现有逻辑,以及满足于"够好了"——其实并非如此。AI模仿开发者经验,而没有真正拥有它。

然而,有技能的开发者知道,好的代码是有意图地运作的,并且表现出克制。它是干净的,其创建者理解代码为什么存在。

氛围检查有助于恢复和保持这些本能——同时也保护编码的工艺——帮助校准开发者的内在指南针,超越单纯的速度和简单的表面修复。

而且,正如良好的判断力使代码保持有意图一样,身份安全有助于使代码保持可问责。

5、AI代码开发中的身份安全和可追溯性

虽然品味和判断力很重要,但代码溯源仍然是AI辅助开发中的终极生存策略之一。然而对于AI,将代码追溯到一个已知的来源并不容易。链接经常消失,你也没有一个贡献者社区来验证添加或更改了什么。

这就是为什么对AI生成代码的信任必须来自加密证明。也就是说,为微服务、容器和AI智能体等工作负载提供经过验证的机器身份。通过构建以身份优先的开发流水线,团队可以在启用代码签名、作者可追溯性和意图路径的同时恢复可见性,让你不仅知道什么被部署了,还知道为什么

6、结束语

策略可以引导,护栏可以辅助,但辨别力——构建和部署之间那个微小的停顿——那才是真正的魔法。随着AI的进步,我们必须记住,重要的不是我们能多快地构建,而是我们多么有意识地选择交付什么。


原文链接: Vibe check your vibe code: Adding human judgment to AI-driven development

汇智网翻译整理,转载请标明出处