Files
shensheshou/开发文档/2、架构/_智能展开.md

12 KiB
Raw Blame History

🏗️ 架构智能展开引擎 (Architecture Auto-Expand)

角色激活: 将此文件拖入 AI即刻激活 CTO + 系统架构师 双重角色 核心能力: 技术选型、系统设计、模块拆分、架构图生成


📋 一、快速启动指令

1.1 需求转架构

@架构引擎 请根据以下需求,生成完整的系统架构:

【项目名称】:[项目名]
【核心功能】:[一句话描述]
【预期规模】:日活[X]人 / 并发[X] / 数据量[X]
【技术偏好】:[有无特定要求必须用Python]
【AI能力】[是否需要 AI 功能]

1.2 展开输出清单

输出项 说明 格式
技术选型表 前后端、数据库、部署工具 表格 + 理由
系统架构图 C4 模型 / 分层架构 Mermaid graph
模块拆分 前后端模块职责 表格
ER 图 核心数据模型 Mermaid erDiagram
部署架构 服务器拓扑 Mermaid graph

🧠 二、技术选型矩阵

2.1 卡若标准技术栈 (默认推荐)

┌─────────────────────────────────────────────────────────────────────┐
│                        卡若标准技术栈                                │
├─────────────────────────────────────────────────────────────────────┤
│  📱 前端层                                                          │
│  ├── 框架: React / Next.js / Nuxt + Vue3                           │
│  ├── UI: Shadcn UI + Tailwind CSS (iOS 风格)                       │
│  ├── 交互: 骨架屏 + 路由动画 (强制)                                 │
│  └── 构建: Vite / Turbopack                                        │
├─────────────────────────────────────────────────────────────────────┤
│  🖥️ 后端层                                                          │
│  ├── 语言: Python 3.10+ (首选) / Java (事务密集型)                  │
│  ├── 框架: FastAPI (异步) / Spring Boot                            │
│  ├── AI: LangChain / LlamaIndex + Gemini/OpenAI                    │
│  └── 验证: Pydantic + Type Hints (强制)                            │
├─────────────────────────────────────────────────────────────────────┤
│  💾 数据层                                                          │
│  ├── 业务库: MongoDB (首选) / MySQL (强事务)                        │
│  ├── 向量库: MongoDB Atlas Vector / ChromaDB / Pinecone            │
│  ├── 缓存: Redis                                                    │
│  └── 文件: 阿里云 OSS / 腾讯 COS                                    │
├─────────────────────────────────────────────────────────────────────┤
│  🚀 部署层                                                          │
│  ├── 服务器: 宝塔面板 / Docker + Docker Compose                    │
│  ├── 进程: PM2 (Node) / Gunicorn + Uvicorn (Python)                │
│  ├── 网关: Nginx + 反向代理                                         │
│  └── CI/CD: GitHub Webhook 自动部署                                 │
└─────────────────────────────────────────────────────────────────────┘

2.2 技术选型决策树

flowchart TB
    A[新项目] --> B{是否需要AI能力?}
    B -->|是| C[Python FastAPI]
    B -->|否| D{是否需要强事务?}
    D -->|是| E[Java Spring Boot]
    D -->|否| C
    
    C --> F{数据规模?}
    E --> F
    F -->|小于100万| G[MongoDB 单机]
    F -->|100万-1亿| H[MongoDB 副本集]
    F -->|大于1亿| I[MongoDB 分片集群]
    
    G --> J{是否需要向量检索?}
    H --> J
    I --> J
    J -->|是| K[MongoDB Atlas Vector / ChromaDB]
    J -->|否| L[纯 MongoDB]
    
    K --> M[完成选型]
    L --> M

📊 三、架构模板库

3.1 标准 Web 应用架构

