当前位置: 首页 > news >正文

先搞懂:大部分人理解的 Vibe Coding,本身就是错的

这两年爆火的Vibe Coding(氛围编程),很多人简单理解:“就是用AI帮你写代码”,圈内甚至流传着一句调侃:现在编程门槛越来越低了,你只要会说话,就能写出代码。

现实中,绝大多数人使用AI 编码 的工作流,基本都是这样:

页面正常/接口无报错

异常

拿到需求

丢给AI生成代码

复制粘贴代码

本地运行验证

运行结果?

直接提交合并

操作简单、节奏飞快,短期效率肉眼可见地暴涨。

但快归快,整套流程却缺失了开发最关键的一环:校验与思考

没人去核对逻辑完整性,没人补全边界判断,没人对齐项目编码规范,更没人排查潜在的性能与异常风险。

我最初接触这类工具时,也被这种 “高效率” 迷惑过。不用再手写重复代码、不用反复抠语法,一度沉浸在 “解放双手” 效率爆增的爽感中,甚至在想:未来编程这件事,是不是真的可以完全交给 AI?

但随着用AI开发的项目越来越多,做的事越来越复杂时,反而慢慢的回归理性。

在我看来,Vibe Coding从来不是 “动动嘴就万事大吉”,它最核心、也最容易被大家忽略的本质,依托 AI 是为了提升编码效率,简化机械的基础编码工作,但还是需要依靠人自身的经验和专业技能才能真正地把控好整体开发质量,而非彻底放弃对代码的学习和掌控

当然这件事,也要分人群来看:零基础、非技术出身的朋友,用 Vibe Coding 确实能跨过编码门槛,不用系统学习编程,也能借助 AI 实现想要的功能,这是工具带来的便利。

但对于技术人来说,千万不能抱有 “有了 AI 就不用学代码” 的想法。AI 可以帮你敲代码,却没法帮你做判断。作为从业者,你必须能读懂代码,能分辨出哪些写法稳妥,哪些逻辑有缺陷。这是人的立身之本。

AI时代,人要做的是驾驭 AI,而不是被 AI 牵着走,人是AI的主人,而不是成为AI的奴隶。

2、AI 只在帮你干活,但并不为正确负责

首先要纠正一个误区:AI 不存在绝对的 “代码正确率”,它有的只是贴合提示词和上下文的拟合率

你可以把它理解成一个强大的文本生成器,它不会真正理解需求背后的业务逻辑。

它写代码的逻辑很简单:根据你给的上下文、指令描述,再依托海量训练数据,拼凑出一段语法规整、看起来合理、最贴近 “标准答案” 的代码。它擅长模仿,却做不到真正的思考

也正因如此,它根本不懂你的业务,不知道项目的隐性规则,更不会预判线上的边界场景。

我自己就踩过一个印象很深的坑。之前用 Claude Code 编写订单金额计算逻辑,代码本地运行一切正常,基础的单元测试也全部通过,当时便放松了警惕。

可代码上线后,出现了一个极小概率负数金额的异常情况。事后逐一排查才发现,AI 自动忽略了三类关键场景:入参空值判断、多轮折扣叠加导致的数值溢出,以及浮点运算四舍五入的精度问题。整段代码语法挑不出半点毛病,可核心逻辑却是残缺的。

还有更离谱的AI幻觉:它会编造项目里根本不存在的工具类、废弃的API、错误的数据库字段映射,代码看着工整优雅,实则完全无法落地。

AI编程的本质从来不是「AI替代人写正确代码」,而是人制定规则、把控逻辑、兜底校验,AI承担重复、繁琐、机械的编码工作

所以,永远不要盲目信任 AI 的输出,真正能守住代码质量的,只有我们自己经过校验过的工程体系。

在我看来,Claude Code 这些AI Agent 工具从来不是用来直接产出标准答案的 “代码神器”,它更像一位手脚麻利、执行力拉满,却时常粗心大意的实习生。改需求随叫随到,敲代码速度远超常人,但细节之处总容易出纰漏。

