六个月前,我写了第一行代码。
不是写的,是指挥 AI 写的。
当时有个朋友问我,Excel 如何转 PPT。
我有点没理解为什么 Excel 表格需要转变成 PPT,后来才知道他只是想标准化地把表格里的内容放到 PPT 的固定的位置,并且能够支持他修改。
我向 AI 描述了这个需求,它给了我一段 Python 脚本,于是我按照它的指导去运行,结果它运行成功了,当然我完全不知道这为什么能成功。
我是个产品经理,但我从来没有真正构建过任何东西。
我总觉得会编程的人和不会的人之间隔了一座山,而我永远站在不会的那一边。
现在我还是完全不懂代码,但是我做的产品它能够跑起来了。
这就是 Vibe Coding:不是学会编程,而是学会“说清楚你要什么”。
"Vibe Coding"直译过来,也许可以叫“感觉编程”或者“氛围编程”。
但这个词的真正含义,不是靠感觉去蒙,而是指一种“非技术人员通过自然语言指挥 AI 完成编程任务”的新工作流。
在 AI 时代,编程的门槛可能不是逻辑和语法,而是语文和沟通。
1. 核心技能不是编程,而是“给实习生派活”
大多数人对用 AI 编程有个根深蒂固的误解:以为至少要先学点 Python 或 JavaScript 的基础才能开始。
这个想法是错的。
Vibe Coding 的核心技能是沟通能力。
你必须把需求描述得足够具体、足够清晰,让 AI 没有任何猜测的空间。
想象一下这两种表达方式的天壤之别:
- • 具体版: “写一个 Python 脚本,读取一个 CSV 文件,检查每一行的邮箱格式是否正确,去掉重复的,输出一个只包含有效邮箱的新 CSV,最后打印处理了多少行、多少无效、多少重复”
前者让 AI 只能靠猜,结果大概率南辕北辙;后者则给了 AI 一份清晰的执行指令,它能精准地完成任务。
这不是编程,这是把需求说清楚。
把 AI 当成一个非常聪明但对你的情况一无所知的实习生。
你不会跟实习生说“去把那个数据处理一下”,你会把任务的每一个环节都交代清楚。对 AI 也应如此。
想把需求说清楚,可以遵循以下框架:
- • 定义输入(Define the Input): 数据的来源、格式、位置。
- • 阐明处理逻辑(Clarify the Processing Logic): 具体步骤、顺序、特殊规则。
- • 明确输出(Specify the Output): 结果的样式、存储位置、摘要信息。
- • 考虑边界情况(Consider Edge Cases): 如何处理空值、错误格式等。
- • 提供示例(Provide an Example): “比如输入是A,我期望的输出应该是B”。
2. 小步迭代,先做出来再优化
我想做一个“X 书签分析器”,功能包括拉取书签、分析内容、按主题分类并生成周报。
我把这个完整需求一次性抛给了 Claude。
结果,得到了一堆看不懂的代码、复杂的 API 调用和接连不断的报错。
在折腾了4个小时后,我放弃了。
于是,我换了一种思路。
- • 第一步: “写一个 Python 脚本,连接 X API,拉取我最近的 100 条书签。” 仅仅如此,10分钟后,脚本跑通了。
- • 第二步: 在此基础上,增加需求:“把每条书签的推文内容提取出来。” 又一个10分钟,成功。
- • 第三步: “按我定义的关键词给它们分类。” 跑通了。
- • 第四步: “把结果保存成按分类整理的 JSON 文件。” 跑通了。
最终,只用了一小时,就做出了一个比之前那个失败版本功能更完善的工具。
这正是软件工程领域被反复验证过的最佳实践。
一个经典的类比是:
- • 错误的造车方式是先造轮子,再造车架,最后组装。在最终完成前,你得到的只是一堆无用的零件。
- • 而正确的方式是,先造一个滑板(能用),再升级成滑板车(更好用),然后是自行车、摩托车,最后才是汽车。 每一步,你都能得到一个可用的产品。
Vibe coding 的迭代原则也是如此:不是每次迭代“一部分功能”,而是每次迭代“一个能跑的小版本”。
这种方式能让你在每一步都获得成功的正反馈,并确保你始终在正确的方向上前行。
3. 让AI主动问你,而不是被动猜你
我试过市面上几乎所有的主流 AI 工具,最终选择固定使用 Claude。
原因并不在于 Claude 写的代码一定更好,而在于一个关键的特质:它会主动提问和澄清。
当你的指令不够清晰时,很多 AI 会直接给出一个它猜测的答案。
而 Claude 常常会反问:“确认一下,你是想要 X 还是 Y?”或者“我假设你的意思是 Z,对吗?”甚至 Claude 会问你:“是想要先跑通一个测试,还是直接完成应用?”
对于不懂代码的人来说,这个小小的差异至关重要。
这些澄清问题能避免你在一个错误的方向上浪费数小时的调试时间。
对于无法轻易在代码中发现逻辑错误的非程序员来说,这能防止他们因为一个最初的错误假设,而陷入长达数小时的无效调试。
更棒的是,这个习惯是可以通过提示词主动培养的,无论你使用哪种 AI 工具。下次你可以试试这样说:
- • “请提供 2-3 个方案让我选择,说明各自的优缺点”
- • “在开始写代码之前,先用自然语言描述你的实现思路”
此外,Claude 还有一个优点,它会主动解释代码的编写思路和选择某个方案的原因。
对于那些希望边做边学的人来说,这些解释比任何在线教程都更有价值。
4. 从一个“烦人”的任务开始,而不是伟大的想法
如果你想尝试 Vibe Coding,请记住:不要从你那个宏大的创业想法或复杂的软件产品开始,那会让你很快陷入困境。
最佳的切入点,是一个你日常工作中经常做、觉得烦、重复性高的任务。
这里有一些绝佳的入门场景:
- • 整理你乱成一团的“下载”文件夹,让脚本按文件类型和日期自动归档。
- • 批量处理格式不统一的 Excel 数据,自动完成清洗、去重和格式化。
- • 自动抓取多个网站的每日更新,并汇总成一份报告发给你。
- • 一键将 Markdown 文件转换成你需要的任何格式。
- • 设置一个自动通知,在某个商品降价或某个博主发帖时提醒你。
- • 批量重命名几百个文件,或给一堆图片自动加上水印。
找到这样一个小任务后,就像对一个聪明人解释一样,把它的输入、处理步骤和期望输出描述清楚。
第一次尝试大概率会失败,这很正常。
关键在于,把报错信息和你的期望结果一起反馈给 AI。
模糊的问题得到模糊的回答,具体的问题一轮就能修好。
反复修,直到能跑。保存。然后加下一个功能。
5. 你的目标不是成为工程师,而是解决自己的问题
Vibe Coding 的真正价值,不是让你转行成为一名软件工程师,而是赋予你独立解决自己问题的能力。
这是一种强大的赋能。
听到一句话:“最好的 AI 产品,用户只有你自己。”
当然啦,因为你自己最了解你自己的需求,你做出来的东西当然对于你来说是最好的产品。
我到现在也不懂自己跑的代码是什么意思。
但我能做出东西来解决我的问题,这比任何证书都有用。
这些工具没有改变世界,但实实在在地为我节省了时间和精力。
当然,我们也必须清醒地认识到它的边界。
- • 适合的场景: 个人自动化工具、一次性脚本、想法原型、不涉及敏感数据的内部工具。
- • 不适合的场景: 金融、医疗等要求高可靠性的系统;需要长期维护和迭代的商业产品;多人协作的大型项目;任何涉及用户隐私和安全的应用。
对于那些复杂的、关键的系统,我们仍然需要专业的工程师。
但对于海量的个人工作流优化和自动化场景,你不再需要一个工程学位,你需要的是清晰的思考和耐心。
写在最后
AI 正在将创造的门槛以前所未有的速度降低。
- • 过去: 将一个想法变为现实,需要跨越编程这座高山;
- • 现在: 关键的能力变成了沟通,需要你清晰地表达你的意图。
这是一种解放。它让更多拥有好想法但没有技术背景的人,获得了将想法付诸实践的力量。
互动话题
现在不妨想一想:你的第一个想要自动化的“烦人”任务是什么?
欢迎在评论区留言,我们一起交流。