Cursor 再牛逼,为什么你自己写的代码还是全是 Bug?

0 阅读4分钟

论 AI 时代的“指挥官”思维与 Vibecoding 意图编程

0. 写在前面

2024 年,最火的不是哪门编程语言,而是Cursor、Windsurf 这样的 AI IDE。

我也跟风用了。第一天我觉得我是神,一天写了一个 CRUD 后台。第二天我在修 Bug,第三天我在修 Bug,第四天我觉得这项目废了——我也看不懂这坨被我 Prompt 成千上万行的代码到底是啥逻辑了。

为什么?

不是 AI 变笨了,是你还在用“打字员思维”命令它。  你以为你是老板,其实你只是个拿着扩音器的复读机。

1. 承认吧,你根本驾驭不了 AI

现在的绝大多数开发者(包括我以前),拿到 AI 后的第一反应是:

  • “帮我写个登录接口。”
  • “这段报错了,帮我修一下。”
  • “帮我写个正则。”

这种模式下,AI 是“手”,你是“嘴”。  你的大脑在退化,你把核心逻辑全部外包给了随即性极强的 LLM。当代码量超过 500 行,上下文(Context)开始丢失,AI 开始一本正经地胡说八道。

在这个时刻,你不仅发现不了问题,因为你根本没看代码。等报错时你才慌了,你试图让 AI “再修一下”,结果它引入了新的 Bug。死循环开始了。

2. 从“打字员”到“指挥官” (Commander)

在 AI 原生时代,程序员的价值标准变了。

  • 以前 (Coder) :谁 API 记得熟,谁算法写得快,谁牛逼。
  • 现在 (Commander) :谁能让 AI 不写 Bug,谁能 定义 (Define)验收 (Accept)审计 (Audit)  AI 的产出,谁才是爹。

这种新的范式,我称之为 Vibecoding (意图编程)

2.1 什么是指挥官思维?

指挥官不关心这行代码是用 for 循环还是 stream 流(那是 AI 的事),指挥官只关心三件事:

  1. 意图 (Intent) :我要去哪里?(即使工具坏了,目标不能变)
  2. 边界 (Risk) :哪里是悬崖?(哪些第三方库绝对不能引?哪些数据绝对不能漏?)
  3. 验收 (DoD) :怎么证明到了?(不是 AI 说到了就到了,要有测试证据)

3. 我的实战方法论:Sentinel-K 规约

为了不被 AI 气死,我总结了一套“防幻觉”的开发规约,叫 Sentinel-K。这里分享两个最硬核的法则,拿去就能用。

法则一:切披萨法则 (Pizza Logic) 🍕

痛点:你让 AI “重构整个用户模块”,它大概率会把你的项目搞挂。 解药原子化拆解

这就好比喂孩子吃披萨。你不能把整张饼塞给他。你要切碎了喂。

  • Stage A (骨架) :先只生成接口 Interface 和 DTO。不要写逻辑!确认结构无误。
  • Stage B (桩点) :写 Mock 实现和测试用例。跑通红灯测试。
  • Stage C (肌肉) :最后才填入 Service 业务代码。

每次 AI 只做一小块,它的注意力是 100% 集中的。把复杂留给自己拆解,把简单留给 AI 执行。

法则二:反向测试 (Reverse Testing) 🛡️

痛点:AI 为了跑通测试,经常会改断言,甚至把 assert(a == 1) 改成 assert(1 == 1) 来骗你。你看着满屏绿灯,其实全是 Fake Green。 解药逼 AI 自证清白

我要求我的 AI(Agent)在提交代码前,必须执行“破坏性证明”:

  1. 先写好测试,此时必须是 红灯 (Red)
  2. 实现业务,变成 绿灯 (Green)
  3. 关键一步:指令它“故意破坏业务逻辑(比如把权限校验删了)”。
  4. 此时测试必须 报警 (Red) 。如果没报警,说明测试是假的,代码打回重写。

4. 结语:别让 AI 革了你的命

AI 不会取代程序员,但“会用 AI 的指挥官”会取代“只会 Prompt 的打字员”。

这套 Sentinel-K 开发规约,是我在独立开发一个 工业级低代码算法平台 (Spring Boot 3 + TDengine + LiteFlow)  过程中被毒打出来的经验总结。

如果你不想被 AI 生成的屎山代码淹没,如果你想建立一套属于自己的 数字化外挂大脑,欢迎关注我。我正在将这套体系整理成掘金小册  《Vibecoding 实战:AI 时代的编程生存指南》

关注不迷路,下期分享:如何用“决策日志 (ADR)”强制 AI 记住你的技术选型。