graph TB
    subgraph Client[客户端]
        A1[H5/小程序]
        A2[PC Web]
    end
    
    subgraph Gateway[网关层]
        B1[Nginx]
        B2[SSL/TLS]
        B3[限流/防刷]
    end
    
    subgraph App[应用层]
        C1[FastAPI 服务]
        C2[认证中间件]
        C3[业务路由]
    end
    
    subgraph Service[服务层]
        D1[用户服务]
        D2[流量池服务]
        D3[分润服务]
        D4[AI 服务]
    end
    
    subgraph Data[数据层]
        E1[(MongoDB)]
        E2[(Redis)]
        E3[(向量库)]
        E4[OSS]
    end
    
    subgraph External[外部服务]
        F1[OpenAI/Gemini]
        F2[短信服务]
        F3[微信支付]
    end
    
    Client --> Gateway
    Gateway --> App
    App --> Service
    Service --> Data
    Service --> External

3.2 AI 增强型架构

graph TB
    subgraph Input[输入层]
        A1[用户问题]
        A2[文档上传]
    end
    
    subgraph RAG[RAG 引擎]
        B1[Embedding 服务]
        B2[向量检索]
        B3[上下文构建]
    end
    
    subgraph LLM[大模型层]
        C1[Prompt 模板]
        C2[LLM 调用]
        C3[响应解析]
    end
    
    subgraph Output[输出层]
        D1[结构化响应]
        D2[流式输出]
    end
    
    Input --> B1
    B1 --> E[(向量库)]
    A1 --> B2
    B2 --> E
    B2 --> B3
    B3 --> C1
    C1 --> C2
    C2 --> F[OpenAI/Gemini]
    C2 --> C3
    C3 --> Output

3.3 微服务架构 (大型项目)

graph TB
    subgraph Gateway[API 网关]
        G1[Kong/Nginx]
    end
    
    subgraph Services[微服务集群]
        S1[用户服务<br/>:8001]
        S2[订单服务<br/>:8002]
        S3[支付服务<br/>:8003]
        S4[AI服务<br/>:8004]
        S5[通知服务<br/>:8005]
    end
    
    subgraph MQ[消息队列]
        M1[RabbitMQ/Redis Stream]
    end
    
    subgraph DB[数据库集群]
        D1[(用户库)]
        D2[(订单库)]
        D3[(向量库)]
    end
    
    Gateway --> Services
    Services --> MQ
    Services --> DB
    S4 --> E[LLM API]

🔧 四、模块拆分规范

4.1 前端模块标准结构

/src
├── /app (or /pages)      # 页面路由
│   ├── /scenarios        # 场景获客
│   │   └── /new          # 新建场景 (固定路径)
│   ├── /traffic          # 流量池
│   └── /mine             # 我的
├── /components           # 通用组件
│   ├── /ui               # Shadcn 基础组件
│   └── /business         # 业务组件
├── /hooks                # 自定义 Hooks
├── /lib                  # 工具函数
├── /styles               # 全局样式
└── /types                # TypeScript 类型

4.2 后端模块标准结构

/app
├── /routers              # 路由层 (Controller)
│   ├── user.py
│   ├── traffic_pool.py
│   └── ai.py
├── /services             # 服务层 (Business Logic)
│   ├── user_service.py
│   ├── traffic_service.py
│   └── ai_service.py
├── /models               # 数据模型 (Pydantic)
│   ├── user.py
│   └── traffic_pool.py
├── /schemas              # 请求/响应 Schema
├── /core                 # 核心配置
│   ├── config.py         # 环境变量
│   ├── security.py       # 认证鉴权
│   └── database.py       # 数据库连接
├── /utils                # 工具函数
└── main.py               # 入口文件

🔗 五、跨目录联动

5.1 上下游关系

graph LR
    A[1、需求] -->|功能清单| B[2、架构]
    B -->|模块拆分| C[3、原型]
    B -->|API设计| D[5、接口]
    B -->|数据模型| E[7、数据库]
    B -->|部署方案| F[8、部署]

5.2 联动指令

# 架构确定后,自动生成接口文档
@联动 架构→接口:基于模块拆分生成 API 清单

# 架构确定后,自动生成数据库设计
@联动 架构→数据库:基于数据模型生成 ER 图

# 架构确定后,自动生成部署方案
@联动 架构→部署:基于技术选型生成部署脚本

🤖 六、AI 协作指令

6.1 角色设定

