我们正身处一场革命之中
借助像 Cursor 和 Claude Code 这样的工具,我们现在可以在几分钟内召唤出复杂的代码——而这在过去需要几周。这个新范式,我们可以称之为 “氛围编程(vibe coding)” ,感觉就像魔法一样。只需一个简单的提示,我们就能像挥舞魔杖一样构建功能。这令人兴奋、强大,并且毋庸置疑是未来趋势。
但随着许多开发者一头扎进这个新世界,一种紧张感正在积聚。一些人满足于“随心所欲地写”,而另一些人则提出了合理担忧:代码垃圾、长期可维护性,以及 AI 生成巨石代码的混乱。
历史已经证明,人类天性无法抗拒效率(人天生懒惰),而 AI 辅助开发的吸引力不可抗拒。氛围编程会长期存在。然而,前进的道路并不是纯粹自动化,而是 在人类的架构设计与 AI 的实现能力之间找到战略平衡。
两条道路:幸存者 vs. 繁荣者
AI 编程的兴起,为开发者带来了一个分叉口,结果有两种:幸存 或 繁荣。
-
无氛围编程路径(幸存者)
- 代表传统主义者,坚持手工编码。
- 价值曲线像经典 S 曲线:稳步增长,但最终停滞。
- 受限于人类速度,无法匹敌 AI 辅助同行的速度。
-
全氛围编程路径(幸存者)
- 代表完全依赖 AI 的人。
- 一开始爆发极快,功能产出惊人。
- 但很快触顶:随着应用复杂度增加,AI 代码变得难以维护。
- 大模型(LLM)在超出上下文窗口时失效,提示-生成-调整的循环崩溃,代码库噩梦。
-
氛围编程繁荣者路径(繁荣者)
- 最理想的情况。
- 起步快,又能持续增长。
- 关键在于:他们不仅使用 AI,还为 AI 架构设计。
- 把复杂问题拆解成小的、定义清晰的模块,让 AI 能高效发挥,并由人类把关。
核心问题:为什么 AI 难以在规模化应用中成功?
氛围编程非常擅长解决某类问题,类似计算机科学中的 NP 问题:
- 找解很难,但验证解很容易。
- AI 擅长快速提出完整模块,我们只需验证即可。
但这种模式只在小任务里有效。
在大型单体应用中,相关逻辑分散在无数文件之外,超出 LLM 上下文窗口,AI 的可见性丧失,建议变得不可靠。于是,理想的无摩擦工作流变成了无尽的手动重写和挫败。
解决方法:开发者要有架构师的思维 —— 不是写所有代码,而是创建一个让 AI 能取胜的游乐场。
解决方案:为 AI 准备的“胶囊”架构
要成为繁荣者,你必须从逐行写代码的思维,转变为高层架构设计。方法是把复杂应用拆解为小型、自包含的 “胶囊(capsule)” 。核心三原则:
-
外观优先(Façade-First Contracts)
- 将应用拆成独立胶囊(最好 < 1 万行代码),包含自己的代码、数据和测试。
- 通过单一、严格定义的接口文件(基于数据校验库,如 Pydantic)暴露功能。
- 胶囊内部对外隐藏。
-
AI 优化的模块大小
- 胶囊的代码足够小,可以完整放进 LLM 的上下文窗口。
- 这样 AI 工具就能在一次迭代中重写或重构整个模块,恢复快速、准确的循环。
-
零延迟现在 → 微服务以后
- 初期直接在进程内调用胶囊接口,获得模块化和零延迟。
- 未来需要扩展时,可轻松把胶囊独立成微服务(如 FastAPI / gRPC),因为接口契约已定义,无需改业务逻辑。
如何实践
-
测试驱动开发(TDD)
- 先写测试,再让 AI 写实现代码。
- 验证简单,避免全局混乱。
-
逐步积累指导
- 不必逐行监管 AI,而是提供高层指导:模式、约束、框架选择。
- 你是建筑师,AI 是施工员。
成果与收益
采用基于胶囊的 AI 引导方法,你能:
- 恢复 AI 速度 —— 模块够小,AI 循环始终高效。
- 阻止“局部修复 → 全局债务” —— 问题被隔离,技术债不扩散。
- 提升交付信心 —— 明确的边界和 CI 管控减少合并冲突,发布更可预测。
最终,开发者从“码农”进化为 智能系统的架构师,既拥有 AI 的速度,又避免混乱。