试问在职场里,哪位管理者敢把实习生写的代码,不经审核、不经测试就直接推上线?同理,使用 AI 编程,这份把关的责任,终究要落在开发者自己身上。

3、如何保证AI写出来的代码是对的,几点建议

第一步:定规则约束,从源头降低出错概率

很多AI代码出错,根本不是模型不行,是人给的指令太笼统

刚接触 AI 编程的朋友,往往只会简单交代需求:帮我写一个订单计算的方法。

而熟悉项目、懂得提要求的老司机,会把所有限制条件、业务规则一一说明:帮我写一个订单金额计算方法,要求使用 BigDecimal 计算、保留两位小数;入参存在空值情况,务必做好空值校验;代码要兼容折扣叠加、满减抵扣场景,绝对不能出现负数金额;同时复用项目现有的 utils 工具类,保持和团队一致的编码风格。

当约束越具体、规则越清晰、场景越全面,AI 发挥空间就越小,出错概率也会越低

除此之外,每次让 AI 编码之前,都要做好项目相关上下文同步:项目内已有的工具类、数据表字段定义、全局统一返回格式等。

提前把规则和边界划定清楚,不让 AI 随意发挥,这是把控代码质量最前置、也最有效的一步。

第二步:挑一个性能好一些的模型

AI 编码的质量好坏,除了第一步要建立好规则、约束、把需求说清楚外,模型本身的能力也非常重要。因此有条件的情况下,尽量挑一个性能好一些的大模型。

很多人用 AI 写代码翻车,不是自己提示词写得差,而是直接用了能力偏弱的模型。弱模型哪怕你需求写得再细、约束给得再全,它理解不到复杂业务、梳理不清多层逻辑、记不住上下文细节,最后依然写出残缺、漏判、甚至自相矛盾的代码。

我个人长期使用 Claude Code 的真实感受是:规则决定下限,模型决定上限。

所以:能用好模型,尽量用好模型。

但从成本的角度考虑,也要视任务来定,比如日常普通开发,用国产大模型比如GLM-5.2 或 DeepSeek V4 这些基本就能轻松搞定了;但对于一些核心业务、复杂模块逻辑,我一般会切换更强的模型来生成(比如Claude Opus 4.7)。

第三步:让AI帮你搞定80%工作,剩下20%人来盯

以前写代码,80%时间敲键盘,20%时间思考逻辑;

现在用AI写代码,我20%时间校对优化,80%时间专注业务、架构、边界、性能、安全。

这才是AI编程的正确打开方式。

这是整个流程里非常关键的一步,也是拉开普通使用者和专业开发者差距的地方。

很多人存在误区,觉得代码能编译、本地能跑通,就万事大吉了。可现实是:语法正确,仅仅是最基础的要求。

一段能上线的代码,不仅要逻辑通顺,还要全面覆盖边界场景,同时兼顾性能与安全。

我不会逐行看工具方法、循环遍历这类基础代码,但核心业务逻辑、数据流转、判断分支、异常捕获,会进行审核确认。

对此我的建议和自己做法是:AI写完代码和测试用例,自测通过后,我还会让AI初审一轮,解决七七八八后,最后再由人工审核确认核心逻辑。

第四步:沙箱 / 测试环境验证,模拟真实运行

经过前面三轮校验,代码已经相对稳妥,但最后还需要落地实测,避免纸上谈兵。

所有 AI 生成的代码,建议先部署到测试环境、沙箱环境中运行验证:

  • 接口代码用 Postman、Apifox 模拟真实请求,核对参数与返回格式
  • 查看完整 SQL 执行语句,借助 EXPLAIN 分析执行计划,规避语法错误和慢查询
  • 针对复杂逻辑,模拟线上高并发、大数据量场景做压力测试

走完这四步,Claude Code写的代码,正确率、稳定性就能远超大多数人工随手写的代码。

4、AI时代,最大的误区:把工具当能力

回到上面知乎问题,其实面试官想要的答案,从来不是一套校验代码的技术流程。

