Skip to content

Vibe Coding三个月黑箱启示:为什么我选择AI Coding + TDD

2026年4月30日

一个真实场景:朋友用Cursor从零搭的SaaS后端,三个月前跑得好好的,现在任何改动都会连锁崩塌。没有测试,没有文档,函数名是handleStuffprocessData,同一段逻辑在四个文件里出现三个不同变体。AI写的每一行都能跑,但没有人——包括AI本身——还能理解这个系统的全貌。

这就是我说的"三个月黑箱"。

Vibe Coding的诱惑

我不反对vibe coding。Andrej Karpathy在2025年初提出这个概念时,描述的是一种"完全沉浸在氛围中,拥抱指数级增长,忘记代码存在"的编程方式。对于原型验证、周末项目、一次性脚本,这种方式确实香。

数据也说明了这个趋势的规模:92%的美国开发者每天都在用AI编码工具,46%的新代码是AI生成的。

但诱惑背后有代价。

三个月后会发生什么

当你用vibe coding的方式推进一个项目三个月,几件事会同时发生:

Context window撞墙

AI每次只能看到有限的上下文。项目小的时候,它能"记住"整个系统;项目长大后,它开始遗忘,开始在不同文件里用不同风格解决同一个问题。代码重复率最高能达到8倍。

不是因为AI笨,而是因为它每次对话都是从头开始理解你的系统。

安全漏洞静默积累

研究显示:45%的AI生成代码包含OWASP Top-10漏洞。 SQL注入、XSS、不安全的反序列化——这些不是高深的攻击向量,是基本功。

AI不会主动告诉你"这段代码有安全风险",除非你问它。

调试成本反超

63%的开发者表示他们花了更多时间调试AI生成的代码。 前期省下的时间,后期用debug补回来——甚至更多,因为你在调试一段你没有完全理解的代码。

无人能理解全貌

这是最致命的。三个月后,代码库的复杂度超过了任何人(包括AI)的理解能力。你不知道改一个地方会影响什么,不知道哪些代码是活的、哪些是死的。

项目进入"只能加不能改"的状态。

我的做法:AI Coding + TDD

我用AI写了MCPHub的几乎所有代码。这个项目现在有2000多个star,稳定运行,持续迭代。但我从第一天起就没有"vibe"过——我给AI立了规矩。

AGENTS.md:AI的行为规范

在MCPHub里,我维护了一个AGENTS.md文件,它定义了AI辅助开发时的所有约束:

  • 代码风格
  • 命名规范
  • 测试要求
  • 提交规则

每次让AI写代码时,这个文件就是它的行为边界。

没有AGENTS.md的AI,就像一个不知道公司代码规范的新员工——技术能力可能很强,但写出来的东西和其他人的代码格格不入,越积累问题越大。

TDD:让测试做第二个大脑

测试驱动开发不是新概念,但在AI Coding的语境下,它的价值被重新定义了。

在传统开发中,TDD帮你理清需求、保证正确性。在AI Coding中,TDD还多了一个作用:它是AI产出的验证机制。

AI写了一个函数,测试告诉你它到底对不对。AI重构了一段逻辑,测试告诉你有没有破坏已有行为。

我的工作流:

  1. 我写需求(定义"什么是对的")
  2. AI写实现和测试(解决"怎么做到")
  3. 测试通过,我做代码审查
  4. 审查通过,合入主干

测试不会过期,不会遗忘,不会因为context window的限制而丢失信息。它是系统里唯一一个"永远记得规则"的东西。

人工审查:最终决策权在人

AI写代码的速度很快,但我从不自动合入。每一段AI生成的代码,我都会看过之后才放进去。

不是因为AI经常写错——准确率其实挺高的。而是因为:

  • 我需要理解这段代码。 如果我不理解它,将来出问题时我也不知道怎么修。
  • 我需要判断方向。 AI能解决当前问题,但不一定知道这个解法和整体架构是否一致。
  • 我需要积累判断力。 完全依赖AI的开发者,会逐渐失去"什么是好代码"的直觉。

不是拒绝AI,是驾驭AI

我见过两种极端:一种人拒绝AI,觉得"真正的程序员不用这些";另一种人全盘交给AI,觉得"以后都不用写代码了"。

两种都不对。

AI是这个时代最强的编程杠杆,但杠杆需要支点。

TDD是支点,AGENTS.md是支点,人工审查是支点。

没有支点的杠杆只是一根棍子——用力越大,失控越快。

我的经验是:约束不是效率的敌人,约束是效率的前提。 MCPHub的开发速度不比任何vibe coding项目慢,但三个月后它依然可维护、可理解、可安全迭代。

写在最后

如果你正在用AI写代码——大概率你是的——问自己一个问题:

三个月后,你还能看懂这个项目吗?

如果答案不确定,也许是时候给你的AI搭一个脚手架了。不需要放弃速度,只需要加一点结构:写测试、定规范、保持审查。

AI不会变慢的。但没有约束的代码一定会。

不要孤军奋战啦!

加入微信群一起学习交流 AI

与大神一起使用 OpenClaw、Hermes、Claude Code、Seedance 2.0、GPT-Image-2 等

微信公众号

扫码关注微信公众号
私信 "加群",将自动获取微信群二维码

探索 AI 世界,掌握智能未来