1. 从“手写代码”到“说人话写代码”,Vibe Coding 到底改变了什么
第一次听到“Vibe Coding”这个词,我脑子里蹦出来的画面是:一个人对着编辑器敲几句大白话,代码就自己长出来了。听起来像玄学,但真上手用了一段时间之后,我发现它其实一点都不玄——它只是把“人写代码”这件事,往前推了一大步,变成了“人描述意图,AI 负责落地”。
说白了,Vibe Coding 是一种以自然语言为主要输入方式的编程范式。你不再需要逐行敲for循环、不再需要纠结某个 API 的参数顺序,你只需要把“我想要什么”讲清楚,剩下的交给 AI Agent 去执行。这里的核心关键词有三个:AI 编程、AI Agent、Codex。AI 编程是大的赛道,AI Agent 是执行主体,Codex 这类工具是具体的落地载体。
那它到底解决了什么问题?我自己的体感是三个字:省时间。以前写一个数据清洗脚本,从查文档到调试,半小时起步;现在描述清楚需求,几十秒出初稿,我只需要 review 和微调。对于重复性高、逻辑清晰的活儿,效率提升是肉眼可见的。但它也不是万能药,复杂业务逻辑、性能敏感的核心模块,还是得人来把关。
这篇文章适合谁看?如果你是刚入门的开发者,想搞清楚 AI 编程到底怎么用、从哪下手;如果你是有点经验的老手,想看看别人是怎么把 AI Agent 真正用起来的;或者你只是好奇“26 年了还不会 Vibe Coding 是不是真的白活了”——那这篇就是写给你的。我会从思路拆解、核心细节、实操流程到踩坑排查,一条龙讲清楚,尽量让你看完就能上手。
2. 内容整体设计与思路拆解
2.1 为什么是“描述意图”而不是“写代码”
传统编程的本质是“把人的意图翻译成机器能执行的指令”,这个翻译过程由程序员完成。Vibe Coding 做的事情,是把这层翻译交给 AI。你负责“想清楚要什么”,AI 负责“写出来怎么实现”。
这个转变背后有个很现实的考量:大部分日常开发工作,难点不在写代码,而在想清楚需求。一个 CRUD 接口,逻辑清晰的话,写起来就是体力活。AI 最擅长的恰恰就是这种体力活。你把“用户表加一个软删除字段,删除时更新 deleted_at,查询时过滤掉非空记录”描述清楚,它就能给你生成一套能跑的代码。
但这里有个前提:你得能把需求描述清楚。这也是为什么很多人用了 AI 编程工具之后觉得“不好用”——不是工具不行,是描述太模糊。你说“帮我写个登录功能”,AI 只能猜;你说“用 JWT 做无状态登录,token 有效期 2 小时,刷新 token 有效期 7 天,密码用 bcrypt 加密”,它就能给你靠谱的结果。
2.2 工具选型的逻辑:为什么绕不开 Codex 和 AGENTS.md
市面上 AI 编程工具不少,但 Codex 这类工具之所以被反复提及,是因为它把“AI Agent 执行代码任务”这件事做得比较完整。它不只是补全代码,而是能理解项目上下文、能读写文件、能执行命令、能根据反馈迭代。这就从“代码补全”升级到了“任务执行”。
而AGENTS.md这个文件,是我认为最值得单独拿出来讲的设计。它的作用类似于给 AI Agent 的一份“项目说明书”——告诉它这个项目是干什么的、目录结构怎么组织、有哪些约定俗成的规范、哪些文件不要动。有了这个文件,AI 在执行任务时就不会瞎猜,能更快进入状态。
我自己的习惯是,每个项目根目录都放一个 AGENTS.md,内容不用长,但要把关键信息写清楚。比如:
# AGENTS.md ## 项目概述 这是一个基于 FastAPI 的订单管理系统,使用 PostgreSQL 存储。 ## 目录结构 - app/api/ 路由层 - app/services/ 业务逻辑 - app/models/ 数据模型 ## 编码规范 - 所有接口必须有类型注解 - 数据库操作统一走 service 层 - 禁止在路由层直接写 SQL ## 禁止操作 - 不要修改 alembic 迁移文件 - 不要动 config/ 下的配置文件这份文件看起来简单,但实测下来,有没有它,AI 生成代码的准确率差别很大。没有它,AI 经常把业务逻辑写到路由层;有了它,基本能按你的规范来。
2.3 方案取舍:什么时候用 AI,什么时候自己上
不是所有任务都适合交给 AI。我的判断标准是三条:
- 逻辑清晰、重复性高:交给 AI,比如写测试用例、生成 CRUD、数据转换脚本。
- 需要深度业务理解:自己上,比如核心计费逻辑、复杂状态机。
- 性能敏感:自己上,AI 生成的代码往往“能跑但不够快”。
这个取舍很关键。我见过有人把所有活儿都丢给 AI,结果核心模块出了一堆隐蔽 bug,排查起来比自己写还费劲。AI 是放大器,不是替代品。
3. 核心细节解析与实操要点
3.1 AI Agent 的工作机制:它到底在干什么
很多人以为 AI Agent 就是“更聪明的代码补全”,其实不是。一个完整的 AI Agent 工作流大致是这样的:
- 理解任务:读取你的描述,结合 AGENTS.md 和项目上下文,明确要做什么。
- 规划步骤:把大任务拆成小步骤,比如“先建模型,再写 service,最后加路由”。
- 执行操作:读写文件、运行命令、调用工具。
- 验证结果:跑测试、看报错、根据反馈调整。
- 迭代直到完成:如果出错,回到第 3 步继续。
这个循环里,上下文质量决定了输出质量。你给它的信息越准确,它跑偏的概率越低。所以我在实操中会尽量把相关文件、报错信息、期望行为都喂给它,而不是只丢一句“帮我修个 bug”。
3.2 提示词怎么写才有效
AI 编程提示词(ai编程提示词)是很多人关心的点。我总结了一个简单的结构:背景 + 目标 + 约束 + 示例。
举个例子,同样是“写个接口”,两种写法效果差很多:
差的写法:
帮我写个用户查询接口。
好的写法:
背景:这是一个 FastAPI 项目,用户数据存在 PostgreSQL 的 users 表。 目标:写一个 GET /users/{user_id} 接口,返回用户信息。 约束:用 SQLAlchemy 查询,返回 Pydantic 模型,找不到用户返回 404。 示例:参考 app/api/order.py 里的写法。
第二种写法,AI 基本一次就能给对。第一种,它得猜你用啥框架、啥 ORM、啥返回格式。
提示:写提示词的时候,把 AI 当成一个刚入职的新人——它能力很强,但对你的项目一无所知。你交代得越清楚,它干得越好。
3.3 AGENTS.md 的写法与常见误区
AGENTS.md 不是越长越好。我见过有人写了上千行,结果 AI 反而不看了。核心原则是:只写 AI 猜不到的信息。
该写的:
- 项目技术栈和版本
- 目录结构和职责划分
- 编码规范和命名约定
- 禁止修改的文件或目录
- 常用的命令(启动、测试、迁移)
不该写的:
- 详细的业务逻辑说明(这个应该看代码)
- 大段的 API 文档(有专门的文档文件)
- 和项目无关的通用规范
我自己的 AGENTS.md 一般控制在 50 行以内,重点突出。另外,这个文件要随项目演进更新,别写完就不管了。
3.4 嵌入式场景下的 Vibe Coding
嵌入式 Vibe Coding 是个比较特殊的场景。和 Web 开发不同,嵌入式对资源、时序、硬件依赖都很敏感,AI 生成的代码不能直接信。
我的做法是:AI 负责生成框架和逻辑,人负责硬件相关的细节。比如让 AI 生成一个状态机的骨架,但寄存器配置、中断处理这些,还是自己来。另外,嵌入式项目一定要在真实硬件上验证,仿真通过不代表真机没问题。
4. 实操过程与核心环节实现
4.1 环境准备:从零搭起一套可用的 AI 编程环境
先说工具链。核心是 Codex 这类 AI 编程工具,配合一个顺手的编辑器。安装流程大致是:
- 下载并安装 Codex(官网有各平台的安装包,Windows 桌面版、macOS、Linux 都有)。
- 登录账号,完成初始化配置。
- 在项目根目录创建 AGENTS.md。
- 配置好项目的基本信息,让 AI 能识别技术栈。
安装过程中常见的坑:
- 登录不上:先检查网络和账号状态,多数是配置问题。
- 无法加载组织设置:通常是权限或配置项写错了,检查配置文件。
- 提示模型不支持:确认你用的模型和工具版本匹配。
这些报错看起来吓人,但基本都是配置层面的问题,按提示逐项排查就行。
4.2 第一个任务:让 AI 帮你写一个完整功能
我建议新手从一个小而完整的功能开始,比如“给现有项目加一个健康检查接口”。步骤:
- 在 AGENTS.md 里写清楚项目结构和规范。
- 给 AI 描述任务:在 app/api/ 下新增 health.py,提供一个 GET /health 接口,返回服务状态和当前时间。
- 让 AI 生成代码。
- Review 生成的代码,看是否符合规范。
- 运行测试,确认能跑通。
这个过程走一遍,你就能体会到 AI 编程的节奏:描述 → 生成 → 审查 → 验证。熟练之后,这个循环会越来越快。
4.3 参数与配置的选择逻辑
AI 编程工具通常有一些可调参数,比如温度(temperature)、上下文长度、模型选择等。我的经验是:
| 参数 | 建议值 | 理由 |
|---|---|---|
| 温度 | 0.2-0.4 | 代码任务要稳定,不需要太多创造性 |
| 上下文长度 | 尽量大 | 项目越大,需要的上下文越多 |
| 模型 | 能力优先 | 代码任务对模型能力要求高,别省 |
温度这个参数特别值得说。写代码不是写诗,你需要的是确定性,不是惊喜。温度调高,AI 可能会给你一些“有创意但跑不通”的代码。所以代码任务,温度往低了调。
4.4 让 AI Agent 处理并发任务
AI Agent 怎么扛并发,是个进阶话题。简单说,单个 Agent 处理任务是串行的,要提升吞吐,得靠多 Agent 协作或者任务队列。
我的做法是:把大任务拆成互不依赖的小任务,分发给多个 Agent 并行处理,最后人工合并。比如重构一个模块,可以拆成“改模型”“改 service”“改路由”三个子任务,分别交给不同 Agent,最后统一 review。
但要注意,并行任务之间如果有依赖,就不能简单并行,得按顺序来。这个判断得人来做,AI 目前还不太擅长处理复杂的任务依赖。
5. 常见问题与排查技巧实录
5.1 高频问题速查表
| 问题现象 | 可能原因 | 解决思路 |
|---|---|---|
| AI 生成的代码跑不通 | 上下文不足或描述模糊 | 补充 AGENTS.md,细化提示词 |
| 登录/配置报错 | 配置文件或权限问题 | 逐项检查配置,确认账号状态 |
| 模型不支持 | 版本不匹配 | 确认工具和模型版本对应 |
| 生成代码不符合规范 | AGENTS.md 缺失或不清 | 完善规范说明,给出示例 |
| 任务执行到一半卡住 | 任务太大或依赖复杂 | 拆解任务,分步执行 |
5.2 独家避坑技巧
技巧一:先让 AI 复述任务。在正式生成代码前,让它用自己的话把任务说一遍。如果它理解错了,你能提前发现,省得后面返工。
技巧二:小步快跑,别憋大招。一次只让 AI 做一件事,做完验证再做下一件。一次性丢一个大需求,出错概率高,排查也难。
技巧三:保留人工审查环节。AI 生成的代码,尤其是涉及数据、权限、金额的,一定要人工过一遍。我踩过的坑里,最疼的就是“看着没问题,上线出问题”。
技巧四:善用版本控制。每次让 AI 改代码前,先 commit 一下。改坏了能回滚,心里不慌。
5.3 关于“Codex 国内能用吗”这类问题
这类问题本质上是环境和配置问题。我的建议是:先确认工具本身的安装和配置是否正确,再看网络环境是否满足要求。大部分“用不了”的情况,都是配置没弄对,而不是工具本身的问题。按官方文档一步步来,基本都能解决。
6. 我个人的一些实操体会
用 AI 编程这段时间,最大的感受是:它改变的不是“写代码”这件事,而是“思考代码”的方式。以前我拿到需求,第一反应是“这该怎么实现”;现在第一反应是“这该怎么描述”。描述清楚了,实现是水到渠成的事。
另一个体会是,AI 越用越顺手,但前提是你得持续调教它。AGENTS.md 要更新,提示词要打磨,项目规范要沉淀。这些前期投入,后面都会以效率的形式还回来。
最后分享一个小技巧:如果你不确定某个任务适不适合交给 AI,就先让它试一下,看它生成的代码质量如何。质量好,继续;质量差,自己上。这个判断成本很低,但能帮你快速找到 AI 的能力边界。
至于“26 年了还不会 Vibe Coding 是不是白活了”——我的看法是,工具在变,但核心能力没变:想清楚问题,描述清楚需求,验证清楚结果。这三件事做好了,用不用 AI,你都是个好开发者。AI 只是让这个过程快了一点,仅此而已。