他想考察的,是你的职业认知

现在很多程序员的焦虑,完全源于认知错位:

误以为会用AI写代码,就是能力提升;误以为AI能搞定一切,自己就可以放弃思考。

真正的现状是:AI干掉的是“只会搬砖的程序员”,成就的是“懂逻辑、懂业务、懂兜底的程序员”。

Vibe Coding的快乐是真的,高效是真的,但隐患也是真的。

靠感觉编程,短期爽感拉满,长期只会废掉自己的逻辑思维和工程严谨性。一旦遇到复杂业务、线上故障、疑难问题,只会束手无策。

我很认同一句话:AI可以替你写代码,但永远不能替你承担线上故障。

代码出错可以改,思维惰性一旦养成,很难补救。

最后,送给所有在用AI编程的同学

我用Vibe Coding这两年多的最大感悟:

AI降低的是“写代码的体力成本”,提升的是“编码效率”,但丝毫没有降低“工程师的思考成本和责任成本”。

面试官问出这个问题,本质是想筛选出:你到底是工具的使用者,还是工具的奴隶。

只会复制粘贴AI代码的人,迟早会被淘汰;

懂得驾驭AI、校验AI、修正AI,让工具为自己所用的人,会在AI时代越走越远

http://www.jsqmd.com/news/1087419/

相关文章:

  • 为什么文本复制和任意文件复制要分开讨论?
  • UnifiedBus UBS Engine核心引擎:多样性算力管理调度详解
  • NVIDIA Tensor Core混合精度计算与FP8优化实践
  • 极简设计的留白美学:产品功能取舍的工程化决策框架
  • 2.1 java 面试题:并发锁
  • Windows系统清理革命:用开源工具WindowsCleaner彻底解决C盘爆红问题
  • NEAT与HER融合:解决稀疏奖励下神经进化探索效率问题
  • 从RDP漏洞到勒索软件:一次真实应急响应案例的技术复盘与防御实践
  • 中频XL-MIMO系统功耗建模与能效优化实践
  • Agent Runtime 三层解耦:Session日志、无状态Harness与沙箱凭证隔离
  • 终极指南:3分钟解决所有Windows VC运行库问题,告别DLL缺失错误
  • 深度解析msoffcrypto-tool:Python版Office文件加密解密高效方案
  • Perseus原生库补丁:碧蓝航线脚本无偏移地址修复技术深度解析
  • 3分钟搞定OFD转PDF:免费开源神器使用全攻略
  • PHP文件包含漏洞与伪协议利用:从原理到实战防御
  • 终极指南:mpv_PlayKit懒人包如何彻底改变Windows视频播放体验
  • 跨平台设备标识获取实战:在UniAppX中集成Ba-IdCode-U插件指南
  • witty-ops-cases安全最佳实践:保护诊断数据与系统安全的3个关键点
  • 编程AI幻觉率为何比参数量更重要?Grok 4.20的克制哲学
  • Box86终极指南:在ARM设备上运行x86游戏的完整解决方案
  • SD-PPP:终极Photoshop AI插件,三步让Stable Diffusion触手可及
  • Snap.Hutao:开源原神工具箱,让游戏管理变得如此简单![特殊字符]
  • 瑞萨RA8D1 MCU调试系统:安全认证、寄存器配置与低功耗调试实战
  • 基于HarmonyOS 7.0 跨端开发的自定义字帖生成页面实战
  • 3分钟解锁网易云音乐:ncmdump终极解密指南
  • 零基础学习cJSON 源码详解与应用 (四)cJSON_Parse();解析json字符串
  • 如何在Windows 10/11上完美使用PS3手柄:DsHidMini虚拟HID驱动完全手册
  • 3步搞定!让Windows老游戏在Win10/11完美运行的终极DirectX兼容解决方案
  • 3步搞定!终极指南:用EdgeRemover彻底卸载Windows Edge浏览器
  • 如何免费解锁《极限竞速:地平线》的完整修改功能:终极Forza Mods AIO使用指南