第22讲|需求分析到架构设计:AI 辅助的系统设计全流程

3 阅读1分钟

金句:用 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 暂时无法替代的。