我用 23 小时写了 52,860 行生产级代码,现有 AI 编程方法论全是花架子

4 阅读9分钟

Vibe Coding 已死,但接替它的不是你想的那个

23 小时,52,860 行代码,20 个模块,40+ 数据模型,一个完整的生产级 SaaS。 不是 demo,不是 PPT,是能跑起来的内容合规审核平台。 我是怎么做到的?不是靠 Vibe Coding,不是靠 TDD,不是靠任何你听过的方法论。


所有人都在解决错误的问题

2025 年 2 月,Karpathy 发推提出 Vibe Coding:描述需求,接受输出,不看代码。

2026 年 2 月,他自己说这个概念"已经过时"。

然后呢?行业给出了一堆"替代方案":

  • Test-Driven Vibe Development:先写测试,再让 AI 填空
  • Spec-Driven Development:先写规格说明书,再让 AI 生成
  • Agentic Engineering:人管架构,Agent 管实现
  • Context Engineering:上下文是一级系统,需要架构设计

听起来都很有道理。但我实际用下来发现一个问题:

它们全部在优化"怎么让 AI 写出更好的代码",但这根本不是 AI 开发的瓶颈。


代码已经不贵了,贵的是什么?

我做了一个实验。用 AI 给一个浏览器扩展项目加 MCP Server 功能模块:外部消息 API、Native Messaging Host、安装脚本、客户端配置文档。

6 分钟。11 个文件。从零到完整交付。

6 分钟。我泡一杯咖啡的时间,一个完整模块就出来了。

这意味着什么?意味着 TDD 的核心假设——"代码很贵,写之前要验证"——已经不成立了。代码便宜到可以整模块重新生成,重写比调试还快。

那 Vibe Coding 就是对的?也不是。Vibe Coding 的问题不在于代码质量,在于第二天你打开一个新的 AI 会话,它什么都不记得了。你得重新解释项目背景、技术栈、模块关系、上次做到哪了。

这才是真正的瓶颈:上下文的持久化和传递。

每一个现有方法论都假设上下文在对话里、在人脑里、在代码注释里。但 AI 的对话会结束,人脑会忘记,代码注释没有 AI 会读。


我的解法:让 AI 永远不冷启动

我设计了一套文档结构,不是给人看的——是给 AI 读的。

.claude/CLAUDE.md     → 技术栈、项目结构、模块定位
.claude/RULES.md      → 开发规则、文档更新规则、行数限制
docs/modules/INDEX.md → 模块总览、依赖关系
docs/modules/X/       → 模块详情:接口、数据模型、页面规格
docs/modules/X/phases/→ 当前阶段的目标和任务

每个新 AI 会话进来,读这条链路,3 分钟获得完整上下文。不需要人工复述背景。不需要"你上次帮我做了什么"。

AI 的记忆不在对话里,在文档结构里。

我把这个方法论叫做 Relay Coding(接力编程)。每次 AI 会话是一棒接力,文档结构是接力棒。棒不掉,上下文就不断。


来,看数据

案例一:CopyGuard — 生产级 SaaS 平台

从零构建的智能内容合规审核平台。Next.js 16 + TypeScript + PostgreSQL + Prisma + Vercel AI SDK。

功能列表(不是规划,是已实现):

  • AC 自动机关键词匹配引擎
  • AI 语义审核(多供应商、流式输出)
  • 8 步内容生产流水线(选题→结构→填充→视觉→审核→拼接→导出→财务)
  • 视频生成(可灵 V3、海螺、PixVerse)+ FFmpeg 拼接 + TTS
  • 多租户 RBAC + 熔断器 + 速率控制 + 乐观锁
  • 财务看板(成本追踪 + 收益归一化 + ROI 分析)
日期耗时产出
Day 13hPrisma Schema(40+ 模型)+ Apple HIG 设计体系
Day 28h6 个核心模块完成
Day 330min快速修复
Day 41.5h分镜表引擎 + 流水线 + 批量审核
Day 53h视觉生成管线 + 财务看板
Day 67h集成联调 + 视频拼接 + 无障碍

23 小时。52,860 行代码。20 个模块。40+ 数据模型。

Day 5 那 3 个小时,我产出了 200 个文件。包括 3 个视频生成适配器、FFmpeg 转场拼接、TTS 集成、帧连续性算法、成本追踪引擎和财务 ROI 看板。

每小时 67 个文件。每小时 2,300 行代码。

案例二:AutomaGo — 浏览器扩展 AI 增强

给已有的 Automa 浏览器扩展加 5 个 AI 模块:模型管理、AI Block、悬浮窗、AI 工作流编排(含 Agent Loop + 多智能体)、MCP 协议服务器。

14 小时。96 个文件。5 个模块全部完成。

其中 MCP Server 模块:11 个文件,6 分钟。


和现有方法论的正面对比

不玩虚的,逐条比:

vs Vibe Coding

Vibe Coding 的问题不是代码质量差——很多时候 AI 写的代码比初级工程师好。问题是没有记忆

Vibe Coding:
  会话1 做了 A 模块 → 结束
  会话2 想做 B 模块 → "什么是 A 模块?"

Relay Coding:
  会话1 做了 A 模块 → 文档更新
  会话2 读文档链路 → "A 模块已完成,B 模块依赖 A 的 auth store,开始做 B"

Vibe Coding 是单次对话的最优解。Relay Coding 是跨会话连续开发的最优解。

vs TDD / Superpowers

Superpowers 项目有一套完整的方法论:Brainstorm → Spec → Plan → Worktree → TDD → Subagent Review → Code Review → Finish Branch。

