Files
ai-ops/docs/IMPLEMENTATION_PLAN.md
2026-05-12 17:48:22 +08:00

200 lines
13 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# AI-Ops 智能运维系统 — 详细实施计划
> 版本v1.0
> 生成日期2026-05-11
> 编制:小龙(统筹)
> 基准:汇总审核报告与改进任务清单
---
## 一、实施总览
| 项目 | 内容 |
|------|------|
| 总任务数 | 48 项P0: 16, P1: 18, P2: 14 |
| 总预估工时 | 24 人天(含 20% 联调缓冲) |
| 建议人员配置 | PM 0.5F + TechLead 0.5F + QA 0.3F + Security 0.2F |
| 总周期 | 2~3 周(并行执行时) |
| 进入开发门禁 | 所有 P0 闭环 + PM/TechLead/QA 三方复审通过 |
---
## 二、时间线
```
Week 1 Week 2 Week 3
|---------------|---------------|---------------|
Phase 0 文档修复 Phase 1+需求 Phase 2+技术 Phase 3+测试 Phase 4+安全
(所有 P0) (所有 P1) (所有 P1) (所有 P1) (P1+P2)
|=======| |=======| |=======| |=======| |=====|
↓复审 ↓复审 ↓复审 ↓复审 ↓复审
```
---
## 三、Phase 0 — 文档修复与对齐Week 116 项8 人天)
**目标:消除所有 P0 问题,确保文档间一致性。本 Phase 是进入开发的绝对前提。**
### 3.1 接口对齐TechLead 主导)
| 任务 ID | 任务名称 | 责任人 | 工时 | 产出物 | 依赖 | 验收标准 |
|----------|----------|--------|------|--------|------|----------|
| D0-01 | 召开接口对齐会 | TechLead | 0.5d | `docs/INTEGRATION_CONTRACT.md` | 无 | HLD/INTERFACE/DEPLOYMENT 三份文档无接口冲突 |
| D0-02 | 补齐或删除 ER 图中 4 张缺失表 | TechLead | 0.5d | HLD §4.2 更新 + `migrations/000001_init_schema.up.sql` 更新 | D0-01 | migration 与 ER 图一致CI `go test` 通过 |
| D0-03 | 统一自愈动作命名 | TechLead | 0.5d | HLD §3.3 + INTERFACE §1.3 + 功能清单 3.1.2 同步更新 | D0-01 | 全文档自愈动作命名一致,搜索无冲突 |
| D0-04 | 定义 IntegrationPlugin Go interface | TechLead | 0.5d | INTERFACE.md 新增 §X | D0-01 | interface 含 Name/Init/RegisterRoutes/HealthChecks/Shutdown 方法,有注释和示例 |
### 3.2 需求修正PM 主导)
| 任务 ID | 任务名称 | 责任人 | 工时 | 产出物 | 依赖 | 验收标准 |
|----------|----------|--------|------|--------|------|----------|
| R0-01 | 解决范围冲突:明确供应商智能切换定位 | PM | 0.5d | PRD §3 更新 + 功能清单 相关章节 | 无 | PRD In/Out of Scope 与功能清单一致,无范围模糊区 |
| R0-02 | 重新估算工期 | PM | 0.5d | 功能清单 “任务估算汇总” 更新 | 无 | 138 任务总估算在 30~40 人天,含缓冲 |
| R0-03 | 补充自愈动作“重启实例”实现任务 | PM | 0.5d | 功能清单 3.1.2 更新 | R0-01 | 功能清单包含重启实例任务,与 AC-6 对应 |
### 3.3 安全基线Security 主导)
| 任务 ID | 任务名称 | 责任人 | 工时 | 产出物 | 依赖 | 验收标准 |
|----------|----------|--------|------|--------|------|----------|
| S0-01 | 在威胁建模中增加 LLM 特有风险 | Security | 0.5d | HLD §10.1 更新 | 无 | 威胁建模覆盖 LLM Top 5 风险,每个有缓解策略 |
| S0-02 | 补充审计表防篡改触发器 | Security | 0.5d | `migrations/000001_init_schema.up.sql` 新增触发器 | D0-02 | 审计表执行 UPDATE/DELETE 时报错,单测验证 |
| S0-03 | 明确审计写入与业务执行的事务顺序 | Security | 0.5d | HLD §3.3 更新 | 无 | 文档明确"先写审计再执行业务",含回滚机制 |
| S0-04 | 补充 WebSocket JWT 鉴权说明 | Security | 0.5d | INTERFACE §3.4 更新 | 无 | WebSocket 接口含连接建立时的 token 校验流程 |
| S0-05 | 在 HLD 中增加参数化查询强制要求 | Security | 0.5d | HLD §4 更新 | 无 | 所有数据库交互层必须使用参数化/预编译查询 |
| S0-06 | 限制 /metrics 端点访问 | Security | 0.5d | INTERFACE §3.2 更新 | 无 | /metrics 含内网 IP 限制或 API Key 鉴权说明 |
### 3.4 测试资产QA 主导)
| 任务 ID | 任务名称 | 责任人 | 工时 | 产出物 | 依赖 | 验收标准 |
|----------|----------|--------|------|--------|------|----------|
| T0-01 | 为 8 个缺失负向用例的 AC 补充负向用例 | QA | 1d | TEST_DESIGN.md + CASES.md 更新 | 无 | 每个 AC 至少 1 正向 + 1 负向PRD AC 覆盖率 100% |
| T0-02 | 补充 F-05~F-08 异常流程用例 | QA | 0.5d | CASES.md 新增 TC-E5~E8 | 无 | 8 条异常流程全部有对应用例 |
| T0-03 | 创建 CI 配置文件 | QA | 0.5d | `.github/workflows/ci.yml` | 无 | PR 提交时自动触发,覆盖率不达标时 exit 1 |
| T0-04 | 创建性能压测目录 | QA | 0.5d | `test/perf/dashboard_k6.js` + `test/perf/drilldown_k6.js` + `test/perf/PERF_ENV.md` | 无 | k6 脚本可执行,含环境规格和 P99 计算方法 |
---
## 四、Phase 1 — 需求与产品级 P1 闭环Week 1~29 项4.5 人天)
**目标PRD 完善AC 可测试,权限明确。**
| 任务 ID | 任务名称 | 责任人 | 工时 | 产出物 | 依赖 | 验收标准 |
|----------|----------|--------|------|--------|------|----------|
| R1-01 | 统一失败判定线 | PM | 0.5d | PRD §2 + §8.3 更新 | R0-01 | 只有一条失败判定线,时间窗口、阈值统一 |
| R1-02 | 删除“不仅仅包括于” | PM | 0.5d | PRD §3 更新 | 无 | In Scope 为封闭列表,无"等”和"包括不仅仅于" |
| R1-03 | 统一通知渠道列表 | PM | 0.5d | PRD AC-4 + 功能清单 更新 | R0-01 | 通知渠道列表在所有文档中一致 |
| R1-04 | AC-7 补充不可篡改技术实现定义 | PM | 0.5d | PRD AC-7 更新 | S0-02 | 明确实现方式(触发器 + 只追加) |
| R1-05 | AC-8 补充“有效”判定标准 | PM | 0.5d | PRD AC-8 更新 | 无 | 明确"有效"的定义非空、JSON 可解析、Schema 匹配) |
| R1-06 | AC-6 补充级联故障回退验收点 | PM | 0.5d | PRD AC-6 更新 | D0-03 | AC-6 含级联故障回退的验收条件 |
| R1-07 | 容量预测AC-9补充可测试标准 | PM | 0.5d | PRD AC-9 更新 | 无 | 含量化指标(如 MAPE<30% |
| R1-08 | 补充 UI 最低兼容性要求 | PM | 0.5d | PRD 新增章节 | 无 | 明确浏览器、分辨率、移动端策略 |
| R1-09 | 细化角色权限矩阵到 API 级别 | PM | 0.5d | PRD AC-12 + 功能清单 G1 更新 | D1-07 | 以表格形式列出各角色对关键 API 的 CRUD 权限 |
---
## 五、Phase 2 — 技术设计级 P1 闭环Week 29 项4.5 人天)
**目标HLD/DEPLOYMENT 完善,部署可执行,规则评估有扩展方案。**
| 任务 ID | 任务名称 | 责任人 | 工时 | 产出物 | 依赖 | 验收标准 |
|----------|----------|--------|------|--------|------|----------|
| D1-05 | 修正 DEPLOYMENT “主备”为 active-active | TechLead | 0.5d | DEPLOYMENT §1.1 更新 | 无 | 描述为多实例多活 + 负载均衡 |
| D1-06 | 分离 migration 执行从 Worker | TechLead | 0.5d | DEPLOYMENT §3.2 更新 | D0-02 | migration 由 init container 或 K8s Job 执行 |
| D1-07 | 补充 `ai_ops_roles` 表结构 | TechLead | 0.5d | HLD §8.1 + migration 更新 | D0-02 | 表含 id/role_name/permissions/created_atCI 通过 |
| D1-08 | 补充 `ai_ops_snapshots` 表结构 | TechLead | 0.5d | HLD §3.3 + migration 更新 | D0-02 | 表含 id/healing_id/state_json/config_version/created_at |
| D1-09 | 完善告警聚合状态机 | TechLead | 0.5d | HLD §5.2 更新 | 无 | 含解除规则、子告警与父告警状态同步策略 |
| D1-10 | 补充规则评估分片策略 | TechLead | 0.5d | HLD §9.1/9.2 更新 | 无 | 含分片键、负载均衡方案、水平扩展策略 |
| D2-12 | 完善 metrics 分区表管理策略 | TechLead | 0.5d | migration + HLD 更新 | D0-02 | 含按天分区或应用层定时任务说明 |
| D2-14 | 补充 Graceful Shutdown WebSocket 关闭策略 | TechLead | 0.5d | DEPLOYMENT §3.2 更新 | S0-04 | 含 close frame + 5s ack 等待机制 |
| D2-15 | 重新校准时序存储容量估算 | TechLead | 0.5d | HLD §9.3 更新 | 无 | 参考 Prometheus 官方公式,给出保守估算 |
---
## 六、Phase 3 — 测试资产完善Week 2~38 项4 人天)
**目标测试用例完整CI 可运行混沌测试有设计E2E 有场景。**
| 任务 ID | 任务名称 | 责任人 | 工时 | 产出物 | 依赖 | 验收标准 |
|----------|----------|--------|------|--------|------|----------|
| T1-01 | 建立覆盖率验证机制 | QA | 0.5d | `scripts/check_coverage.sh` + STRATEGY.md 更新 | T0-03 | CI 中自动解析 coverprofile按模块阻断 |
| T1-02 | 设计 3 条混沌测试用例 | QA | 0.5d | TEST_DESIGN.md 新增混沌测试章节 | T0-02 | 含 Given-When-Then覆盖 Pod 杀死/Redis 分区/PG 切换 |
| T1-03 | 完善测试数据管理规范 | QA | 0.5d | STRATEGY.md 更新 + `test/fixtures/` 目录结构文档 | T0-03 | 含 SQL/JSON/Go seed 三种方式,含大数据生成脚本说明 |
| T1-04 | 为灰度门禁增加自动化判定脚本 | QA | 0.5d | `scripts/gate_check.sh` + TEST_DESIGN.md §5.2 更新 | T0-03 | 脚本可自动采集覆盖率/沙盒验证/安全扫描结果 |
| T1-05 | 明确安全扫描工具与阈值 | QA | 0.5d | STRATEGY.md 更新 | S0-01 | 明确工具Trivy/Gosec、漏洞等级定义、扫描时机 |
| T1-06 | 补充 E2E 详细场景设计 | QA | 0.5d | TEST_DESIGN.md + CASES.md 新增 E2E 章节 | T0-01 | 含完整链路:指标异常→告警触发→通知发送→自愈执行→事件记录 |
| T2-01 | 统一用例编号风格 | QA | 0.5d | TEST_DESIGN.md + CASES.md 全文更新 | T0-01 | 全部统一为 TC-{AC}-{seq} |
| T2-02 | 补充 Webhook 5xx 测试场景 | QA | 0.5d | CASES.md TC-E2 更新 | T0-02 | TC-E2 含 5xx 和 8xx 两种场景 |
---
## 七、Phase 4 — 安全与运营工具Week 36 项3 人天)
**目标:威胁建模完善,安全门禁可执行,商业化闭环有 ROI。**
| 任务 ID | 任务名称 | 责任人 | 工时 | 产出物 | 依赖 | 验收标准 |
|----------|----------|--------|------|--------|------|----------|
| S1-01 | 补充敏感字段脱敏具体实现 | Security | 0.5d | HLD §8 更新 | S0-05 | 含密码替换策略、加密算法、脱敏测试用例 |
| S1-02 | 明确自愈引擎权限边界 | Security | 0.5d | PRD AC-6 + HLD §3.3 更新 | D0-03 | 含重启关键服务的白名单/黑名单机制 |
| R2-01 | 补充 ROI 量化模型 | PM | 0.5d | PRD 新增章节 | R0-02 | 含当前运维成本、目标节省金额、回收周期 |
| R2-02 | 补充发布策略量化门控标准 | PM | 0.5d | PRD §8 更新 | R1-01 | 含噪声率<10%、通知成功率>95% 等可量化条件 |
| R2-03 | 补充审计日志存储成本评估 | PM | 0.5d | PRD + HLD §9.3 更新 | D2-15 | 含压缩率、归档策略、存储成本上限 |
| D2-11 | 优化错误码排版 | TechLead | 0.5d | INTERFACE §3.3 更新 | D0-01 | 错误码分段排版,每个含注释说明 |
---
## 八、关键路径与产出物清单
### 文档级产出物
| 文件路径 | 说明 | 贡献者 |
|----------|------|--------|
| `docs/INTEGRATION_CONTRACT.md` | 外部集成契约唯一信源源 | TechLead |
| `prd/PRD.md` | 主需求文档(更新后) | PM |
| `specs/功能清单.md` | 功能清单(更新后) | PM |
| `tech/HLD.md` | 高层设计(更新后) | TechLead |
| `tech/INTERFACE.md` | 接口设计(更新后) | TechLead |
| `tech/DEPLOYMENT.md` | 部署设计(更新后) | TechLead |
| `tech/TEST_DESIGN.md` | 测试设计(更新后) | QA |
| `test/CASES.md` | 测试用例(更新后) | QA |
| `test/STRATEGY.md` | 测试策略(更新后) | QA |
### 代码级产出物
| 文件路径 | 说明 | 贡献者 |
|----------|------|--------|
| `.github/workflows/ci.yml` | CI Pipeline覆盖率阻断、测试执行、失败通知 | QA |
| `scripts/check_coverage.sh` | 覆盖率解析脚本 | QA |
| `scripts/gate_check.sh` | 灰度门禁自动化判定脚本 | QA |
| `test/perf/dashboard_k6.js` | 看板首页性能压测脚本 | QA |
| `test/perf/drilldown_k6.js` | 下钻性能压测脚本 | QA |
| `test/perf/PERF_ENV.md` | 性能压测环境规格 | QA |
| `test/fixtures/` 目录结构文档 | 测试数据管理规范 | QA |
| `tech/migrations/000001_init_schema.up.sql` | 数据库 schema更新后 | TechLead |
| `docs/汇总审核报告与改进任务清单.md` | 汇总审核报告 | 小龙 |
| `docs/IMPLEMENTATION_PLAN.md` | 本文档 | 小龙 |
---
## 九、门禁与复审机制
| 门禁点 | 条件 | 复审者 |
|------|------|--------|
| Phase 0 完成 | 所有 16 项 P0 任务完成,文档间一致性通过自动化检查 | 小龙 + TechLead |
| Phase 1 完成 | 所有 9 项需求 P1 任务完成PRD 可转测试用例 | PM + QA |
| Phase 2 完成 | 所有 9 项技术 P1 任务完成migration 可执行 | TechLead |
| Phase 3 完成 | 所有 8 项测试任务完成CI 可运行 | QA |
| Phase 4 完成 | 所有 6 项安全/运营任务完成 | Security + PM |
| 进入开发门禁 | 所有 Phase 完成四方PM/TechLead/QA/Security复审通过 | 小龙 |
---
## 十、风险与应对
| 风险 | 概率 | 影响 | 应对策略 |
|------|------|------|----------|
| 接口对齐会迟到或不能达成一致 | 中 | 高 | 由小龙主持PM/TechLead 双方必须参与,不达成一致不开会 |
| 工期估算仍被认为过高 | 低 | 中 | 预留 20% 联调缓冲 + 15% 风险缓冲,每周回顾 |
| QA 资产补齐耗时超预期 | 中 | 中 | 优先完成 T0-01~T0-04P0P1/P2 可延后到开发期补充 |
| Security 审查引发范围变更 | 低 | 高 | S0-01 限于威胁建模文档更新,不扩展为新功能需求 |