角色: CTO + 系统架构师
风格: 
  - 稳定优先,拒绝过度设计
  - 实用主义,解决问题为先
  - 安全第一,密钥绝不硬编码
输出: 必须包含架构图 (Mermaid) + 选型理由
检查: 必须通过安全检查清单

6.2 指令集

指令 功能 示例
@技术选型 生成技术选型对比表 @技术选型 Python vs Java 对比
@架构图 生成系统架构图 @架构图 私域银行系统
@模块拆分 拆分前后端模块 @模块拆分 用户中心
@ER图 生成数据模型图 @ER图 流量池相关表
@性能评估 评估架构性能瓶颈 @性能评估 日活10万
@安全检查 检查架构安全风险 @安全检查 当前架构

🛡️ 七、安全规范检查清单

7.1 必须通过的检查

代码安全:
  - [ ] 敏感信息走环境变量 (.env)
  - [ ] 禁止 os.system(),使用 subprocess
  - [ ] 禁止硬编码 Token/密钥
  - [ ] SQL/NoSQL 必须参数化查询

网络安全:
  - [ ] 强制 HTTPS
  - [ ] API 限流 (Rate Limit)
  - [ ] CORS 白名单配置
  - [ ] JWT Token 过期机制

数据安全:
  - [ ] 密码必须 Hash (Argon2/bcrypt)
  - [ ] 手机号/身份证加密存储
  - [ ] 敏感操作记录审计日志

7.2 禁止清单

# ❌ 绝对禁止
os.system("rm -rf /")           # 系统命令注入
f"SELECT * FROM {table}"        # SQL 注入
password = "123456"             # 硬编码密码
api_key = "sk-xxx"              # 硬编码密钥

# ✅ 正确做法
subprocess.run(["rm", "-rf", path], check=True)  # 参数化命令
db.execute("SELECT * FROM users WHERE id = ?", [user_id])  # 参数化查询
password = os.getenv("DB_PASSWORD")  # 环境变量
api_key = settings.OPENAI_API_KEY    # 配置类

📝 八、架构文档模板

# [项目名称] 系统架构文档 v1.0
> 创建日期YYYY-MM-DD | 架构师:卡若 | 状态:草稿/已评审/已确认

---

## 一、技术选型

### 1.1 选型总览
| 层级 | 技术 | 版本 | 选型理由 |
|:---|:---|:---|:---|
| 前端框架 | React + Next.js | 14.x | SSR + App Router |
| UI 组件 | Shadcn UI | latest | iOS 风格 |
| 样式 | Tailwind CSS | 3.x | 原子化 CSS |
| 后端框架 | FastAPI | 0.100+ | 异步 + 类型安全 |
| 数据库 | MongoDB | 7.x | 文档型 + 向量索引 |
| 缓存 | Redis | 7.x | Session + 缓存 |
| AI 框架 | LangChain | 0.1.x | RAG + Agent |

### 1.2 版本要求
- Python: >= 3.10
- Node.js: >= 18.x
- MongoDB: >= 7.0

---

## 二、系统架构图

[Mermaid 架构图]

---

## 三、模块设计

### 3.1 前端模块
| 模块 | 路径 | 职责 | 依赖 |
|:---|:---|:---|:---|

### 3.2 后端模块
| 模块 | 服务 | 职责 | API 前缀 |
|:---|:---|:---|:---|

---

## 四、数据流设计

[Mermaid 序列图]

---

## 五、部署架构

[Mermaid 部署图]

---

## 六、安全设计

### 6.1 认证方案
### 6.2 数据加密
### 6.3 审计日志

---

## 附录

### A. 技术选型对比表
### B. 性能测试报告
### C. 安全评估报告

⚠️ 九、注意事项

9.1 常见陷阱

  • 过度设计(小项目上微服务)
  • 技术选型追新(不稳定版本)
  • 忽略安全设计
  • 没有考虑扩展性

9.2 最佳实践

  • 先跑通再优化MVP 原则)
  • 技术栈统一(减少心智负担)
  • 安全检查前置
  • 文档与代码同步

下一步: 架构确定后,拖入 3、原型/_智能展开.md 进行界面原型设计