在讨论 BMAD 之前,需要先理解一个根本性问题:AI 到底是"怎么工作"的。这个问题的答案直接影响我们如何正确使用 AI 进行开发。
一、AI 的本质:预测下一个 token
理解 AI 的能力边界,先要理解 AI 的工作原理。
大语言模型的核心机制非常简单:根据已有的文本序列,预测下一个最可能出现的 token(词/子词)。
这个过程可以形式化为:
AI 本身并不"理解"代码,它只是在模仿训练数据中见过的模式。这带来两个关键结论:
| AI 擅长 | AI 不擅长 |
|---|---|
| 按已有模式生成内容 | 真正理解业务目标 |
| 处理大量信息 | 处理模糊、歧义的需求 |
| 执行明确指令 | 做全新的推理 |
AI 见过海量代码,所以能写出看起来正确的代码,但它不知道这段代码为什么要这样写。
各 AI 大模型为什么不一样
虽然所有大语言模型都基于"预测下一个 token"的工作机制,但不同模型之间存在差异:
| 差异维度 | 说明 |
|---|---|
| 训练数据 | 代码占比、质量不同 |
| 上下文窗口 | 影响长项目处理能力 |
| 对齐技术 | RLHF/DPO1影响指令遵循能力 |
二、AI 编程的三大崩溃
当用 AI 进行软件开发时,会遇到三个核心问题,统称为"三大崩溃"。
2.1 上下文崩溃(Context Collapse)
AI 的上下文窗口(Context Window)有上限。即使模型支持 100K token,真实项目可能涉及数百万 token 的代码和文档。
典型表现:
- 让 AI 修改一个函数,它忘记了同文件中另一个相关函数
- 让 AI 实现登录功能,它重新写了一个已有的用户模块
- 让 AI 添加新功能,它改动了不相关的代码导致 bug
2.2 任务崩溃(Task Collapse)
如果不给 AI 明确的任务边界,它会"放飞自我"。
你说"做个商城",AI 可能:
- 每个功能都写一点
- 没有统一的架构
- 代码风格不一致
- 最后变成无法维护的"屎山"
2.3 质量崩溃(Quality Collapse)
AI 生成的代码 bug 率远高于人类程序员。
常见问题:
| 问题类型 | 典型表现 |
|---|---|
| 幻觉 | 调用不存在的 API、使用不存在的库 |
| 安全风险 | 硬编码密码、SQL 注入漏洞 |
| 逻辑错误 | 边界条件未处理、异常未捕获 |
| 风格问题 | 命名不一致、格式混乱 |
2.4 判断力退化(容易被忽视的问题)
除了技术问题,Vibe Coding 还有一个容易被忽视的危害:人的判断力在退化。
当你习惯了"出错 → 贴报错 → 让AI再改"这个循环,你会逐渐失去对代码的深度理解。你可能说不清某个模块到底是怎么工作的,只是知道"让AI改改能跑"。
| 以前 | Vibe Coding 后 |
|---|---|
| 理解代码为什么这样写 | 只知道"能跑" |
| 能定位 bug 在哪 | 只会贴报错给 AI |
| 知道技术选型的理由 | 依赖 AI 做决定 |
AI 时代,最稀缺的不是能写代码的人,而是能判断代码好坏的人。
三、AI 编程的演进
3.1 进化历程
| 阶段 | 时间 | 特点 | 程序员角色 |
|---|---|---|---|
| 语法补全 | 2013-2018 | 预测下一个词 | 代码工人 |
| 智能补全 | 2018-2021 | 代码片段建议 | 副驾驶 |
| 对话编程 | 2021-2023 | 自然语言生成代码 | 需求描述者 |
| IDE 集成 | 2023-2024 | 多文件操作 | 协作者 |
| Vibe Coding | 2024-2025 | AI 主导实现 | 审核者 |
| Agent 主导 | 2025-未来 | 全流程自主执行 | 架构师 |
3.2 Vibe Coding 的困境
Vibe Coding(凭感觉编程)由 Andrej Karpathy 提出,核心理念是"用自然语言描述需求,AI 直接生成整个应用"。
问题在于:这种模式缺乏系统化的工程管理,代码质量完全不可控。
3.3 Agentic Engineering 的提出
Andrej Karpathy 进一步提出了 Agentic Engineering(智能体工程化)的概念:
AI 时代的软件开发是一门需要学习的专业技术。
核心变化:
- 以前:人写代码,AI 辅助
- 现在:人定义目标和架构,AI 执行具体任务
SDD:给AI立规矩
面对 Vibe Coding 的问题,社区提出了 Spec-Driven Development (SDD) 思路:先写规格,再让 AI 干活。
主流三个框架对比:
| 框架 | 核心理念 | 适用场景 |
|---|---|---|
| Spec Kit | 宪法+七阶段门禁 | 0→1 新项目 |
| OpenSpec | 增量 Delta | 日常迭代改功能 |
| BMAD | 多 Agent 模拟团队 | 复杂项目 / 学习 |
- Spec Kit:GitHub 官方出品,适合需要严格流程管控的场景
- OpenSpec:轻量级,适合在已有项目上做增量开发
- BMAD:覆盖最全面,适合想系统学习 AI 开发全流程的团队
四、BMAD 是什么
BMAD 全称 Breakthrough Method of Agile AI Driven Development(敏捷 AI 驱动开发的突破性方法),是一个 AI 驱动的敏捷开发框架。
官方定义:帮助完成从构思规划到智能体实现的完整软件开发过程。
4.1 核心思路
BMAD 让 AI 模拟一个完整的软件团队:
内置 12+ 领域专家智能体,覆盖产品、设计、开发、测试全流程。
4.2 解决三大崩溃
| 崩溃 | BMAD 方案 |
|---|---|
| 上下文崩溃 | 文档分片 + Epic Sharding |
| 任务崩溃 | Epic → Story → Task 层级 |
| 质量崩溃 | Create → Validate → Edit 循环 |
五、BMAD 核心机制
5.1 步骤文件架构
每个步骤都重新加载上下文,避免 AI “中间迷失”:
5.2 任务分层
5.3 三模式循环
每个工作流都具备三种能力:
5.4 完整工作流
BMAD 背后的原理:Context Engineering
BMAD 的"步骤文件架构"本质上是在解决一个问题:如何管理 AI 的认知。
AI 就像一个"失忆的强同事"——每次坐下来都需要准备好它需要的材料。材料不全,它干不好活;材料太多,它会迷失在信息海洋里。
Context Engineering(上下文工程)是 Anthropic 提出的概念,核心思路是系统性地管理 AI 在每次交互中能"看到"的信息:
| 层级 | 内容 |
|---|---|
| System Context | AI 规则、角色定义 |
| Project Context | 项目背景、架构、技术栈 |
| Task Context | 当前任务的需求和约束 |
| Local Context | 当前代码的具体实现 |
BMAD 通过每步重新加载上下文,让 AI 始终"记得"该记得的事——这正是 Context Engineering 的实践。
六、BMGD 模块:游戏开发工作室
BMGD(Game Dev Studio)是 BMAD 的游戏开发模块,专注于游戏开发场景。
6.1 功能特性
- 多引擎支持:Unity、Unreal、Godot、自定义引擎
- GDD 生成:游戏设计文档自动生成
- Quick Dev 模式:快速原型制作
- 叙事设计支持:角色、对话、世界构建
- 21+ 种游戏类型:包含特定引擎的架构指导
6.2 安装方式
| |
或直接安装:
| |
6.3 开发模式
| 模式 | 适用场景 |
|---|---|
| Quick Dev | 快速原型验证、概念验证 |
| Epic 冲刺 | 完整生产开发周期 |
进阶:让AI开发具有复利
传统 SDD 有一个局限:每次任务都要从头组装上下文。上次做类似功能积累的经验、踩过的坑、选的方案——下次做相似的事,AI 不记得。你得重新告诉它一遍。
Compound Engineering(复利工程)想要解决的是这个问题:让 AI 开发系统具有"学习能力"。
核心思路:每次完成任务后,把方案、踩过的坑、决策理由抽取出来,写入经验索引。下次遇到类似场景,这些经验会被自动加载到 AI 的上下文里。
这就是从"人指挥 AI"到"AI 为人工作"的转变。
七、未来程序员的核心能力
AI 时代,程序员的核心能力发生转变:
| 能力 | 作用 |
|---|---|
| 架构能力 | 告诉 AI 怎么拆分模块、选什么方案 |
| Prompt 能力 | 把需求清晰、无歧义地表达给 AI |
| Review 能力 | 一眼看出 AI 生成代码的问题 |
| 产品思维 | 知道该做什么,比知道怎么做更重要 |
AI 时代,最稀缺的不是能写代码的人,而是能定义好问题的人。
八、总结
BMAD 本质上是在回答一个问题:如何让 AI 开发变得可控。
从 Vibe Coding 的"快速但混乱",到 Agentic Engineering 的"工程化",再到 BMAD 的"系统框架",AI 编程正在从粗放走向精细。
关键认知:
- AI 的本质是"预测下一个 token",是模仿而非思考
- 三大崩溃(上下文、任务、质量)是 AI 开发的根本挑战
- BMAD 通过步骤文件、任务分层、三模式循环来解决这些问题
- BMGD 模块为游戏开发提供了专业的工作流
未来,不会淘汰程序员,但会淘汰"只会在键盘上打字的人"。
参考资料:
RLHF (Reinforcement Learning from Human Feedback) 和 DPO (Direct Preference Optimization) 是训练时让模型更好地理解人类意图的技术 ↩︎