写作现场:2025 年 5 月 16 日。 Andrej Karpathy 在 2 月提出 Vibe Coding,用来描述一种近乎不阅读代码的开发方式:通过自然语言提出需求,观察结果,继续修改,错误也交给模型处理。当天 OpenAI 发布 Codex;此前 Claude Code 已进入终端。需要区分的是,Vibe Coding 是一种低验证工作模式,而不是所有 AI-assisted engineering 的统称。
从代码生成到任务执行
传统代码补全在开发者当前编辑位置预测后续文本,控制流仍由人组织。coding agent 接收更高层任务,读取仓库、修改多个文件、运行命令和测试,再返回 diff、日志或结果。
Codex 为任务准备隔离云端环境,并支持并行任务;Claude Code 更贴近本地终端和现有仓库。两者在本文日期都处于早期阶段,发布材料无法证明其在大型代码库、长时间任务和高风险部署中的稳定性。
Vibe Coding 将生成与验证进一步解耦。用户主要检查外部行为,不持续检查实现:
自然语言意图
→ 模型生成或修改代码
→ 运行结果
→ 根据可见现象继续提示
该循环适合低风险、可丢弃的原型,因为反馈快、失败成本低。它不适合仅靠界面现象验证权限、并发、数据迁移、依赖供应链和异常恢复。程序“能运行”只能覆盖一条观测路径,不能证明未执行分支和隐含状态正确。
AI-assisted engineering 则保留显式责任链:人审查 diff,测试覆盖关键不变量,部署有审批与回滚,生成代码和手写代码遵守同一质量门槛。两种方式都使用模型,差别在验证者是否理解并承担结果。
生成成本下降后的责任转移
coding agent 可以降低第一版实现的成本,使设计师、研究者、小商户和领域专家把小需求转成可运行原型。过去因预算不足而不会启动的软件,可能获得一次低成本验证机会。
与此同时,成本并没有消失,而是从输入代码转移到以下环节:
- 将模糊需求转换为可测试约束;
- 审查依赖、权限、数据流与生成 diff;
- 建立单元、集成和端到端测试;
- 处理部署、监控、安全更新和数据迁移;
- 在模型或维护者更换后继续理解系统。
生成速度越高,未经理解的代码、依赖和凭据使用也会更快积累。对于收集个人数据、处理付款或被他人长期依赖的软件,代码所有权最终表现为事故响应和维护义务,而不是仓库归属。
合理分界不是“会不会编程”,而是风险是否允许只做行为抽查。页面原型、一次性数据处理和个人脚本可以容忍 Vibe Coding;认证、账务、权限和生产基础设施需要可检查实现与明确责任人。coding agent 扩大了能创建软件的人群,但不会替代系统边界、验证方法和长期维护能力。
时间边界与来源
- Andrej Karpathy:提出 Vibe Coding(2025-02-02)
- Anthropic:Claude 3.7 Sonnet and Claude Code(2025-02-24)
- OpenAI:Introducing Codex(2025-05-16)
信息边界:本文停在 2025 年 5 月 16 日。Codex 刚进入研究预览,Claude Code 仍处于早期阶段;不使用后来的事故、用户规模或产品成熟度证明当日判断。