氛围编程是一种工作模式:用户不经过人工审查,直接接受智能体生成的代码。diff 被视为不透明黑盒——重要的是程序是否按预期运行,而不是内部具体写了什么。自动化审查和自动化检查仍然可以运行;“氛围编程”这个概念本身并不限定两者。
这个术语由 Andrej Karpathy 在 2025 年初提出:你“完全跟着感觉走”,甚至“忘记代码本身的存在”——描述自己想要什么,接受返回的结果,再通过运行效果进行判断。
氛围编程用检查换取速度。阅读 diff 通常是智能体驱动工作中最慢的一步,省去它就移除了主要瓶颈。对于失败成本较低的代码——原型、一次性脚本和内部工具——这可能是合理权衡。风险会随着代码寿命和重要性增长。
代价会在之后出现。氛围编程产生的改动会累积成一个无人真正读过的代码库,而此前只检查了外在行为——凡是行为层面没有暴露的问题,例如秘密信息被写入日志、遗漏边界情况,或悄然错误的数据处理,都会在无人察觉时交付。第一次有人调试系统,也可能是第一次有人真正阅读代码。没有人工审查后,仍在运行的自动化验证——测试、类型检查和自动化审查——就成了代码通过的唯一门禁。
避免:把“氛围编程”当作“低质量 AI 编码”的同义词。这个术语描述的是审查立场,而不是最终代码质量。
用法:
“你读过它对认证流程作出的改动吗?”
“我用氛围编程做的——登录还能用,我只检查了这一点。”
“推送前先读 diff;在认证代码上只凭感觉,秘密信息就是这样泄漏到日志里的。”