给文科生的 Vibe Coding 上手指南:我们离把想法变成现实,还差多远?

我不知道你是不是也这样。
脑子里总有那么一堆想法,不大不小。可能是一个能记录自己奇思妙想的私人网站,一个可以和朋友分享书单的小工具,或者一个帮你自动整理读书笔记的程序。
想法很酷。但下一步呢?
下一步是代码。是 Python、JavaScript、React、数据库、服务器……这些词像一堵高墙,冰冷、坚实,上面刻着“非请勿入”。学编程?当然想过。打开教程,从 hello world 开始,然后是变量、函数、循环……学到一半,看着满屏的符号,感觉自己像是在破译外星人的电报。热情被一点点磨掉,最后只剩下一句“我可能真的不是这块料”。
于是,那些闪着光的想法,就真的只是想法了。它们被记在备忘录里,丢在聊天记录里,最后消失在时间的尘埃里。
这感觉,挺无力的。
但最近,我听到一个新词,一个让我感觉那堵墙好像松动了的词:Vibe Coding。
这个概念是 2025 年初由计算机科学家 Andrej Karpathy 提出的。他是一个在 AI 领域非常有分量的人物,曾经是特斯拉的 AI 总监,也是 OpenAI 的创始成员之一。他说出的话,整个科技圈都会竖起耳朵听。
当 Vibe Coding 这个词刚出来的时候,我承认我有点懵。又是一个技术圈的时髦黑话?但当我深入了解之后,我发现,这东西可能真的不一样。它不是要让你成为一个专业的程序员,也不是什么能一键生成 APP 的魔法。
它更像是一种全新的对话方式。
一种我们这些“门外汉”终于可以和机器进行有效对话的方式。
它的核心理念简单粗暴:“code first, refine later.”
先搞出代码,再慢慢优化。
这听起来像是废话,写代码不都这样吗?不,重点在于“搞出代码”的这个“搞”字,变了。以前,这个“搞”字意味着你得一个字符一个字符地敲,得懂语法,懂逻辑,懂框架。现在,这个“搞”字更接近于“描述”。
你用我们最擅长的方式——自然语言,去描述你的想法。然后,一个极其强大的 AI 助手,会像一个虽然没啥创造力、但手速快到飞起的实习生,迅速把你的描述变成一堆看起来能用的代码。
这堆代码可能很粗糙,甚至有 bug。但它是一个看得见、摸得着的起点。一个“半成品”。
然后,你的工作就从“从零开始的建造者”变成了“手握图纸的监工”。你看着这个半成品,开始提要求:“这个按钮颜色不对,换成蓝色。” “用户点击这里之后,应该弹出一个感谢窗口。” “数据要存起来,下次用户进来还能看到。”
你继续用自然语言和它对话,它就继续修改代码。一次又一次,这个半成品在你的“指点”下,离你脑子里的最终形态越来越近。
这不就是我们最擅长的事情吗?沟通、反馈、提炼需求、调整方向。我们可能不会砌墙,但我们知道一堵墙应该砌在哪里,砌多高,用什么颜色的砖。
Vibe Coding,就是给了我们一个能听懂我们说话的“建筑队”。
当然,这个“建筑队”不是凭空出现的。它背后是这几年发展得近乎疯狂的大语言模型。它们阅读了互联网上几乎所有的公开代码,学习了人类是如何用各种编程语言构建软件的。所以,当你用自然语言描述需求的时候,它其实是在它浩瀚的知识库里,找出了最匹配你描述的那些代码片段,然后把它们“缝合”在一起。
这带来了一个巨大的改变:编程的门槛,虽然没有消失,但被肉眼可见地降低了。重点不再是记住那些繁琐的语法规则,而是如何清晰地表达你的意图,如何将一个大问题拆解成一个个 AI 能理解的小任务,以及如何在 AI 给出的结果之上进行批判性的思考和调整。
这听起来是不是有点熟悉?这不就是我们写文章、做研究的思路吗?
最近 Y Combinator(美国最顶尖的创业孵化器)公布的一个数据让我很震惊:他们当前批次里,有四分之一的初创公司,其代码库几乎完全是由 AI 生成的。这意味着,很多创业者正用 Vibe Coding 的方式,在几个星期甚至几天之内,就把一个想法变成了一个可以面向市场的产品原型(MVP),去验证他们的商业模式。
速度快得吓人。
所以,这篇文章,我想把 Ve Coding 这件事掰开揉碎了,用我们能听懂的方式聊一聊。它不是什么技术神话,它有它的巨大局限性。但它确实也是一个前所未有的机会,一个让我们这些“局外人”能够亲手把想法变成现实的工具。
这堵墙,或许我们还翻不过去。但 Vibe Coding,给了我们一个在墙上凿个洞的锤子。
想让 AI 给你盖房子?你得先懂点“建筑学”
好了,现在我们知道,可以指挥 AI 这个“建筑队”了。但问题来了,如果你连“地基”、“承重墙”、“屋顶”这些基本概念都不知道,你怎么跟施工队沟通呢?
你说:“给我盖个好看的房子。”
施工队(AI)可能就地给你盖个茅草屋。因为“好看”这个词,它没法理解。你需要更具体的指令:“我要一个两层楼的房子,带一个朝南的阳台,地基要用水泥,墙体要用红砖。”
你看,你需要懂一点“建筑学”的黑话。
写一个网站或者 APP 也是一个道理。在我们开始用 Vibe Coding “动嘴”之前,我们需要了解一个现代网络应用最基本的“建筑结构”。不懂这个,你和 AI 的对话就会像隔着毛玻璃聊天,谁也看不清谁。
别怕,这部分内容听起来吓人,但说白了就三层,跟盖楼差不多。我会用一个我们都熟悉的场景——去餐厅吃饭——来打比方。这个比方不一定 100% 精准,但足够帮你理解核心思想了。
这个结构通常被称为“三层架构”:前端(Front-end)、后端(Back-end),以及一个夹在中间的叫 中间件(Middleware) 的东西。
前端:餐厅的大堂和菜单
你走进一家餐厅,首先看到的是什么?
是餐厅的装修风格、桌椅的摆放、墙上的画、你手里拿到的那本设计精美的菜单。你可以在这里选座位,可以招手叫服务员,可以在菜单上指指点点。
这就是前端。
前端,也叫客户端(Client-side),就是用户能直接看到和交互的一切。你打开一个网站,看到的页面布局、按钮、图片、文字,点击按钮后的动画效果,填写表单的输入框……这些都是前端的范畴。
- HTML 就像是餐厅的结构:哪里是桌子,哪里是椅子,哪里是门,哪里是窗。它负责搭建页面的骨架。
- CSS 则是餐厅的装修和设计:墙刷成什么颜色,桌布用什么材质,菜单上的字体大小和样式。它负责美化页面,让它看起来赏心悦目。
- JavaScript (JS) 就像是餐厅里那位机灵的服务员。你对着菜单指了一下“我要这个”,服务员(JavaScript)就会记录下你的选择,然后跑到后厨去下单。你点击一个按钮,页面弹出一个对话框,这也是服务员在响应你的操作。它负责让整个餐厅(页面)“活”起来,响应你的各种动作。
所以,当你在跟 AI 描述你的需求时,如果涉及到用户能看到和摸到的部分,你就是在描述前端。比如:
- “我想要一个导航栏在页面顶部,上面有‘首页’、‘关于我’、‘联系方式’三个链接。”(这是在描述 HTML 结构)
- “整个页面的背景色用深灰色,字体用白色,要看起来简洁高级。”(这是在描述 CSS 样式)
- “当用户的鼠标移动到图片上的时候,图片要有一个放大的效果。”(这是在描述 JavaScript 的交互)
现在很多前端开发会用一些叫“框架”的东西,比如 React、Vue.js。你不需要懂它们具体怎么写,但可以把它们理解成一种更高级的“预制板”装修方案。比如一个叫“豪华欧式风”的装修方案,里面已经预设好了水晶灯、雕花桌椅该怎么组合。你用了这个方案,就能更快地搭出一个漂亮的餐厅,而不用从零开始设计每一张椅子。
总之,记住,前端 = 用户看得见、摸得着的部分。
后端:神秘的后厨
你在餐厅大堂点了单,服务员拿着单子跑进了你看不见的一扇门里。那扇门背后,就是后厨。
那就是后端。
后端,也叫服务器端(Server-side),是整个应用的大脑和动力核心。它在你看不到的地方,默默处理着所有的核心业务。后厨里,厨师们正在根据你的订单进行各种复杂的操作:从冰箱(数据库)里拿出食材,洗菜、切菜、炒菜(业务逻辑处理),最后把做好的菜品交给服务员。
后端主要负责几件大事:
- 处理业务逻辑:比如,一个电商网站,用户下单购买一件商品。后端就要负责检查库存够不够、计算商品总价、优惠券能不能用、生成订单号等等。这些复杂的计算和判断,都在后端完成。
- 跟数据库打交道:你注册一个网站的用户名和密码,这些信息总得有个地方存起来吧?这个地方就是数据库。数据库就像后厨那个巨大的储藏室和冰箱,分门别类地存放着所有的食材(用户数据、商品信息、文章内容等)。后端负责把数据存进去、取出来、修改它、删除它。常见的数据库有 MySQL、MongoDB 等等,你只需要知道它们是“仓库”就行了。
- 提供数据给前端:前端的菜单上为什么会有“今日特价:波士顿龙虾”?因为后厨告诉它今天的特价菜是这个。前端页面展示的所有动态内容——比如你的用户名、你的购物车里的商品列表、最新的新闻标题——几乎都是后端从数据库里取出来,然后传递给前端去展示的。
所以,当你的需求涉及到数据存储、复杂计算、或者一些“幕后”操作时,你就是在描述后端。比如:
- “我需要一个用户注册功能,用户可以用邮箱和密码注册。我需要把他们的信息存起来。”(这是在描述后端的数据库操作)
- “当用户发布一篇文章后,系统需要自动分析文章里有没有敏感词。”(这是在描述后端的业务逻辑处理)
- “我的个人主页上,要能显示我最近发布的三篇文章的标题。”(这是在描述后端从数据库取数据,然后提供给前端)
后端可以用很多不同的语言来写,比如 Java、Python、Go、Node.js。你同样不需要懂怎么写,你只需要知道,当你说“我需要一个功能,它要……”的时候,如果这个功能涉及到底层的数据和逻辑,那就是在跟 AI 描述一个后端需求。
总之,记住,后端 = 用户看不见、但支撑整个应用运行的核心。
中间件:门口的领班和保安
现在,餐厅的结构(前端和后端)有了。但如果来的人太多,一股脑全冲进大堂,或者有人想直接闯进后厨,怎么办?餐厅就乱套了。
这时候,门口那位眼观六路、耳听八方的领班就派上用场了。他会检查你的预约(认证),告诉你你的座位在哪里(请求转发),如果人太多了,他会让你在外面排队等一会儿(流量控制)。他甚至像个保安,阻止非餐厅客人的人混进去(安全)。
这个角色,就是中间件(Middleware),有时候也叫 API 网关(API Gateway)。
它像一个交通警察,站在前端和后端的十字路口,指挥着来来往往的数据流量。
前端(服务员)每次去后厨(后端)下单,都不是直接闯进去喊的。他要把订单递给后厨门口的一个专门的传菜员(中间件),这个传菜员会先检查一下订单写得规不规范,然后才递给对应的厨师。
中间件的核心工作包括:
- 身份验证:你是谁?你登录了吗?你有没有权限访问这个功能?比如,你必须登录了才能查看自己的订单,但可以不登录就浏览商品。这个“检查你是否登录”的动作,通常就在中间件这一层完成。
- 请求路由:前端发来了十几个不同的请求,有的要去 A 厨师那里(比如获取用户信息),有的要去 B 厨师那里(比如获取商品列表)。中间件负责把这些请求准确地分发到后端正确的处理单元。
- 安全防护:防止一些恶意的网络攻击,比如黑客在短时间内发送海量的请求,想把你的后厨(服务器)给挤爆。中间件就像一个过滤器,可以把这些异常的请求挡在门外。
- 日志记录和监控:记录下来每一次的请求信息,方便之后出了问题可以追溯。就像领班会记下今天来了多少客人,哪个桌消费最高一样。
中间件的概念可能有点抽象。在 Vibe Coding 的初期,你甚至可能不太会直接和它打交道。AI 助手通常会帮你处理好这些基础设置。
但你心里要有这么个概念。当你想到“我这个应用需要用户登录才能用”、“我得防止别人恶意攻击我的网站”这类需求时,你脑子里就要亮起一盏灯:哦,这部分大概是属于“中间件”的范畴。
好了,“建筑学”速成课就到这里。我们再快速回顾一下这个餐厅的比喻:
- 前端:餐厅大堂,你吃饭和点菜的地方。
- 后端:后厨,你看不到但负责做菜的地方。
- 中间件:门口的领班,负责维持秩序和沟通内外。
这三个东西合起来,就构成了一个完整的餐厅(Web 应用)。服务员(JavaScript)在大堂(前端)接到你的点单(用户操作),通过领班(中间件)把菜单传到后厨(后端)。厨师(后端逻辑)从冰箱(数据库)里拿出食材,做好菜,再由服务员端回你的餐桌(返回数据给前端展示)。
这个流程,就是一次经典的前后端交互。
理解了这个模型,你和 AI 的沟通就会清晰很多。你不再是那个只会说“给我盖个房子”的门外汉,而是可以提出具体要求的人。
比如,你想做一个简单的博客网站,你可以这样和 AI 描述:
- 前端需求:“我要一个网站,包含三个页面:首页、文章详情页、关于我。首页用列表展示所有文章的标题和发布日期。点击标题可以进入文章详情页,看到全文。整个网站风格要极简,黑白灰配色。”
- 后端需求:“我需要一个后台管理功能,让我可以登录进去写新文章、修改和删除旧文章。我写的每篇文章,都要保存到数据库里,包括标题、内容和发布时间。”
- 中间件需求(可能隐含):“后台管理功能必须输入正确的用户名和密码才能进入。”
看,当你把脑子里的想法,用“前端”、“后端”、“数据库”这些词汇重新组织一遍之后,你的需求就从一个模糊的“Vibe”,变成了一个可执行的蓝图。
AI 这个超级实习生拿到这样的蓝图,才能真正开始干活。
开工!Vibe Coding 的真实操作流程长啥样?
理论说得再多,终归要上手试试。
Vibe Coding 的工作流程,就像是和一个虽然任劳任怨但脑子不太灵光的 AI 反复拉扯。IBM 把它总结成了四个步骤,我觉得挺经典的。但我们不用那么官方的说法,我把它翻译成更像人话的版本。
它更像一个“对话-生成-反馈-修正”的循环。
第一步:选个称手的工具,然后开始“许愿”
首先,你得有个地方和 AI 对话。这个地方就是所谓的 AI 编程助手平台。后面我们会简单介绍几个,比如 Cursor、Claude Code 等。你可以把它们想象成一个自带 AI 助手的 Word 文档,只不过里面写的是代码。
选好工具后,就进入了最关键也最需要技巧的一步:定义需求,也就是我说的“许愿”。
你得把你的想法,用清晰、明确、无歧义的自然语言告诉 AI。这一步的质量,直接决定了 AI 生成的初始代码有多靠谱。
“清晰”不等于“专业”。你不需要用程序员的术语,但你必须告别模糊。
举个反例。如果你说:
“帮我做一个很酷的个人网站。”
AI 绝对会一脸懵逼。什么是“酷”?是赛博朋克风,还是小清新风?它不知道。大概率会随便给你生成一个最平庸的模板。
一个好的“许愿”应该是这样的:
“我想创建一个单页式的个人作品集网站。
- 整个页面采用深色主题,背景色是
#1a1a1a,主要文字颜色是#f0f0f0。- 页面顶部是一个居中的大标题,写着我的名字‘张三’,下面有一行小字‘一位热爱生活的摄影师’。
- 标题下方是一个网格布局,用来展示我的摄影作品。一排展示三张图片。
- 每张图片下面,当鼠标悬停的时候,要显示这张图片的标题。
- 页面最底部,需要有我的社交媒体链接,包括 X 和 Instagram,用小图标显示就行。”
看到区别了吗?
第二个版本的描述,几乎把前端页面的 结构 (HTML)、样式 (CSS) 和 交互 (JavaScript) 都说清楚了。它把一个大的、模糊的“酷的网站”,拆解成了一系列具体、可执行的小任务。
这就是 Vibe Coding 的第一个核心能力:将想法“语言化”和“结构化”的能力。
你给 AI 的提示词 (Prompt) 越有效,它吐出来的第一版代码就越接近你的预期。别怕啰嗦,细节越多越好。颜色代码、字体大小、边距、甚至是动画效果,你都可以直接描述。
第二步:拿到 AI 的第一稿,别抱太高期望
当你按下回车,AI 就会开始“表演”了。它会以惊人的速度生成一大堆代码。可能是 HTML、CSS、JavaScript 的混合体,也可能是 Python 或其他后端语言。
这就是 “code first” 的体现。你拿到了一个起点。
对待这个起点,心态要放平。它很可能不完美,甚至可能直接报错。
有时候它会理解错你的意思。你要个网格布局,它可能给你个列表布局。你要的深灰色背景,它可能给了你个纯黑色。
有时候它会“偷懒”。你要一个“点击按钮保存数据”的功能,它可能只画了一个按钮,但完全没有写点击之后该干嘛的后端逻辑。
这很正常。记住,你面对的不是一个天才程序员,而是一个手速飞快但有点敷衍的实习生。他的任务是快速给你一个“毛坯房”,而不是精装修的豪宅。
你的工作,从这一刻才真正开始。
第三步:开始漫长而有趣的“返工”拉锯战
现在,你有了毛坯房(初始代码),也知道自己想要什么样子的精装房(最终目标)。接下来就是 Vibe Coding 最核心的环节:优化和迭代。
也就是对着 AI 不断地提修改意见。
这个过程非常像和一个设计师或者装修师傅沟通。你指着墙说:“这里颜色太深了,浅一点。” 指着门说:“这个门把手不好看,换个圆的。”
在 Vibe Coding 的世界里,你的操作是这样的:
-
运行代码,观察结果:大部分 AI 编程工具都提供了预览或运行功能。你先看看 AI 生成的东西长什么样,和你想象的差距有多大。
-
找到问题,描述问题:
- “那个顶部的标题太靠上了,给它加一点上边距。”
- “图片之间的间距太小了,看起来很挤,把间距调大一倍。”
- “我点击社交媒体的图标,没有任何反应。我希望点击 X 图标后,能在一个新标签页里打开我的 X 主页。”
- (对于更复杂的功能)“我刚才试了一下注册功能,输入了不合法的邮箱地址,比如 ‘abc’,它居然也提示注册成功了。你需要加一个验证,确保用户输入的是一个有效的邮箱格式,比如
name@example.com。”
-
AI 根据你的反馈,生成修改后的代码:它可能会给你一整段新代码替换旧的,也可能只给你需要修改的那几行。你把它应用到你的项目里。
-
重复以上步骤:再次运行,再次观察,再次提意见。
这个循环会一直持续下去。可能要十几次,甚至几十次。每一次循环,你的产品就离完美更近一步。
这个过程非常有意思。你会发现,你慢慢地开始能看懂一些代码了。比如,你提了三次修改颜色的需求之后,AI 每次都去改一个叫 background-color 的地方,你大概就猜到,哦,原来这个就是控制背景色的。
你不需要系统地学习编程,但在这个“你说我改”的过程中,你会潜移默化地吸收很多零碎的知识。你的“代码语感”在不知不G觉中就培养起来了。
这就是 “refine later” 的精髓。它是一个探索、学习和创造并存的过程。
第四步:最终审查和“剪彩”
经过无数轮的“返工”之后,总有一个瞬间,你看着屏幕上的成果,心想:“嗯,差不多就是这个意思了。”
你的网站看起来不错,功能也都能正常工作。
这时候,就到了最后一步:最终审查和发布。
虽然 AI 帮你做了 90% 的工作,但最后的把关人必须是你。你要像一个最挑剔的用户一样,把所有功能都点一遍,把所有页面都看一遍。
- 链接都有效吗?
- 在手机上打开,会不会排版错乱?(可以提需求:“帮我把这个页面做成响应式的,确保在手机上也能正常显示。”)
- 注册流程顺畅吗?有没有什么奇怪的提示?
这一步强调的是人类的监督和批判性思维。AI 是工具,不是神。它会犯错,会偷懒,会留下隐患。绝对不能盲目信任它生成的一切。
确认无误之后,就剩下“发布”(Deployment)了。这一步的技术性比较强,简单来说就是把你的代码部署到一台服务器上,让全世界的人都能通过一个网址访问到它。
对于这一步,你同样可以求助 AI:“我写好了一个网站,现在想把它发布到网上,我该怎么做?” AI 会给你一些主流的部署方案和步骤,比如使用 Vercel、Netlify 或者 GitHub Pages 这样的平台。这些平台现在也做得越来越自动化,很多时候只需要你关联一下代码仓库,点几下按钮就行了。
至此,从一个模糊的想法,到一个上线的网站,整个 Vibe Coding 的流程就走完了。
回过头看,这个流程的核心,其实是你——那个提出想法、定义需求、评估结果、持续修正的“总设计师”。AI 只是你手下那个效率高得离谱的执行者。
真正有价值的,是你脑子里的“Vibe”,和你把这个“Vibe”翻译给机器的能力。
一盆冷水:Vibe Coding 不是万能药,这些坑你必须知道
好了,我能感觉到你可能已经有点兴奋了。感觉自己手握神兵利器,准备大干一场。
等一下。
在冲进战场之前,我必须得给你泼一盆冷冷的水。因为如果抱着不切实际的幻想去使用 Vibe Coding,你大概率会摔得很惨。
Vibe Coding 不是魔法,它更像一把双刃剑。用好了,效率倍增;用不好,会制造出一堆让你头皮发麻的灾难。
我在探索这个新范性的过程中,踩过不少坑,也看到了很多关于它的局限性的讨论。这些“丑话”,我们必须说在前面。
1. 复杂和创新的天花板
Vibe Coding 最擅长的,是“缝合”那些人类已经写过无数遍的、有固定模式的功能。比如一个用户登录系统、一个博客文章列表、一个电商网站的购物车。因为 AI 在训练的时候,看过海量的这类代码,它知道“套路”是怎样的。
但如果你的想法非常新颖,市面上几乎没有先例,那 AI 就抓瞎了。
这就像让一个只会临摹、但毫无创作能力的画手去画一幅《星空》。他没见过,也理解不了。他可能会从他看过的几万幅画里,东拼西凑一些元素——一片天、几颗星、一棵树——然后给你一个四不像的东西。
对于真正复杂的、底层的、需要创新算法的系统,Vibe Coding 目前还无能为力。你不可能靠和 AI 对话,就设计出一个新的分布式数据库,或者一个全新的视频编码算法。
所以,用 Vibe Coding 来快速搭建一个应用原型,验证市场,完全没问题。但如果你想做一个技术壁垒极高、前无古人的产品,它可能帮不上太多忙。它的天花板,就是人类现有代码知识的总和。
2. “意大利面条式”的代码灾难
这是目前 Vibe Coding 最被人诟病的一点:代码质量。
AI 生成的代码,很多时候只追求“能运行就行”,完全不考虑代码的可读性、结构和未来的可维护性。它写出来的东西,常常被程序员们戏称为“意大利面条式代码”(Spaghetti Code)。
什么意思?就是所有的逻辑都缠绕在一起,像一盘搅不清的意大利面。你看不到清晰的脉络,找不到哪根面条是管什么的。
短期来看,这盘面条能吃(程序能运行)。
但长期来看,这是个灾难。
半年后,你想给你的网站加一个新功能。你打开 AI 生成的这坨代码,会发现自己一个字都看不懂。你想让 AI 帮你加?AI 可能也懵了,因为它自己上次是怎么把这盘面条搅和出来的,它也忘了。它可能会选择最暴力的方式:再搅一坨新的面条进去。
结果就是,这个代码库越来越乱,越来越脆弱,直到有一天,你改了一个针尖大的地方,整个网站就莫名其妙地崩溃了。
而且,更要命的是调试(Debugging)。当一个由意大利面条代码构成的复杂系统出了问题,想找到 bug 在哪里,简直是大海捞针。每一根面条都有嫌疑,你不知道从何下手。
所以,一个残酷的现实是:完全由 AI 生成、没有经过人类专家重构和优化的代码,几乎不可能支撑一个需要长期迭代和维护的大型应用。 它只适合“短平快”的项目。
3. 难以察觉的安全漏洞
AI 在安全方面,有时候像个天真的孩子。
它只想着如何最快地实现你要求的功能,但很少会去考虑这个实现方式会不会有什么安全隐患。
比如,你让它做一个“用户上传头像”的功能。它可能会写出一段代码,允许用户上传任何类型、任何大小的文件。结果,黑客就可以上传一个恶意脚本文件到你的服务器上,然后执行它,盗取你所有用户的数据。
一个有经验的程序员,在写这个功能的时候,会下意识地加上很多安全检查:检查文件类型是不是图片、检查文件大小有没有超标、对文件名进行处理防止攻击……这些都是在无数次血泪教训中总结出来的“最佳实践”。
但 AI 可能会忽略这些。它不知道人心的险恶。
当然,你可以明确地告诉 AI:“我需要你在上传文件的时候,加上安全检查。” 它也能做。但问题是,作为一个新手,你可能根本就不知道这里存在安全风险,也就想不到要去提这个要求。
这就成了一个“未知的未知”。你不知道自己不知道什么。
所以,完全依赖 Vibe Coding 开发,尤其涉及到用户数据和金钱交易的应用,无异于在裸奔。人类的监督,尤其是有经验的开发者的审查,是绝对不可或缺的。
总结一下这盆冷水
Vibe Coding 不是银弹。它的光鲜外表之下,隐藏着不少陷阱:
- 它有能力天花板,搞不定真正复杂和创新的任务。
- 它会产生低质量的代码,给未来的维护和调试埋下巨雷。
- 它可能留下你意识不到的安全漏洞。
认识到这些局限性,不是为了劝退你,而是为了让你能更理智、更清醒地使用这个工具。
把它当成一个给你打下手的超能实习生,而不是一个可以全权委托的 CTO。你可以让它帮你快速盖起一座毛坯房,但房子的结构设计、水电线路的规划、以及最终的质量验收,必须牢牢抓在你自己手里。
一、冷静一点:为什么 Vibe Coding 的成果不适合直接“上线”
你可能刚刚体验了一次酣畅淋漓的 Vibe Coding。
几个小时,甚至几十分钟,一个之前只存在于你脑海里的想法,现在变成了一个可以点击、可以交互的网页或小程序。这种从无到有的创造快感是无与伦比的。你可能会想,既然 AI 这么强大,我是不是可以直接用它来做一个能赚钱的商业项目,或者一个服务成千上万用户的应用?
在这里,我得给你浇一盆不大不小的冷水:千万不要。
至少现在不要。
用 Vibe Coding 的方式生成的代码,非常适合用来做原型验证、学习新知识、或者满足自己好奇心的个人项目。但它绝对,绝对不适合直接放到“生产环境”里。
所谓生产环境,你可以理解为是真实世界。你的代码要开始为真实的用户服务,处理真实的金钱交易,储存真实的用户数据。这是一个严肃的、需要承担责任的场景。就像你在驾校里练习和真正开车上高速公路,是完全不同的两回事。
为什么不行?核心问题只有一个:你对代码的掌握度几乎为零。
AI 生成的代码,对你来说就像一个“黑盒”。
让我用一个可能不太恰当,但很直观的比喻来解释这件事。假设你想拥有一栋房子。
传统的开发模式,就像是你自己从学习建筑知识开始,亲手画图纸,了解承重结构、水电管线的布局,然后一砖一瓦地把房子盖起来。这个过程非常漫长、痛苦,而且需要大量的专业知识。但好处是什么?这栋房子的每一个细节你都了如指掌。哪面墙是承重墙,哪根水管通向哪里,电线的总闸在哪里……你清清楚楚。当有一天,某个房间的灯不亮了,你能够迅速判断,是灯泡坏了,还是线路问题,或者是保险丝烧了。你可以精准地修复它。如果想加盖一层,你也知道地基是否能承受,结构上应该如何加固。
而 Vibe Coding 呢?它更像是在售楼处直接买了一套装修精美的样板间。
你走进这个房子,灯是亮的,水是热的,家电一应俱全,看起来完美无缺。你只需要拎包入住。这太棒了,不是吗?你跳过了所有痛苦的建造过程,直接享受了最终成果。
但问题也随之而来。你并不知道墙体里的水管是怎么走的,你也不知道复杂的电路是如何连接的。你甚至不知道这栋房子的地基有多深,用的是什么标号的混凝土。你只是一个使用者,一个房客。
如果一切顺利,那还好。
但万一某天深夜,卫生间的水管突然爆裂,水漫金山。你怎么办?你连总水阀在哪都不知道。你只能眼睁睁看着水淹没地板,然后打电话给一个你根本不认识的物业(或者说,你只能回去问 AI)。AI 可能会给你一个模糊的建议:“尝试关闭主水源阀门。” 但阀门在哪儿?它被封在哪面墙里了?AI 也不知道,因为它只是“设计”了这个房子,它并没有亲自“住”过。
这就是 Vibe Coding 成果的脆弱性。AI 生成的代码,就像那个精装修的样板间。它能工作,它看起来很美。但它的内部实现对你来说是一个巨大的黑盒。当一个 Bug 出现时——它一定会、而且总是在最意想不到的时候出现——你将束手无策。
你无法快速定位问题。你不知道是输入数据的问题,还是某个函数逻辑的缺陷,或者是它依赖的某个库发生了冲突。你只能像个无头苍蝇一样,把错误信息一遍又一遍地扔回给 AI,期待它能给你一个正确的答案。有时候它能,但更多时候,它会给出一些看似正确但实际上无法解决问题的方案。
更可怕的是,你无法对它进行真正的“维护”和“迭代”。
一个真正的产品是需要不断成长的。今天用户想要一个新功能,明天你需要修复一个安全漏洞,后天你需要为了应对更大的访问量而优化性能。如果你不了解房子的结构,你怎么敢在承重墙上开一扇窗?如果你不理解代码的架构,你怎么敢贸然添加一个核心功能?每一次修改,都可能导致整个“房子”的崩溃。你每一次都战战兢兢,每一次都像在拆一个不知道会不会爆炸的炸弹。
在这种关系里,你成了代码的仆人,而不是它的主人。
所以,我们必须清醒地认识到 Vibe Coding 的边界。
它非常适合这些场景:
- 快速原型验证:你有一个绝妙的点子,但不确定它是否可行。用 Vibe Coding 在一个下午把它做出来,拿给你的朋友们看看,收集反馈。这比你花几个月学习然后从零开始要高效得多。它的使命是在想法被验证(或被证伪)的那一刻就完成了。
- 学习与实验:你想学习一个新的技术,比如 React 或者 Vue。让 AI 给你生成一些基础组件,然后你亲自去阅读、理解、修改这些代码。AI 成为了你的私人教师和代码生成器,你通过“解构”它的作品来学习,这是极好的学习方式。
- 没有历史包袱的个人项目:你想给自己做一个小工具,一个信息聚合器,一个自动化的脚本。这些项目通常是你一个人用,用完即弃,或者功能非常固定,不需要长期迭代。那么用 Vibe Coding 来实现,完全没问题。
但它绝对不适合这些场景:
- 任何商业产品:只要涉及到为他人提供服务,尤其是涉及金钱和敏感数据的,绝对不行。稳定性和可靠性是你无法保证的。
- 需要长期维护的应用:一个打算运营几年、不断添加新功能的产品,必须建立在你完全理解的代码之上。
- 团队协作的项目:如果你的团队里,没有人能真正读懂和掌握 AI 生成的这部分核心代码,它将成为一个巨大的技术黑洞,吞噬掉所有的开发效率。
这并不是说 Vibe Coding 这个工具有缺陷。恰恰相反,它极其强大。但这就像一把锋利的手术刀,你可以用它来做精细的外科手术,也可以用它来割绳子。用它来割绳子,不仅大材小用,而且效果可能还不如一把普通的剪刀。
把 Vibe Coding 当作你思想的延伸,一个帮你快速验证创意的“模拟器”或“加速器”。用它来探索各种可能性,然后,当你找到那个真正值得投入的、让你心动的方向时,请卷起袖子,关掉 AI,从 main 函数的第一行开始,亲手建造你自己的“房子”。
那时候,你才是真正的主人。
二、成为一名好的“沟通者”:对话管理的艺术
和 AI 一起编程,感觉很奇妙。它不像使用一个冷冰冰的工具,更像是在和一个有点古怪、记性不太好但才华横溢的伙伴对话。
你肯定会遇到这样的情况:你和它聊得好好的,任务进展顺利。你让它改一个颜色,它改了;你让它加一个按钮,它加了。然后,你让它“把刚才那个按钮的文字改一下”,它却突然一脸茫然,要么胡说八道,要么把之前一个完全不相关的代码又生成了一遍。
它“失忆”了。
这种挫败感非常真实。这就像你在跟朋友解释一个复杂的事情,讲到一半,他突然问:“我们刚才在说什么来着?”。
要理解为什么会这样,我们需要知道 AI 的一个“小秘密”:它并没有真正意义上的“记忆”。我们和 AI 的每一次对话,都不是一个连续不断的过程。更准确地说,每一次你发送消息,你其实都是在发起一个“全新的”对话。为了让 AI “记住”之前的内容,聊天工具(比如 ChatGPT 的网页)会在你的新问题后面,悄悄附加上一部分最近的聊天记录。
你可以把它想象成 AI 的“短期记忆”只有一个小小的便签本。每次对话,它都会看一眼这个便签本上的内容。当聊天记录越来越长,超出了便签本的容量,最早的内容就会被挤掉、被遗忘。
所以,AI 的“失忆”不是它故意的,而是它工作机制的必然结果。我们的任务,不是去抱怨它记性差,而是学习如何成为一个优秀的“沟通者”,主动去管理这个便签本上的内容,确保最重要的信息始终在上面。
这并不是什么高深的技术,而是一些非常实用的沟通策略。
第一个技巧,也是最重要的技巧:明确地引用,而不是模糊地指代。
这是我们日常口语交流养成的习惯,但和 AI 沟通时,这是个大忌。
AI 刚刚给你生成了三段代码,分别是 A、B、C。
- 糟糕的沟通:“把那个改一下。”(哪个?A、B还是C?)
- 稍好的沟通:“把刚才发的最后一段代码改一下。”(AI 大概率能理解,但如果网络稍微卡顿,你俩对“刚才”的定义可能就不同了。)
- 优秀的沟通:“针对你刚才生成的第三段代码,也就是实现用户登录功能的那一段,我需要做如下修改:把函数名
login改为authenticateUser。”
看到区别了吗?优秀的沟通方式,把上下文的关键信息(“第三段代码”、“实现用户登录功能”)作为“锚点”,重新扔给了 AI。这相当于你主动帮它在便签本上划出了重点。即使它真的忘记了之前的对话,光凭你这一次的输入,它也能理解你要干什么。
所以,尽量避免使用“那个”、“它”、“刚才的”这类模糊的代词。多花几秒钟,把你要操作的对象描述清楚。这会为你省下大量的返工时间。
第二个技巧:进行阶段性的总结,建立“存档点”。
当一个任务比较复杂,需要来回拉扯好几轮对话的时候,失忆的风险会指数级上升。比如,你要做一个包含多个页面的网站。你和 AI 先完成了首页,然后是关于页面,最后是联系页面。等你做完联系页面,想回头微调一下首页的某个细节时,AI 很可能已经把首页长什么样忘得一干二净了。
这时候,一个聪明的做法是主动建立“存档点”。
在你认为一个阶段性工作完成之后,主动对 AI 说:
“很好。我们现在来总结一下目前为止的成果。我们已经创建了一个项目,包含三个文件:index.html,style.css 和 script.js。index.html 包含了一个导航栏和一个欢迎标题。style.css 定义了页面的基本布局和颜色。script.js 实现了点击按钮时弹出一个提示框的功能。你理解了吗?”
最后这个“你理解了吗?”非常关键。它会强制 AI 去阅读、分析并确认你总结的内容。当它回复“是的,我理解了”的时候,这些被你总结的核心信息,就在它的“便aten签本”上占据了一个非常重要且清晰的位置。
这个总结就像游戏里的存档点。当你继续往下推进,或者想要回溯修改时,你可以直接说:“我们回到上一个存档点,针对 index.html 里的导航栏……” 这样一来,AI 就能立刻回到你们都确认过的那个状态,大大降低了沟通成本。
第三个技巧:把最重要的“全局设定”,在每次需要的时候都重申一遍。
有些要求是贯穿整个项目始终的。比如,“所有代码都必须使用 Python 3.10 版本”,“绝对不能使用任何需要付费的第三方库”,或者“所有的用户界面元素都要遵循 Material Design 风格”。
这些“全局设定”太容易被遗忘了。你可能在对话一开始就强调了,但聊了二十轮之后,AI 在便aten签本上已经看不到这条初始指令了。
怎么办?笨办法,也是最有效的办法:在每次你觉得它可能要“犯错”的时候,不厌其烦地提醒它。
“接下来,请帮我写一个数据处理的函数。记住,我们约定了要用 Python 3.10,并且要加上详细的类型提示(Type Hinting)。”
是的,这感觉有点啰嗦,像是在教一个记性不好的孩子。但相信我,这种“刻意的重复”,远比它给你一段完全不符合要求的代码,你再让它重写一遍要高效得多。这就像是给你的对话加上了一个“安全带”。
管理与 AI 的对话,本质上是一种换位思考。你要理解它的局限性,然后用你的沟通技巧去弥补这些局pen限。不要把它当成一个无所不能的神,把它看作一个需要你清晰引导的、强大的工具人。
当你掌握了这些技巧,你会发现,你和 AI 的协作效率会发生质的飞跃。你们的对话不再是充满意外和挫败的拉锯战,而更像是一场配合默契的双人舞,而你,是那个引导舞步的人。
三、成为一名“导演”:上下文工程(Prompt Engineering)入门
聊到这里,我们其实已经触及到了一个在 AI 时代变得越来越重要的技能:上下文工程,或者更通俗的叫法——Prompt Engineering。
这个词听起来非常“工程”,很高大上,对吧?好像是什么需要写代码的复杂技术。
但说白了,它就是研究“如何跟 AI 好好说话”的一门学问。
你可能会觉得,这有什么好学的?我会打字,我就会提问。但事实是,向 AI 提问的质量,直接决定了你得到答案的质量。这是一个“Garbage in, garbage out”(垃圾进,垃圾出)的系统。你给它一句模糊的话,它就还你一堆模糊的代码。你给它一段结构清晰、信息丰富的指令,它才有可能给你一段高质量、可用的代码。
Vibe Coding 的“Vibe”,那种感觉和氛围,很大程度上就是通过高质量的 Prompt 来营造和传递的。你不是在命令它,你是在“启发”它。
那么,一个好的 Prompt 到底长什么样?经过无数人的实践和总结,一个优秀的、用于代码生成的 Prompt,通常包含四个核心部分。你可以把它想象成一个给 AI 的“任务清单”。
1. 背景信息 (Context)
2. 具体需求 (Instruction)
3. 约束条件 (Constraints)
4. 期望输出 (Output Format)
我们来逐一拆解一下,这听起来有点像写作文的要求,但实际上非常实用。
首先是背景信息。 在你提出具体要求之前,先告诉 AI “我们现在在哪里”、“这个故事的前情提要是什么”。如果你不提供背景,AI 只能基于它庞大的、但却泛泛的知识库来猜测。而你的项目,往往是有特定场景的。
- 糟糕的 Prompt(缺少背景):“帮我写一个函数,用来验证用户密码。”
- 好的 Prompt(提供背景):“我正在为一个面向儿童的在线教育网站开发后端,现在需要一个函数来验证用户注册时设置的密码。”
看到区别了吗?仅仅是增加了“面向儿童的在线教育网站”这个背景,AI 在设计密码强度规则时,可能就不会建议那种包含大小写、数字、特殊符号的超复杂密码,而是会倾向于一个更简单、更容易记忆的规则。你给了它舞台,它才能表演得更好。
其次是具体需求。 这部分是你最核心的指令,也就是“你要它干什么”。这里的关键是,要具体、明确,最好是可执行的步骤。
- 糟糕的Prompt(需求模糊):“我想处理一下用户数据。”(怎么处理?处理什么数据?)
- 好的 Prompt(需求具体):“我需要你写一个 Python 函数,它的功能是接收一个包含用户信息的 JSON 字符串作为输入,然后解析这个字符串,提取出其中的
name和email字段。”
如果你的需求很复杂,千万不要试图一句话让 AI 全部搞定。把它拆解成几个更小的步骤,一步一步地引导它。比如,先让它写解析 JSON 的部分,确认没问题后,再让它写数据验证的部分,最后再写存入数据库的部分。这就像教人做一道复杂的菜,你得先教他怎么切菜,再教他怎么调酱汁,最后才教他怎么下锅炒。
第三是约束条件。 这是我认为最能体现 Prompt 水平的部分。你在给 AI 分派任务的同时,也要给它戴上“镣铐”,让它在你的规则范围内跳舞。约束条件越清晰,AI “自由发挥”导致犯错的可能性就越低。
约束可以有很多维度:
- 技术栈约束:“必须使用
FastAPI框架,不要用Flask。” - 代码风格约束:“每个函数都要有符合 Google 风格的文档字符串(Docstring)。”
- 行为逻辑约束:“密码验证函数如果失败,不要直接抛出异常,而是返回一个包含错误信息的布尔值和字符串。”
- 禁止项约束:“在整个代码中,绝对不要使用
for循环,尽量使用列表推导式或map函数。”
这些约束就像马路的护栏,能确保 AI 这辆“跑车”始终在正确的赛道上行驶。
最后是期望输出。 你希望 AI 以什么样的格式把答案交给你?直接给一整段代码?还是用 Markdown 的代码块包起来?需要一个表格来对比不同方案的优缺点吗?还是需要一个 JSON 对象?
- 糟糕的 Prompt(无输出要求):(结束指令,让AI自由发挥)
- 好的 Prompt(明确输出格式):“请将最终的完整 Python 代码放在一个 Markdown 代码块中。在代码之前,请用一个简短的列表总结这个函数的核心功能和使用方法。”
现在,我们把这四个部分组合起来,看一个完整的例子。
假设你想让 AI 帮你写一个处理用户上传头像的函数。
一个典型的、效果不佳的“Vibe 式” Prompt 可能是这样的:
“嘿,帮我写个 Python 代码,处理下用户上传的头像,要把它变小一点,存起来。”
你可能会得到一段代码,但它可能用了你不喜欢的库,尺寸处理方式不对,存储路径也是写死的。然后你就要开始漫长的“不是这样,你再改改”的拉锯战。
而一个经过“上下文工程”设计的 Prompt 会是这样的:
(角色扮演 + 背景信息)
你是一位拥有十年经验的资深 Python 后端工程师,擅长图像处理和系统性能优化。我正在开发一个社交媒体应用的后端服务,使用 FastAPI 框架。现在,我需要处理用户上传的头像图片。
****(具体需求)**
请为我编写一个 Python 函数,命名为process_avatar。这个函数需要接收一个用户上传的图片文件(UploadFile类型,这是 FastAPI 的标准)作为输入。
函数的主要任务是:
- 使用
Pillow库读取这张图片。- 将图片等比例缩放,确保其最长边不超过 500 像素。
- 将缩放后的图片转换为 WebP 格式以优化体积。
- 生成一个基于 UUID 的随机文件名。
- 将处理后的图片保存到服务器的
/static/avatars/目录下。- 函数最终需要返回新生成的文件名。
**(约束条件)
- 必须使用
Pillow库进行图像处理。- 文件名必须是唯一的,推荐使用
uuid4。- 必须添加完整的类型提示(Type Hinting)。
- 在函数开头,请添加文档字符串(Docstring),解释函数的功能、参数和返回值。
- 注意处理可能发生的异常,比如文件格式不支持等,并给出清晰的错误提示。
****(期望输出)**
请直接提供完整的、可以直接运行的 Python 函数代码,并将其包裹在 Markdown 的 Python 代码块中。
这是一个非常“啰嗦”的 Prompt,对吧?你可能觉得写这么一大段东西很麻烦。但相信我,写这个 Prompt 花费的 5 分钟,可能会为你节省接下来一个小时的反复修改和调试时间。
你不再是仅仅在提问,你是在“导演”一场戏。你设定了角色(资深工程师),布置了场景(社交应用后端),给了详细的剧本(具体需求),明确了表演规则(约束条件),甚至还规定了最终要如何剪辑呈现(期望输出)。
当你能熟练地写出这样的 Prompt 时,AI 就不再只是一个给你随机灵感的伙伴,它会变成你手下一个极其高效、精准、而且不知疲倦的“实习生”。
这就是上下文工程的魅力。它不是让你去学习一门新的编程语言,而是让你学习如何成为一个更好的沟通者、一个更好的管理者,一个更好的“导演”。
别想太多,先迈出第一步:给你的 Vibe Coding 之旅一点建议
聊了这么多,从激动人心的可能性,到底层的工作原理,再到冰冷残酷的现实。你可能会觉得信息量有点大,甚至有点不知所措。
这很正常。任何新事物都伴随着兴奋和困惑。
但最重要的事情,永远是开始行动。
我想给你一些非常具体、可操作的建议,一条可能的入门路径。它不一定是最好的,但它或许能帮你平稳地迈出第一步。
1. 心态归零,拥抱“不完美”
这是最重要的第一步。
忘了“我要做一个伟大的产品”这种宏大的目标。也别害怕自己“不懂技术”、“写不出好代码”。
Vibe Coding 的精髓就在于“code first, refine later”。它天然就拥抱不完美,拥抱迭代。所以,请允许你的第一个、第二个、甚至第十个项目,都是笨拙的、简陋的、甚至有点可笑的。
你的目标不是写出优雅的代码,而是把脑子里的想法,“翻译”成一个能动的东西。哪怕它只是一个只有一个按钮的网页,点击之后会说一句“你好”。
这就是一次完整的创造。
这种从无到有的成就感,会成为你继续探索下去的最强燃料。
2. 从一个“玩具项目”开始
别一上来就想搞个大新闻。什么社交 APP、电商平台,先放一放。
找一个对你个人有用,但又足够简单的“玩具项目”。
一些我能想到的例子:
- 一个极简的个人主页:就一页,上面有你的名字、一段自我介绍、几个链接。这是练习前端基础(HTML, CSS)的绝佳项目。
- 一个待办事项列表 (To-do List):一个输入框,一个“添加”按钮,一个列表。你可以试着让它实现添加、删除、标记完成等功能。这个项目能让你初步接触到一点点数据操作的逻辑。
- 一个随机语录生成器:页面上有一个按钮,每点击一次,就从一个预设的语录库里随机显示一条。这会让你体会到 JavaScript 交互的乐趣。
- 一个简单的单位转换器:输入人民币,自动换算出美元。输入摄氏度,自动换算出华氏度。这让你能练习处理用户输入和进行简单计算的逻辑。
为什么从玩具项目开始?因为它足够小,你可以在一两个小时内就看到成果,获得正反馈。它也足够简单,不容易因为挫败感而放弃。
3. 学“黑话”,而不是学“语法”
我还是要强调:你不需要像计算机专业的学生那样,系统地去学一门编程语言的全部语法。
但是,你需要学会 Vibe Coding 的“黑话”。
还记得我们前面聊的“建筑学”吗?前端、后端、数据库、API、用户认证、部署…… 这些词,就是你和 AI 高效沟通的桥梁。
花点时间,去真正理解这些概念代表了什么。你不必知道它们内部怎么实现的,但你必须知道它们是干什么用的,以及在什么时候该提到它们。
当你能清晰地用这些“黑话”来组织你的需求时,你给 AI 的提示词质量会指数级提升。AI 会更懂你,给你的代码也会更靠谱。
怎么学?看一些科普视频,读一些入门文章(就像你正在读的这篇),就足够了。你的目标不是成为专家,而是成为一个“合格的甲方”。
4. 选一个低门槛的工具,然后泡在里面
遇到问题怎么办?
问 AI!
- “我不知道怎么开始我的待办事项列表项目,你能给我一个基本的 HTML 文件结构吗?”
- “这段代码运行报错了,这是错误信息
[...,是什么意思?” - “我想把这个按钮变大一点,该修改哪段 CSS?”
把 AI 当成你的 24 小时私人教师。在这个过程中,你不仅是在完成项目,更是在学习如何与 AI “共舞”。
5. 最终的目标是什么?成为一个“产品创造者”
Vibe Coding 不是要让你转行当程序员。
它赋予你的,是一种新的能力:将想法快速原型化的能力。
你是一个历史系的博士,你构思了一个能将历史事件在地图和时间轴上可视化的工具。过去,你只能写成一份策划案。现在,你可以用 Vibe Coding,花一个周末的时间,搭出一个可以交互的简陋原型。然后你拿着这个原型,去找技术合伙人,或者去申请项目基金。哪个更有说服力?
你是一个热爱美食的博主,你觉得市面上的菜谱 APP 都不好用。现在,你可以用 Vibe Coding,快速实现你脑海中那个最理想的菜谱展示页面,把它部署上线,分享给你的粉丝,收集他们的真实反馈。
这才是 Vibe Coding 对我们这些非技术背景的人,最大的意义所在。它让我们跨越了从“想”到“做”之间那道最深的鸿沟。
它让我们从一个纯粹的想法拥有者,变成了一个可以亲手塑造产品的创造者。
这篇文章很长,感谢你耐心读到这里。
我们聊了 Vibe Coding 是什么,它背后的基本“建筑学”,它的工作流程,它的工具,以及它那些不容忽视的缺点。
我不想神化它,也不想贬低它。它就在那里,像一个刚刚被发掘出来的新大陆,充满了机遇,也遍布着未知的风险。
对于我们这些一直站在技术高墙外的人来说,这无疑是一个激动人心的时代。那堵墙并没有消失,但 Vibe Coding 递给了我们一把锤子和几根凿子。
我们可以选择继续在墙外感叹,也可以选择拿起工具,试着在墙上敲出第一个属于自己的豁口。
这个过程不会一帆风顺,会充满困惑、试错和返工。
但当你看着那个原本只存在于你脑海中的、模糊不清的想法,通过你和 AI 的一次次对话,最终变成一个可以点击、可以交互、活生生的东西时——
那种感觉,无与伦比。
去试试吧。从那个最小的、最不成敬意的玩具项目开始。
世界,或许真的会因此而有点不一样。
更多推荐
所有评论(0)