什么是Vibe Coding?告别重复性工作
今天我们直接进入主题,讲一讲 Vibe Coding(Vibe Coding: 凭感觉编程,即利用自然语言让AI辅助编写代码的方法)。这是一种面向不会编程的人的编程方法,用途非常广泛。
我们可以先从它的用途开始探讨。大家可以设想一下,生活中是否有每天都需要在电脑上重复进行的工作?基本上,所有这类工作都可以通过自动化来完成。例如,我每天会发送一份关于新闻的 newsletter。以前,我需要亲自去新闻网站上浏览,但现在新闻网站大多可以 RSS 化(RSS: 一种信息聚合协议,可以将网站内容格式化,便于程序抓取和订阅)。于是,我每天使用 RSS 来处理新闻。很多新闻是英文的,过去我需要逐条翻译,现在则完全自动化:自动翻译、自动截取、自动去重,然后直接呈现给我。它会自动生成三个文件,一个是每个新闻源的,另一个是完成所有处理的,里面不仅是新闻,还已经用 Markdown 格式帮我排好了版。排版、标注“今日重点”等都是它自己完成的。它还会将英文翻译成中文,并将新闻剪辑成长度相似的条目。当然,还有一些细节需要手动处理,但这已经是一个非常典型的应用场景,每天能为我节省大约两个小时的时间,效率极高。
所以,如果你的生活中有经常需要重复进行的工作,那么这件事就非常适合编写成一个脚本。大家可以想一想,生活中还有哪些需要每天重复的工作?比如工作日报、周报,这些都非常容易实现自动化。
再比如搜图和做图。假如你每周固定要做三张海报,需要生成三张背景图,并且每周的活动是提前知道的,你完全可以写一个脚本。点击脚本后,输入三个文本,它就能自动生成三张图。我自己就有一个应用场景:我做 YouTube 节目时,很多内容有文本稿,需要配图。我有一个脚本,可以根据文本自动找到五个段落,并为每个段落生成一张配图,当然,Prompt(Prompt: 向大型语言模型(AI)发出的指令或问题)是预先写好的。
还有其他重复性的工作吗?例如,我每天学习日语时会遇到很多单词,我会用脚本把它们整理起来,然后生成可以导入 Anki 制作成 flashcard(抽认卡)的格式。虽然这需要与手机对接,但也完全没问题。一个简单的方式是,在电脑或手机上打开一个 Terminal(Terminal (终端/命令行): 一个与计算机进行基于文本命令交互的界面,是图形化界面底层的操作方式),或者一个你让 AI 帮你写的小前端,只要输入日语单词,它就自动存入一个库里,之后你可以随时整理和查看。
Vibe Coding 的三大应用领域
它的实现范围可以说是无限的。我简单概括三个大家可以设想的应用方向:
第一,多步骤的 AI 交互流程。你们有没有发现,很多时候使用 ChatGPT 或 Gemini,并非一个步骤就能完成任务,而是需要与 AI 进行多轮对话才能得到最终结果。但这个多步骤的过程,每次可能都是一样的。例如,我个人觉得 AI 常常出现幻觉,所以在处理重要问题时,我要求它每提供一段信息都必须附上出处。虽然这可以在 Prompt 中完成,但更复杂的流程就适合脚本化。我有一个例子,是针对一个话题自动进行扩展研究的脚本。具体怎么做呢?比如话题是“中国2025年的外贸增长是真是假”,直接问 ChatGPT 会得到一段回答。但在此基础上,我的脚本会让 AI 根据已有内容自动扩展生成十个新问题,然后再用另一个 Prompt 让它回答这十个问题,从而完成整个研究过程。如果手动操作,这个过程会非常繁琐,需要不断复制粘贴。但脚本化之后,我只需要在终端输入研究问题,它就会自动化运行,最后在我的桌面上生成一个包含所有内容的文档。所以,任何需要与 AI 多步骤交互才能完成的工作,都非常适合脚本化。
第二,调用开源工具。现在网上有很多别人已经做好的工具,比如文字转语音、语音转字幕。如果你不自己动手,网上有很多成熟的服务,他们将同样的技术封装成一个前端网站让你使用,每月收费从七美元到二十美元不等。其实,这些你都可以自己实现。例如,语音转文字用的是开源的 Whisper,文字转语音有 Index TTS 等。程序员的世界里有大量开源脚本,但并非每个都有人为你封装好前端让你在网页上调用。对于我们这些编程小白来说,最常见的就是在网页上调用服务,但这不仅贵,而且选择有限。有了 Vibe Coding 之后,自己调用这些开源工具的门槛变得非常低。无论是文字转语音、语音转文字,甚至在本地运行一个大模型帮你做一些基本输入,成本都非常低。
第三,整合互联网与工作中的信息。互联网上有各种各样的资源,你需要将它们整合到一起为你所用。比如我之前提到的新闻简报,就是把多个新闻源整合起来。再比如找房源,网上的房源信息也是规律性发布的,你可以把它们整合起来。互联网上有大量信息和二次加工工具,你可以把它们整合起来服务于你的目的。除了互联网,工作中的事务也可以,比如写工作周报。你每周的工作可能很零散,涉及大量的 Excel 和 Word 文档。如果你写好一个脚本,每周只需在终端输入一个命令,把你这周的工作文件夹拖进去,它就能自动读取文件,帮你生成工作周报。
一个常见的误区:Vibe Coding ≠ ChatGPT
这里要澄清一个误区:很多人因为 Vibe Coding 使用自然语言,就误以为它等同于 ChatGPT,会直接在里面提问。比如做新闻简报,他可能会认为直接告诉 AI 去翻译、去做简报,AI 就能完成。AI 确实能做到,因为它现在很聪明,但它可能会自己去网上调用一个免费但质量极差的翻译引擎。
你需要明白,Vibe Coding 不是 ChatGPT。ChatGPT 是你提问,它提供答案;而 Vibe Coding 是你让它帮你写代码。代码中需要的很多服务和内容,未必是 AI 能直接提供的,而是需要你从其他地方寻找并提供给它。所以,它本质上仍然是一个编程工程,而不是一个所见即所得的工具。唯一的区别在于,你不需要亲自去编程了。
创造性的应用与 AI 的结合
Vibe Coding 还可以有很多创造性的应用,甚至可以和 AI 毫无关系,比如仅仅做一些网络文本的剪贴。但加入了 AI,就增加了很多强大的能力,例如文本处理、研究、生成图像、翻译、事实核查(fact checking)等等。你甚至可以做批量事实核查。假设我是一个“黑川普”的人,我可以先做一个 AI 把特朗普所有的发言都抓取下来,再做一个脚本对里面的每一条内容进行事实核查。这在过去可能需要雇佣一个新闻编辑室的人来完成,现在你一个人在家就能做到。你甚至可以从事实核查的内容直接生成稿件。编程还可以设置定时任务,比如每天早上八点、中午十二点、晚上八点各运行一次,一天三篇,非常高效。
再举个例子,比如每周需要分析竞品和自家产品在电商平台上的价格,抓取数据后确认第二天的最优定价。这完全可以实现。首先,抓取数据本身,即便网站不提供 API(API (应用程序编程接口): 允许不同软件程序之间相互通信和交换数据的接口,常用于调用远程服务(如ChatGPT的翻译功能)),现在也有基于视觉的抓取手段(Agent),这部分也完全不需要编程,你只要描述清楚技术路线,ChatGPT 就能帮你生成相应的 Prompt。抓取到数据后,你甚至可以让 ChatGPT 给你出一个定价策略,再把这个策略变成一个 Prompt。整个流程可以完全自动化,从抓取到分析,甚至可以设置为定时任务,每周一早上八点,分析报告就自动出现在你的桌面上。
过去,这种自动化生活是程序员的专属福利,但现在,所有人都可以享受到。
实战演练:从零开始编写一个新闻抓取脚本
因为大家是零基础,对于编程运行的很多细节可能不熟悉,比如左边这个叫 Terminal 的东西,或者什么是安装 Dependency(Dependency (依赖): 指程序运行时所需要的外部库或软件包,提供了特定的功能)。这些我们都可以慢慢了解。
我们今天就以一个实际的例子来尝试 Vibe Coding:做一个关于台海局势的新闻监测脚本。
在写脚本之前,有一个非常重要的思路:因为你是用自然语言告诉 ChatGPT 你要写什么,但你自己写 Prompt 的能力可能很差。所以,你应该让 ChatGPT 来帮你写 Prompt。
我在一个 ChatGPT 窗口里,用我自己的能力写一个非常简单的需求:“我要写一个抓取新闻的脚本,基于两个 RSS 源。” 然后,我坦率地告诉它:“我是一个编程小白,完全不懂编程,所以请为代码提供详细注释,把所有需要的命令行都写好给我,需要修改的代码也给我一个可以完整复制的版本。” 因为 ChatGPT 默认你会编程,它可能会说“请把这一句改成这个”,但我根本不知道是哪一句。最后,我还补充:“如果可以,请帮我解释里面的步骤。”
然后,我让它帮我写的不是脚本本身,而是生成这个脚本的 Prompt。为什么这么做?因为编程是一个工程,需要使用什么技术、基本架构,这些作为小白是不知道的,但 ChatGPT 知道。它生成的 Prompt 会比你自己写的复杂得多,会包含使用什么语言(比如 Python 3)、什么结构、什么技术路线,甚至如何做测试。
得到这个详细的 Prompt 后,你就像魔法师一样,把它复制到另一个 ChatGPT 窗口里,它就会为你生成一个非常详尽的、一步一步的指南和完整的脚本代码。
调试的艺术:如何与AI协作解决代码错误
按照 AI 给出的步骤,你需要在终端里创建文件夹、用 nano(一个终端内的文本编辑器)创建并粘贴代码、保存退出。然后就是运行脚本。
当你运行脚本时,很可能会遇到错误。这非常正常,编程就是与报错不断搏斗的过程。关键在于,你不需要读懂错误信息。你只需要把终端里报错的那一段完整地复制下来,粘贴回 ChatGPT,它就会告诉你问题出在哪里,以及如何解决。
例如,它可能会告诉你“没有名为 feedparser 的模块”,解决方案就是用 pip install feedparser 来安装这个依赖包。你只需要复制粘贴它给你的命令,然后在终端里执行即可。
在这个过程中,你可能会遇到 Virtual Environment(Virtual Environment (虚拟环境): 一个隔离的Python运行环境,可以防止不同项目之间的依赖包版本冲突)的概念。这是一个很重要的东西,因为电脑里各种软件的依赖包版本可能不同,如果都装在全局环境中,容易产生冲突。虚拟环境可以在电脑里生成一个与其他部分完全隔绝的环境,避免版本和依赖互相打架。所以,你可以在最初的 Prompt 里加上一句:“也帮我设置虚拟环境。” 这样,AI 就会引导你完成创建和激活虚拟环境的步骤。
你所有需要做的,就是复制、粘贴。你不需要懂编程,只需要有耐心。
进阶之路:为脚本增加新功能
当我们成功运行脚本并得到初步结果后,可能会发现一些问题。比如,抓取的新闻只有标题和网址,没有摘要。这时,你只需要用自然语言向 ChatGPT 描述你的新需求:“能否实现一个功能,让脚本自己去访问新闻的网址,并把每条正文的前300个字贴给我?”
你完全不需要知道技术实现方案,比如用哪个库来访问网页。AI 会自动帮你选择合适的库(比如 requests 和 BeautifulSoup4),并告诉你需要安装它们。然后,它会提供更新后的完整代码。你只需要按照指示,安装新的依赖,然后用新代码覆盖旧代码,再重新运行即可。
基本上,任何你需要的新功能、排版调整,你都可以用自然语言告诉它,它会帮你实现。
效率升级:从命令行到 VS Code 的飞跃
虽然在 Terminal 里手动操作能帮助你建立一些基本概念,比如什么是安装依赖、什么是运行脚本。但当你熟悉了这些之后,就应该转向更高效的工具,比如 VS Code(VS Code: 由微软开发的一款功能强大的代码编辑器,可以通过安装插件(如Codex)来增强AI编程能力)。
在 VS Code 里,你可以安装像 Codex(Codex: OpenAI开发的一款AI编程助手,可以深度集成在VS Code等编辑器中)这样的 AI 编程助手插件。操作流程类似:
- 仍然先让 ChatGPT 帮你生成一个给 Codex 的高质量 Prompt。
- 在 VS Code 中打开你的项目文件夹。
- 将 Prompt 粘贴到 Codex 的对话框中。
- 将 Codex 设置为
agent full access模式,这样它就有权限自动帮你安装依赖、修改代码参数等。
在 VS Code 中,整个过程会变得更加自动化和流畅。你不再需要手动使用 nano 编辑代码,所有修改都由 AI 自动完成。遇到 bug,你直接把错误信息贴给它,它就会自动帮你修复。
建立工程化思维:将复杂任务模块化
当你开始处理更复杂的任务时,一个非常重要的思维方式是“工程化思维”。这意味着,不要试图把所有功能都写在一个庞大的脚本里,而是应该把一个大任务拆分成几个独立的、功能明确的小模块,每个模块由一个独立的脚本来完成。
例如,处理新闻的流程可以拆分为:
- 脚本一:抓取原始新闻数据。
- 脚本二:翻译新闻文本。
- 脚本三:对翻译后的文本进行摘要和排版。
这样做的好处是:
- 易于维护和调试:当某个环节出错时,你只需要关注对应的脚本,而不会影响其他部分。
- 灵活性高:假设你发现用 GPT 翻译太贵,想换成更便宜的千问或 Grok,你只需要修改翻译脚本,而不用担心把抓取部分的代码改乱。
- 便于优化:你可以独立优化每一个模块。比如,你可以专注于提升抓取数据的准确性,或者优化文本生成的质量。
这种将大任务拆分的思路,不仅适用于 Vibe Coding,也适用于任何与 AI 协作的工作。你应该先设计一个完全不依赖人脑、纯粹由 AI 驱动的自动化流程,然后再思考在哪个环节加入你的人脑判断会带来更大的价值。
总结:Vibe Coding 是现代人的必备技能
Vibe Coding 绝对是现代人必备的技能。未来人与人之间的差异,很大程度上会体现在 Vibe Coding 的能力上。它会极大地拉开个人工作能力的差距。
从零开始最大的障碍可能是心理上的不熟悉感,你可能会觉得“我宁愿今天多花点时间手动操作,也不愿意花时间去写脚本”。但突破这个障碍至关重要。一旦你开始自如地使用 Vibe Coding,你会发现你的生活和工作将发生翻天覆地的变化。许多工作都能以更快、更高质量的方式完成,让你一个人就能迸发出一个团队的生产力。
你需要做的,就是告诉 AI 你是小白,然后保持耐心,不断地复制、粘贴、与 AI 沟通。你能忍受的调试轮次越多,你能写出的脚本就越强大。