金句:用 AI 做系统设计,不是把决策权交给机器,而是让机器帮你快速看到你没看到的角落,然后由你做出更好的决策。
一、传统系统设计 vs AI 辅助系统设计
传统流程(耗时 1-2 周):
需求评审 → 白板讨论 → 原型设计 → 技术选型调研 → 架构评审 → 文档编写
AI 辅助流程(压缩到 1-2 天):
需求描述 → AI 生成多方案 → 团队评审 → AI 深化细节 → 验证可行性 → 文档自动化
关键不是"更快",而是质量不降反升——AI 会帮你考虑你可能遗漏的场景。
二、五步 AI 辅助系统设计法
步骤一:需求结构化(15分钟)
原始需求(通常是模糊的产品文档):
"做一个在线教育平台,支持视频课程、直播课、作业提交和学生管理"
提示词:
我有一个产品需求,请帮我结构化分析:
原始需求:[粘贴需求文档]
请从以下维度分析:
1. 核心功能列表(按优先级)
2. 用户角色和权限
3. 数据实体和关系
4. 非功能性需求(性能、可用性、安全)
5. 可能遗漏的边界情况
6. 技术风险点
AI 输出示例:
## 核心功能(按优先级)
P0(MVP):
- 用户注册/登录(学生、讲师、管理员)
- 课程创建和管理
- 视频上传和播放
- 学生购买和访问控制
P1(第一版):
- 直播功能(基于第三方 SDK)
- 作业提交和批改
- 学习进度追踪
P2(后续迭代):
- 学习社区和讨论区
- 证书生成
- 推荐算法
## 遗漏的边界情况(⚠️ 重要)
- 视频版权保护(防录屏、防外链)
- 直播断线重连策略
- 大并发直播的资源扩容方案
- 敏感内容审核合规要求
- 退款退课的业务规则
步骤二:技术选型辅助(30分钟)
基于以上需求分析,请帮我比较以下技术方案:
后端框架:Spring Boot vs NestJS vs FastAPI
视频处理:自建 vs 阿里云视频点播 vs 腾讯云直播
数据库:MySQL + Redis vs PostgreSQL + Redis vs MongoDB
搜索:Elasticsearch vs 全文搜索
重点考虑因素:
- 团队技术栈(目前 Node.js 为主)
- 预算(初创公司,成本敏感)
- 上线时间要求(3个月内MVP)
- 未来扩展性(可能到 100 万用户)
步骤三:生成架构方案
提示词:
基于以上分析,请设计系统架构。要求:
1. 用 Mermaid 图展示系统架构
2. 说明各服务职责
3. 说明关键数据流(用户购课、视频播放、直播流程)
4. 说明数据库 Schema 设计(核心表)
5. 说明 API 设计(RESTful,关键接口)
AI 生成的架构图:
graph TB
subgraph 客户端
Web[Web 浏览器]
App[移动 App]
end
subgraph 网关层
CDN[CDN]
Gateway[API Gateway<br/>限流/认证/路由]
end
subgraph 业务服务层
UserSvc[用户服务<br/>注册/登录/权限]
CourseSvc[课程服务<br/>课程/章节/内容]
OrderSvc[订单服务<br/>购买/退款]
LiveSvc[直播服务<br/>接入腾讯云直播]
NotifySvc[通知服务<br/>邮件/短信]
end
subgraph 存储层
MySQL[(MySQL<br/>业务数据)]
Redis[(Redis<br/>缓存/Session)]
OSS[(对象存储<br/>视频文件)]
end
subgraph 第三方服务
Payment[支付宝/微信支付]
VideoCloud[阿里云视频点播]
LiveCloud[腾讯云直播]
end
Web & App --> CDN
CDN --> Gateway
Gateway --> UserSvc & CourseSvc & OrderSvc & LiveSvc
UserSvc & CourseSvc & OrderSvc --> MySQL
UserSvc --> Redis
CourseSvc --> OSS
OrderSvc --> Payment
CourseSvc --> VideoCloud
LiveSvc --> LiveCloud
步骤四:关键路径深化
针对最复杂的业务流程,进行详细设计:
请详细设计"用户购课并观看视频"的完整业务流程:
1. 时序图(从用户点击购买到视频播放完成)
2. 视频访问控制方案(如何防止未购课的人观看)
3. 断点续播的数据设计
4. 并发控制(防止超卖)
步骤五:文档自动化
请基于以上设计,生成以下文档:
1. 技术方案说明书(Word 格式的 Markdown)
2. API 接口文档(OpenAPI 3.0 格式的 YAML)
3. 数据库 ER 图(Mermaid 格式)
4. 部署架构图(Mermaid 格式)
三、系统设计中 AI 的边界
AI 擅长:
- 生成方案选项和比较
- 查找遗漏的边界情况
- 生成文档和图表
- 参考行业最佳实践
AI 不擅长(需要人来决策):
- 业务优先级判断(哪个功能更重要)
- 团队能力评估(这个技术我们能不能用好)
- 成本与质量的权衡(做到什么程度是合适的)
- 组织架构匹配(Conway 定律)
章节小结:AI 辅助系统设计的核心价值在于"快速发散"——在短时间内生成多种方案、找到遗漏的边界情况、自动化文档输出。但架构决策的最终判断仍需要人——那些基于业务理解、团队能力和组织结构的综合判断,是 AI 暂时无法替代的。