我算了一笔账。如果用这套流程做 MCP Server 模块:

步骤预估耗时
写设计规格15 min
审批规格5 min
写实现计划10 min
创建 worktree2 min
5 个任务 × TDD + 双阶段审查125 min
最终审查 + 合并15 min
合计~170 min

我实际用了 6 分钟

28 倍的差距。

而且 Superpowers 的作者自己也发现了问题——他们的双 subagent 审查(规格审查 + 代码质量审查)太慢了,每次要 25 分钟,后来改成了 inline self-review(30 秒)。这说明什么?说明连他们自己都受不了这套仪式的成本

TDD 的根本前提是"代码很贵,写之前要验证"。当代码 6 分钟能重新生成时,这个前提不存在了。

vs Spec-Driven Development

Thoughtworks 推的 Spec-Driven Development 方向是对的:规格说明书驱动,代码是派生物。Google 用这个方法做代码迁移,Airbnb 6 周迁移了 3500 个测试文件。

但 SDD 有两个盲区:

  1. 没有跨会话连续性设计。 规格写完了,AI 会话结束了,下一个会话怎么知道要读哪个规格?
  2. 没有知识积累机制。 开发过程中发现的坑、踩过的雷,没有地方记录。下次遇到同样的问题还得重新踩。

Relay Coding 的 BACKLOG.md 解决第二个问题——它不是 TODO 清单,是业务知识库,每条记录包含"为什么出问题"和"怎么解决的"。AI 读到就不会重复犯错。

vs Context Engineering

Anthropic 2025 年 9 月发的 Context Engineering 指南说得很好:"上下文是一级系统,需要架构设计。"

完全同意。但然后呢?

它给了原则,没给目录结构。给了理论,没给模板。

"上下文需要架构设计"——好,那架构长什么样?文件放在哪?AI 按什么顺序读?文档什么时候该删什么时候该留?

Relay Coding 给的是落地方案

  • 目录结构:.claude/ + docs/modules/ + phases/
  • 读取顺序:CLAUDE → RULES → INDEX → CONTEXT/TASKS
  • 生命周期:模块文档持久,阶段计划临时
  • 复杂度控制:stats.sh 强制行数限制
  • 自动注入:hooks/session-start 零手动操作

Context Engineering 是论文,Relay Coding 是可以 cp -r 到你项目里的脚手架。


Relay Coding 的 5 个核心设计

其他方法论要么没有,要么做了但没做到位的:

1. 模块内聚

一个目录 = AI 的完整工作上下文。

前端页面、后端接口、数据模型、阶段计划,全在一个模块目录里。AI 进入这个目录,就能完成全栈开发。不需要在 10 个不同的地方找信息。

没有任何其他方法论定义过"一个目录应该包含什么才够 AI 完成全栈开发"。

2. 文档链路

AI 的上下文不靠对话传递,靠读取顺序。

CLAUDE.md → RULES.md → modules/INDEX.md → modules/X/INDEX.md → phases/phase-N/

新会话 3 分钟获得完整上下文。这不是 AI 的记忆——比记忆更好,因为它不会失真

3. 持久/临时分离

阶段计划是消耗品,模块文档是资产。

phase-1 做完就删。不堆积,不膨胀。其他方法论的文档要么全留(越来越多),要么全丢(知识流失)。

4. 知识积累

BACKLOG.md 不是 TODO 清单,是业务知识库。

每条记录:怎么发现的 → 为什么出问题 → 怎么解决 → 涉及哪些模块。

AI 读到就知道解决方案,不需要重新踩坑。没有其他方法论关注跨阶段的业务知识保留。

5. 复杂度约束

代码超 500 行 → 强制拆分。

stats.sh 自动检测。不是建议,是规则。因为 AI 的上下文窗口有限,单个文件越大,AI 理解得越差。控制文件大小就是控制 AI 的工作质量。


"你这不就是写文档吗?"

不一样。

写文档是给人看的。Relay Coding 的文档是给 AI 设计的认知架构

传统文档:写完没人看,和代码脱节,更新靠自觉。

Relay Coding 文档:

  • AI 每次会话都会读(不是"可以读",是 hooks 自动注入,必须读)
  • 有严格的行数限制(超了就必须拆,防止膨胀)
  • 有明确的生命周期(临时计划完成就删,不堆积)
  • 有结构化的读取顺序(不是随便翻,是链路式逐级展开)

这不是"写文档",这是给 AI 搭建外部记忆系统。


你今天就可以用

Relay Coding 完全开源。

# 安装到你的项目
git clone https://github.com/Jamplesmise/relay-coding.git
cp -r relay-coding/.claude relay-coding/docs relay-coding/scripts relay-coding/hooks your-project/

# 填写你的技术栈
vim .claude/CLAUDE.md

# 开始开发
# session-start hook 自动注入文档链路,AI 直接知道从哪里开始

GitHub: [relay-coding](Jamplesmise/relay-coding: A powerful case)


最后

每隔几个月就有人提出"AI 编程的新范式"。大多数是把旧方法论贴上 AI 标签——TDD 加个 AI 前缀变成 TDVD,Spec 加个 AI 前缀变成 SDD。

真正的范式转移不是给旧方法加前缀,是识别出新的瓶颈并解决它。

旧瓶颈:代码很贵 → 解法:测试、审查、质量保障 新瓶颈:上下文很贵 → 解法:文档链路、模块内聚、知识积累

Vibe Coding 发现了代码不贵这个事实,但没给出替代方案,所以"已经过时"。

Relay Coding 发现了上下文才贵这个事实,并给出了可执行的解法。

23 小时。52,860 行。这是数据,不是口号。