第 3 章 · 功能全景
3.1 功能模块总览
ADAP 的功能围绕「一次分析项目」的完整生命周期组织,分为六大模块:
┌─────────────────────────────────────────────────────────┐
│ ADAP 功能全景 │
├────────────┬────────────┬────────────┬──────────────────┤
│ 数据源管理 │ 项目管理 │ AI 分析执行 │ 结果与可视化 │
│ │ │ │ │
│ · 新建数据源 │ · 创建项目 │ · 分析方向 │ · 数据资产总览 │
│ · 保存复用 │ · 草稿模式 │ 推荐确认 │ · 数据画像报告 │
│ · 多源支持 │ · 历史列表 │ · Agent │ · 合规报告 │
│ │ · 删除/下线 │ 实时监控 │ · Athena SQL 历史 │
│ │ │ · 工作日志 │ · QuickSight 入口 │
├────────────┴────────────┴────────────┴──────────────────┤
│ 生产化 系统管理 │
│ · 一键转生产(MWAA DAG) · 全局设置 │
│ · Glue ETL Job 生成 · MWAA / EMR 配置 │
│ · 项目下线 · 认证管理(Cognito) │
└─────────────────────────────────────────────────────────┘3.2 核心功能清单
✅ 已实现功能(MVP → v2.1)
| 功能模块 | 功能点 | 说明 |
|---|---|---|
| 数据源管理 | 新建 MySQL 数据源 | JDBC URL + SSM Key,不传明文密码 |
| 数据源保存与复用 | 下拉选择已有数据源,跳过重复填写 | |
| 项目管理 | 创建分析项目 | 选择数据源 + 输入分析需求 |
| 草稿模式 | 保存草稿,手动触发执行 | |
| 历史项目列表 | 状态筛选、关键词搜索、分页加载 | |
| 项目删除 | 仅元数据删除 / 级联删除(含 AWS 资源) | |
| 项目下线 | 删除 MWAA DAG,停止调度 | |
| 项目重试 | 失败项目支持重新执行 | |
| AI 分析执行 | 数据画像(Analytics Advisor) | 自动 Profiling,字段统计、关联发现、时序分析 |
| 分析方向推荐 | 基于行业知识库 + 数据画像,推荐高价值方向 | |
| 方向确认页 | 多选勾选 + 预计耗时/成本展示 | |
| 数据接入(Data Integration) | MySQL → S3 ODS,Glue Crawler 自动注册 | |
| 幂等复用 | 自动跳过已存在的 ODS 表和 Glue Job | |
| 数据治理(Data Governance) | PII 自动检测 + Lake Formation 标签配置 | |
| 数据建模(Query Builder) | 四层 SQL 自动生成,Athena CTAS 执行 | |
| 可视化(Visualization) | QuickSight 数据集 + 仪表盘自动创建(Direct Query 模式) | |
| 执行监控 | Agent DAG 可视化 | ReactFlow 实时节点状态图 |
| 实时状态推送 | WebSocket 推送,毫秒级响应 | |
| Agent 工作日志 | 从 AgentCore CloudWatch 实时拉取 | |
| 阶段计时器 | 从 Agent 真正启动时刻计时 | |
| 成本实时统计 | Token 消耗 + AWS 服务费用实时累计 | |
| 分析结果 | 数据资产展示 | ODS/DWD/DWS/ADS 分层,含行数/字段数/大小 |
| 数据画像报告 | 关键洞察、表质量评分、字段统计、关联关系图 | |
| 合规报告 | PII 检测结果、Lake Formation 权限配置状态 | |
| Athena SQL 历史 | 所有建表和 ETL SQL 可查、可复制 | |
| QuickSight 入口 | 完成后自动点亮,一键跳转仪表盘 | |
| 生产化 | 一键转生产 | 生成 Airflow DAG + 部署到 MWAA |
| Glue ETL Job 生成 | ODS 增量同步,自动识别 Bookmark Key | |
| EMR Serverless 集成 | PySpark 执行 DWD/DWS/ADS ETL | |
| 系统管理 | 全局设置 | MWAA DAG S3 路径、EMR 配置持久化 |
| 用户认证 | Amazon Cognito,Token 过期自动跳转登录 | |
| 错误监控 | 前端 Sentry 接入,CloudWatch Alarms |
🔜 规划中功能(v3.0)
| 功能点 | 说明 |
|---|---|
| QA 评审 Agent | 每阶段完成后自动质量审查,减少人工介入 |
| FinOps 成本优化 Agent | Athena vs Redshift 引擎选择建议、冷数据归档建议 |
| 持续学习 Agent | 从历史项目积累经验库,推荐越来越准 |
| Human-in-the-Loop(HitL)完整支持 | 关键决策节点人工确认介入 |
| 多数据源支持 | PostgreSQL、Redshift、S3 文件 |
| Agent 详情页 | 每个 Agent 的 Tool 调用时间线(AgentDetailPage) |
3.3 主要用户操作流程
3.3.1 连接数据源
入口:首页 → 「新建数据源」按钮
操作步骤:
- 选择数据源类型(目前支持 MySQL,图标 🗄️)
- 填写连接信息:
- JDBC URL:如
jdbc:mysql://your-host:3306/ecommerce - 用户名:数据库用户名
- SSM Key:AWS SSM Parameter Store 中存储密码的 Key(如
/adap/mysql/password) - 描述(可选):数据源业务说明
- JDBC URL:如
- 保存 → 数据源出现在首页下拉框
⚠️ 安全提示:密码通过 SSM Parameter Store 管理,前端仅填写 Key 名称,不传递明文密码。
3.3.2 创建分析项目
入口:首页主操作区
操作步骤:
- 从下拉框选择已有数据源(或先新建)
- 在输入框描述分析需求(支持自然语言,或从 8 个推荐 Prompt 一键选择):
- 「分析过去一年的电商销售趋势,了解月度GMV变化」
- 「用户RFM分层分析,识别高价值客户群体」
- 「品类表现对比分析,找出增长最快的品类」
- ……共 8 个常见场景
- 选择执行方式:
- 「开始分析」:立即启动,进入 AI 探索阶段
- 「保存草稿」:保存为
draft状态,稍后手动触发
3.3.3 AI 分析方向推荐与确认(DirectionPage)
触发时机:项目进入 ready(待确认)状态后,自动跳转到此页。
页面内容:
① 数据画像卡片(来自 Analytics Advisor Agent)
- 行业识别结果(如:电商、零售、金融)
- 数据规模:表数量、总行数、时间跨度
- 数据质量综合评分
- 关键洞察摘要(如:"存在明显的季节性购买波峰")
- 数据治理徽章(PII 字段数量、合规状态)
② 分析方向列表(来自 Data Product Manager Agent)
每个分析方向卡片展示:
- 方向名称和业务描述
- 涉及的核心数据表
- 核心 KPI 指标列表
- 预计执行时间(分钟)
- 预计 AWS 费用(USD)
- 优先级标签(高 / 中 / 低)
③ 确认操作
- 勾选一个或多个分析方向(多选)
- 点击「确认,开始执行」→ 跳转执行监控页
- 点击「返回」→ 回到首页修改需求
3.3.4 执行监控(MonitorPage)
核心区域:
① Agent DAG 可视化(左侧)
使用 ReactFlow 渲染实时执行图,节点颜色代表状态:
- 🔵 蓝色(运行中):当前正在执行的 Agent
- 🟢 绿色(已完成):执行完成
- 🔴 红色(失败):执行失败
- ⚪ 灰色(待执行):等待中
完整 Agent 执行链路(8 个节点):
数据接入 → 数据画像 → 数据治理 → PRD 规划 → 数据建模 → 可视化② 活跃 Agent 列表(右侧)
每个 Agent 卡片显示:
- Agent 名称和图标
- 当前状态(运行中 / 已完成 / 失败)
- 阶段描述(业务语言,如"正在构建数据分层模型...")
- 计时器(从 Agent 真正启动时刻开始计时)
③ 实时统计(顶部)
- 总已用时
- 实时成本累计(USD)
- 完成阶段数 / 总阶段数
④ Agent 工作日志(底部折叠区)
- 从 AgentCore CloudWatch 实时拉取每个 Agent 的详细执行日志
- 展示 Agent 实际工作内容(而非仅系统事件)
操作按钮:
- 「暂停」:暂停 Step Functions 执行
- 「停止」:中断当前执行
- 「查看结果」:执行完成后点亮,跳转结果页
3.3.5 查看分析结果(ResultPage)
结果页以 Tab 标签页 组织,共 5 个 Tab:
Tab 1:数据资产
按数据层级分组展示所有已生成的表:
| 层级 | 说明 | 展示信息 |
|---|---|---|
| ODS | 原始数据层(来自 MySQL) | 表名、行数、字段数、S3 路径、最后同步时间 |
| DWD | 数据清洗层 | 表名、行数、字段数、大小 |
| DWS | 数据汇总层(按天聚合) | 表名、行数、字段数 |
| ADS | 应用数据层(业务指标) | 表名、行数、字段数 |
页面顶部统计卡片:总成本、总表数、总行数、总存储大小。
Tab 2:数据画像
- 关键洞察列表(top_insights,AI 生成的文字结论)
- 整体质量评分 + 分析潜力评分
- 逐表统计:行数、质量评分、分析标签
- 字段级统计:数据类型、空值率、基数、采样值
- 表间关联关系图(发现的外键关联)
Tab 3:合规报告
- PII 字段扫描结果(命中的字段名、类型、表名)
- Lake Formation 标签配置状态
- 列级访问控制权限清单
- 合规风险摘要
Tab 4:Athena SQL 历史
- Query Builder Agent 执行的所有 SQL 记录
- 每条记录:SQL 内容、执行状态、扫描数据量
- 支持复制单条 SQL
Tab 5:QuickSight 仪表盘
- 仪表盘状态(创建中 / 可用 / 失败)
- 「打开仪表盘」按钮(完成后点亮,跳转 AWS QuickSight)
- 仪表盘基本信息(Dashboard ID、创建时间)
3.3.6 一键转生产
触发条件:项目状态为 completed
入口:监控页右上角 / 结果页顶部 → 「转生产」按钮
配置对话框(多步骤):
第 1 步:基础配置
- MWAA DAG S3 路径(从系统设置读取默认值,可覆盖)
- EMR Serverless Application ID
第 2 步:调度配置
- 调度频率(每日 / 每周,默认每日)
- 首次执行时间
第 3 步:确认 & 执行
- 显示将生成的 Glue ETL Job 列表
- 显示将部署的 DAG 名称
- 确认提交
Production Pipeline Agent 自动完成:
- 读取项目 PRD + 已验证的 Athena SQL(athena_queries)
- 生成 PySpark 脚本(DWD/DWS/ADS 各层 ETL)
- 创建 Glue ETL Job(ODS 增量同步,自动识别时间字段作为 Bookmark Key,使用 Glue 5.0 + Iceberg 格式)
- 生成 Airflow DAG Python 文件(包含完整依赖关系)
- 上传 DAG 到 MWAA S3 桶
- 写回 DynamoDB:
pipeline_dag_name、pipeline_status
执行完成后,监控页显示 MWAA DAG 名称和部署状态。
3.3.7 数据源管理
入口:首页 → 导航栏「数据源」或首页「管理数据源」链接
功能:
- 查看所有已保存的数据源列表
- 新建数据源(填写连接信息)
- 删除数据源(不影响已有项目)
- 每个数据源展示:类型图标、名称、JDBC URL 前缀、最后使用时间、关联项目数
3.3.8 历史项目管理(HistoryPage)
功能:
| 操作 | 说明 |
|---|---|
| 查看列表 | 所有项目,按创建时间降序排列 |
| 状态筛选 | 按状态过滤(全部 / 已完成 / 进行中 / 草稿 / 失败) |
| 关键词搜索 | 按项目描述搜索 |
| 分页加载 | 每页 20 条,支持"加载更多" |
| 刷新 | 手动刷新列表(运行中项目自动轮询) |
| 开始执行 | 草稿项目 → 手动触发执行 |
| 重试 | 失败项目 → 重新执行 |
| 删除 | 支持仅删元数据 or 级联删除 AWS 资源 |
项目卡片展示:状态 Tag(颜色标识)、描述、创建时间、成本(如有)、进度条(运行中项目)。
3.3.9 系统设置(SettingsPage)
入口:导航栏「设置」图标
配置项:
| 配置项 | 说明 | 示例 |
|---|---|---|
| MWAA DAG S3 路径 | Airflow DAG 文件上传目标路径 | s3://my-mwaa-bucket/dags/ |
| EMR Application ID | EMR Serverless 应用 ID | 00abcdef12345678 |
| EMR Job Role ARN | EMR 执行角色 ARN | arn:aws:iam::123456:role/EMRRole |
| Glue Job Role ARN | Glue ETL Job 执行角色 ARN | arn:aws:iam::123456:role/GlueRole |
配置保存到 DynamoDB,供 Production Pipeline Agent 读取作为默认值。
3.3.10 项目下线与删除
下线项目(停止调度,保留数据):
- 结果页 → 「下线」按钮
- 确认后,Production Pipeline Agent 删除对应 MWAA DAG 文件
- 项目状态更新为
offline,数据和分析结果保留
删除项目:
- 模式 A(仅元数据):删除 DynamoDB 中的项目记录和事件记录,AWS 资源(Glue Tables、S3 数据)保留
- 模式 B(级联删除):同时删除 Glue Tables、S3 数据文件、DynamoDB 记录(高危操作,需二次确认)
3.4 项目状态机
项目从创建到完成经历以下状态流转:
┌─ [保存草稿] ──→ draft ──→ [手动触发] ─┐
创建项目 ──→ pending ─┤ ↓
└─ [立即执行] ──────────────────→ initializing
↓
exploring
(AI 数据画像)
↓
ready
(等待用户确认)
↓
[用户确认方向]
↓
prd_in_progress → prd_completed
↓
data_ingestion_in_progress → data_ingestion_completed
↓
data_modeling_in_progress → data_modeling_completed
↓
visualization_in_progress → completed
↓
[可选: 转生产] → production任意阶段失败均可进入 failed 状态,支持重试。
本章参考来源:GitHub Issues #9~#144 全量、前端源码 pages/ 目录、frontend/src/constants/agents.ts、frontend/src/types/index.ts