Skip to content

第 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 成本优化 AgentAthena vs Redshift 引擎选择建议、冷数据归档建议
持续学习 Agent从历史项目积累经验库,推荐越来越准
Human-in-the-Loop(HitL)完整支持关键决策节点人工确认介入
多数据源支持PostgreSQL、Redshift、S3 文件
Agent 详情页每个 Agent 的 Tool 调用时间线(AgentDetailPage)

3.3 主要用户操作流程

3.3.1 连接数据源

入口:首页 → 「新建数据源」按钮

操作步骤

  1. 选择数据源类型(目前支持 MySQL,图标 🗄️)
  2. 填写连接信息:
    • JDBC URL:如 jdbc:mysql://your-host:3306/ecommerce
    • 用户名:数据库用户名
    • SSM Key:AWS SSM Parameter Store 中存储密码的 Key(如 /adap/mysql/password
    • 描述(可选):数据源业务说明
  3. 保存 → 数据源出现在首页下拉框

⚠️ 安全提示:密码通过 SSM Parameter Store 管理,前端仅填写 Key 名称,不传递明文密码。


3.3.2 创建分析项目

入口:首页主操作区

操作步骤

  1. 从下拉框选择已有数据源(或先新建)
  2. 在输入框描述分析需求(支持自然语言,或从 8 个推荐 Prompt 一键选择):
    • 「分析过去一年的电商销售趋势,了解月度GMV变化」
    • 「用户RFM分层分析,识别高价值客户群体」
    • 「品类表现对比分析,找出增长最快的品类」
    • ……共 8 个常见场景
  3. 选择执行方式:
    • 「开始分析」:立即启动,进入 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 自动完成

  1. 读取项目 PRD + 已验证的 Athena SQL(athena_queries)
  2. 生成 PySpark 脚本(DWD/DWS/ADS 各层 ETL)
  3. 创建 Glue ETL Job(ODS 增量同步,自动识别时间字段作为 Bookmark Key,使用 Glue 5.0 + Iceberg 格式)
  4. 生成 Airflow DAG Python 文件(包含完整依赖关系)
  5. 上传 DAG 到 MWAA S3 桶
  6. 写回 DynamoDB:pipeline_dag_namepipeline_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 IDEMR Serverless 应用 ID00abcdef12345678
EMR Job Role ARNEMR 执行角色 ARNarn:aws:iam::123456:role/EMRRole
Glue Job Role ARNGlue ETL Job 执行角色 ARNarn:aws:iam::123456:role/GlueRole

配置保存到 DynamoDB,供 Production Pipeline Agent 读取作为默认值。


3.3.10 项目下线与删除

下线项目(停止调度,保留数据):

  1. 结果页 → 「下线」按钮
  2. 确认后,Production Pipeline Agent 删除对应 MWAA DAG 文件
  3. 项目状态更新为 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

Released under the MIT License.