# AI全流程兜底闭环 ## 1. 核心理念 两个月自研一套对标泰岳的4A系统,**不可能靠纯人工完成**。AI不是锦上添花,而是项目成功的前提条件。 核心策略:**AI最大化替代重复性工作,人工聚焦架构设计、安全审查和关键决策。** --- ## 2. AI在各个阶段的介入点 ### 2.1 开发阶段 ``` ┌─────────────────────────────────────────────────────────────────────┐ │ 开发阶段 AI 介入 │ │ │ │ ┌────────────────────┐ ┌────────────────────┐ │ │ │ AI代码生成 │ │ AI代码审查 │ │ │ │ │ │ │ │ │ │ • API层CRUD代码 │ │ • 安全漏洞扫描 │ │ │ │ • 数据模型→SQL │ │ (SQL注入/XSS/越权) │ │ │ │ • Service层业务逻辑 │ │ • 接口规范一致性检查 │ │ │ │ • 前端列表/表单页面 │ │ • 日志埋点完整性检查 │ │ │ │ • 单元测试代码 │ │ • 异常处理覆盖率检查 │ │ │ │ • 接口文档生成 │ │ • 代码风格统一 │ │ │ └────────────────────┘ └────────────────────┘ │ │ │ │ ┌────────────────────┐ ┌────────────────────┐ │ │ │ AI数据模型辅助 │ │ AI对接适配器生成 │ │ │ │ │ │ │ │ │ │ • 从泰岳界面反推 │ │ • 金科人脸API适配器 │ │ │ │ 数据模型 │ │ • 消息中心API适配器 │ │ │ │ • 字段映射脚本生成 │ │ • 现网账号同步适配器 │ │ │ │ • 数据迁移/同步 │ │ • 亚信接口规范适配器 │ │ │ │ 代码生成 │ │ • 泰岳接口模拟器 │ │ │ └────────────────────┘ └────────────────────┘ │ └─────────────────────────────────────────────────────────────────────┘ ``` **AI代码生成策略**: 1. **模型选型**:使用 DeepSeek/Claude 等具有编程能力的模型 2. **Prompt模板化**:为每种代码类型(API CRUD、数据模型、单元测试、接口适配层)建立标准 Prompt 3. **微调/知识注入**:将本项目的表结构定义、接口规范作为 System Prompt 上下文 4. **人机协作**:AI生成初稿 → 人工审查 → AI根据Review意见修正 → 循环至满意 5. **生成量目标**:争取 60-70% 的业务代码由AI完成初稿 ### 2.2 测试阶段 ``` ┌──────────────────────────────────────────────────────────────────────┐ │ 测试阶段 AI 介入 │ │ │ │ 1. 测试用例自动生成 │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ 输入: API接口定义/数据模型/业务规则描述 → AI生成: │ │ │ │ - 正常流程测试用例集 │ │ │ │ - 异常路径测试用例集(参数错误/越权/并发/超时) │ │ │ │ - 边界条件测试用例集(空值/超长/特殊字符/数据溢出) │ │ │ │ - 安全性测试用例(SQL注入/XSS/CSRF/越权枚举) │ │ │ │ - 压力测试基准脚本 │ │ │ └──────────────────────────────────────────────────────────┘ │ │ │ │ 2. 与泰岳版行为比对测试 │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ AI Agent 框架: │ │ │ │ │ │ │ │ ① AI录制泰岳版操作 → 生成操作序列 │ │ │ │ ② AI将操作序列转为自动化测试脚本 │ │ │ │ ③ AI同时在泰岳版和自研版执行测试脚本 │ │ │ │ ④ AI比对两系统的: │ │ │ │ - 接口请求/响应差异 │ │ │ │ - 界面元素/流程差异 │ │ │ │ - 数据持久化结果差异 │ │ │ │ ⑤ AI输出差异报告,标注关键程度 │ │ │ └──────────────────────────────────────────────────────────┘ │ │ │ │ 3. 回归测试自愈 │ │ - 当代码变更导致测试失败时,AI自动分析失败原因 │ │ - 测试预期结果过时?AI自动更新测试用例 │ │ - 产品逻辑改变?AI识别并标记为"预期变化" │ │ - 测试环境问题?AI标记为"环境异常"而非"功能失败" │ └──────────────────────────────────────────────────────────────────────┘ ``` ### 2.3 部署阶段 ``` ┌──────────────────────────────────────────────────────────────────────┐ │ 部署阶段 AI 介入 │ │ │ │ 1. 基础设施编排 │ │ ┌───────────────────────────────────────────────────────────┐ │ │ │ AI生成 Ansible Playbook / Terraform 配置: │ │ │ │ - 服务器初始化(OS调优、安全基线配置) │ │ │ │ - 中间件部署(Nginx/Redis/MySQL/ES/MinIO) │ │ │ │ - 应用部署(认证中心/资源中心/审计中心各模块) │ │ │ │ - 网络策略配置(防火墙规则、反向代理、TLS证书) │ │ │ └───────────────────────────────────────────────────────────┘ │ │ │ │ 2. 配置差异自适应 │ │ ┌───────────────────────────────────────────────────────────┐ │ │ │ 当部署失败时,AI分析错误日志: │ │ │ │ - 配置参数与环境不匹配?AI推荐正确值 │ │ │ │ - 依赖组件版本冲突?AI推荐兼容版本组合 │ │ │ │ - 权限问题?AI生成正确的权限设置命令 │ │ │ │ - 网络不可达?AI诊断网络路径 + 推荐修复方案 │ │ │ └───────────────────────────────────────────────────────────┘ │ │ │ │ 3. CI/CD Pipeline │ │ ┌───────────────────────────────────────────────────────────┐ │ │ │ 流水线步骤(AI辅助维护): │ │ │ │ │ │ │ │ [代码提交] → [AI代码审查] → [AI生成测试] → [自动编译] │ │ │ │ → [单元测试] → [集成测试] → [AI比对测试] → [安全扫描] │ │ │ │ → [构建镜像] → [部署到测试环境] → [冒烟测试] → [通知] │ │ │ └───────────────────────────────────────────────────────────┘ │ └──────────────────────────────────────────────────────────────────────┘ ``` ### 2.4 运维阶段 ``` ┌──────────────────────────────────────────────────────────────────────┐ │ 运维阶段 AI 介入 │ │ │ │ 1. 智能告警与根因分析 │ │ ┌───────────────────────────────────────────────────────────┐ │ │ 场景1:用户反馈"登录不上了" │ │ │ AI排查链路:API超时?→ Redis连接失败?→ Redis进程挂了? │ │ │ → OOM被Killed?→ 内存泄漏? │ │ │ 根因定位后AI自动在5分钟内输出根因报告 + 修复方案 │ │ │ │ │ 场景2:SSO跳转后白屏 │ │ │ AI排查链路:前端报错→ API返回500 → 后端日志ClassNotFound │ │ │ → 发版时删了jar包 → 回滚建议 │ │ │ └───────────────────────────────────────────────────────────┘ │ │ │ │ 2. 数据一致性巡检 │ │ ┌───────────────────────────────────────────────────────────┐ │ │ AI Agent定时任务(每天凌晨执行): │ │ │ ✓ 自研系统账号数与现网账号平台对比 → 偏差 > 0.1% 告警 │ │ │ ✓ 昨日新增的日志量与API调用量匹配度 → 缺漏事件告警 │ │ │ ✓ 授权数据完整性和无循环引用 → 数据损坏告警 │ │ │ ✓ 密钥轮换成功率检测 → 失败操作通知管理员 │ │ │ └───────────────────────────────────────────────────────────┘ │ │ │ │ 3. 性能基线追踪 │ │ ┌───────────────────────────────────────────────────────────┐ │ │ 持续采集: │ │ │ - API响应时间 P50/P95/P99(按接口维度) │ │ │ - 认证成功率/耗时趋势 │ │ │ - ES查询响应时间趋势 │ │ │ - 堡垒机并发数/响应延迟趋势 │ │ │ │ │ 当性能偏离基线 > 20%时,AI自动生成性能分析报告 │ │ │ 与上一发版/配置变更/流量突增做关联分析 │ │ │ └───────────────────────────────────────────────────────────┘ │ └──────────────────────────────────────────────────────────────────────┘ ``` --- ## 3. 与泰岳版的比对验证方案 ### 3.1 验证框架 ``` ┌────────────────────────────────────────────────────────────────────────┐ │ 比对验证框架 │ │ │ │ ┌────────────────────┐ ┌────────────────────┐ │ │ │ 功能覆盖度验证 │ │ 行为一致性验证 │ │ │ ├────────────────────┤ ├────────────────────┤ │ │ │ 工具: AI扫描 + │ │ 工具: AI Agent │ │ │ │ 功能矩阵表 │ │ 录制→回放→比对 │ │ │ │ 方法: │ │ 方法: │ │ │ │ ① 列出泰岳版所有 │ │ ① 录制泰岳版操作 │ │ │ │ 功能点 │ │ ② 生成测试脚本 │ │ │ │ ② 逐项标记自研版 │ │ ③ 在两系统执行 │ │ │ │ 覆盖状态 │ │ ④ AI比对行为差异 │ │ │ │ ③ AI辅助识别遗漏 │ │ ⑤ 输出差异报告 │ │ │ └────────────────────┘ └────────────────────┘ │ │ │ │ ┌────────────────────┐ ┌────────────────────┐ │ │ │ 性能基准验证 │ │ 安全基准验证 │ │ │ ├────────────────────┤ ├────────────────────┤ │ │ │ 工具: JMeter/k6 │ │ 工具: 安全扫描器+AI │ │ │ │ 方法: │ │ 方法: │ │ │ │ ① 相同硬件上运行 │ │ ① OWASP Top10扫描 │ │ │ │ ② 定义核心场景 │ │ ② 认证机制审查 │ │ │ │ (登录/SSO/授权/ │ │ ③ 敏感数据加密审计 │ │ │ │ 日志查询) │ │ ④ 越权测试 │ │ │ │ ③ 逐步增加并发 │ │ ⑤ AI对比差异 + │ │ │ │ ④ AI输出对比曲线 │ │ 给出安全建议 │ │ │ └────────────────────┘ └────────────────────┘ │ └────────────────────────────────────────────────────────────────────────┘ ``` ### 3.2 功能覆盖度矩阵(示例片段) | 功能模块 | 功能点 | 泰岳版 | 自研版 | 完成度 | 备注 | |---------|--------|--------|--------|--------|------| | 认证 | 密码认证 | ✓ | ✓ | 100% | | | 认证 | 短信验证码 | ✓ | ✓ | 100% | | | 认证 | 人脸识别认证 | ✓ | ✓ | 100% | 金科接口 | | 认证 | SIM卡无感认证 | — | ✓ | 100% | 自研特有 | | 认证 | LDAP集成 | ✓ | ☐ | 0% | 二期 | | 认证 | MFA策略配置 | ✓ | ✓ | 100% | | | 账号 | 账号新建 | ✓ | ✓ | 100% | | | 账号 | 账号批量导入 | ✓ | ✓ | 100% | | | 账号 | 账号同步(多源) | ✓ | ✓ | 100% | | | 账号 | 密码策略配置 | ✓ | ✓ | 100% | | | 应用SSO | OIDC协议 | ✓ | ✓ | 100% | | | 应用SSO | SAML协议 | ✓ | ✓ | 80% | 部分场景验证中 | | 应用权限 | RBAC模型 | ✓ | ✓ | 100% | | | 应用权限 | ABAC策略 | — | ✓ | 100% | 自研特有 | | 应用权限 | 临时授权 | ✓ | ✓ | 100% | | | 系统资源 | 资产纳管 | ✓ | ✓ | 100% | | | 系统资源 | 批量导入资产 | ✓ | ✓ | 100% | | | 系统资源 | 命令白名单 | ✓ | ✓ | 100% | | | 系统资源 | 命令拦截 | ✓ | ✓ | 100% | | | 系统资源 | 密码轮换 | ✓ | ✓ | 50% | 实现中 | | 堡垒机 | SSH单点登录 | ✓ | ✓ | 100% | | | 堡垒机 | RDP单点登录 | ✓ | ☐ | 0% | 二期 | | 堡垒机 | 会话录制 | ✓ | ✓ | 100% | | | 堡垒机 | 会话回放 | ✓ | ✓ | 80% | 播放器优化中 | | 审计 | 操作日志 | ✓ | ✓ | 100% | | | 审计 | 合规规则引擎 | — | ✓ | 100% | 自研特有 | | 审计 | 定时报表 | ✓ | ✓ | 100% | | | 审计 | 自定义报表 | ✓ | ✓ | 80% | 查询条件还在完善 | ### 3.3 比对验证AI Agent(核心设计) ```yaml 验证Agent设计: 输入: - 泰岳版API/界面操作录制 - 自研版API/界面操作 - 期望行为描述 处理流程: 1. 理解场景: 从录制内容中提取操作步骤和预期结果 2. 脚本生成: 将操作步骤转换为可执行的测试脚本 3. 双系统执行: 并行在泰岳版和自研版中执行 4. 结果采集: 捕获接口请求/响应、页面状态、数据变更 5. 差异分析: - 返回JSON字段差异 - 流程状态机步骤差异 - 数据持久化差异 - 错误处理差异 6. 差异分级: Critical: 功能缺失/数据丢失 Major: 行为不符合预期 Minor: 界面/错误提示文本差异 Info: 实现方式不同但结果一致 7. 报告生成: 输出结构化差异报告 输出: - 功能覆盖度百分比 - 行为一致度评分 - 差异清单(含分级和截图/调用链) - 建议排期(哪些差异需要立即修复) ``` --- ## 4. 用户发现问题 → 闭环解决的AI全链路支持 ### 4.1 问题闭环流程 ``` ┌──────────────────────────────────────────────────────────────────────┐ │ 用户反馈 → AI初步诊断 → 自动修复/路由 → 人工确认 → 知识沉淀 │ │ │ │ 阶段1: 用户反馈 │ │ ┌──────────────────────────────────────────────────────────────┐ │ │ │ 用户: "我通过4A跳转到报销系统,显示'无权限',但我昨天还能用" │ │ │ └──────────────────────────────────────────────────────────────┘ │ │ │ │ │ ▼ │ │ 阶段2: AI初步诊断 │ │ ┌──────────────────────────────────────────────────────────────┐ │ │ │ AI Agent 自动排查: │ │ │ │ ① 查询该用户的权限分配记录(最近变更) │ │ │ │ ② 查询报销系统的应用注册配置是否变更 │ │ │ │ ③ 查询用户所属组织的角色继承链路 │ │ │ │ ④ 检查授权有效期是否已过期 │ │ │ │ ⑤ 模拟该用户的权限验证请求 │ │ │ │ │ │ │ │ 初步结论:用户角色有效期已过期(昨日到期) │ │ │ └──────────────────────────────────────────────────────────────┘ │ │ │ │ │ ▼ │ │ 阶段3: 自动修复 / 路由 │ │ ┌──────────────────────────────────────────────────────────────┐ │ │ │ 自动处理: │ │ │ │ ① 生成角色续期申请单(自动填充用户信息+原有角色) │ │ │ │ ② 推送给用户的直接上级审批 │ │ │ │ ③ 回复用户:"经排查,您对报销系统的访问权限已于昨日到期。 │ │ │ │ 已为您生成续期申请,请等待审批人确认,预计5分钟内恢复。" │ │ │ └──────────────────────────────────────────────────────────────┘ │ │ │ │ │ ▼ │ │ 阶段4: 人工确认 │ │ ┌──────────────────────────────────────────────────────────────┐ │ │ │ 审批人确认 → 权限生效 │ │ │ │ AI自动通知用户:"权限已恢复,请重新登录报销系统" │ │ │ └──────────────────────────────────────────────────────────────┘ │ │ │ │ │ ▼ │ │ 阶段5: 知识沉淀 │ │ ┌──────────────────────────────────────────────────────────────┐ │ │ │ AI将本次问题 + 排查链路 + 修复方案 存入"问题知识库" │ │ │ │ 同类问题下次出现时,AI可更快定位 + 自动修复 │ │ │ │ 定期输出"常见问题处理SOP" 给运维团队 │ │ │ └──────────────────────────────────────────────────────────────┘ │ └──────────────────────────────────────────────────────────────────────┘ ``` ### 4.2 问题知识库设计 ```sql CREATE TABLE T_ISSUE_KNOWLEDGE ( id BIGINT PRIMARY KEY AUTO_INCREMENT, issue_type VARCHAR(64) NOT NULL COMMENT '问题类型', symptom TEXT NOT NULL COMMENT '用户描述的症状', diagnosis_steps JSON NOT NULL COMMENT '排查步骤(结构化)', root_cause TEXT COMMENT '根因分析', solution TEXT COMMENT '解决方案', auto_fixable TINYINT NOT NULL DEFAULT 0 COMMENT '是否可自动修复', auto_fix_script TEXT COMMENT '自动修复脚本/指令', severity VARCHAR(16) COMMENT 'high/medium/low', occurrence_count INT NOT NULL DEFAULT 1, last_occurrence DATETIME, created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, INDEX idx_issue_type (issue_type), INDEX idx_symptom (symptom(100)) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='问题知识库'; ``` ### 4.3 AI闭环成熟度模型 | 阶段 | 能力 | 目标月份 | |------|------|---------| | L1: 人工全流程 | 用户反馈 → 人工排查 → 人工修复 | 第1个月 | | L2: AI辅助诊断 | AI根据知识库推荐排查路径 + 建议修复方案 | 第1-2个月 | | L3: AI半自动修复 | AI可处理 >50% 的常见问题(权限过期、配置错误等) | 第2个月+ | | L4: AI全自动闭环 | AI自动发现、自动诊断、自动修复、自动通知 | 后续迭代 | --- ## 5. 技术实现要点 ### 5.1 AI工具链选型 | 用途 | 工具/平台 | 备注 | |------|----------|------| | 代码生成 | Claude / DeepSeek Coder | 用于核心逻辑编写 | | 代码审查 | DeepSeek + 自定义规则 | 自动化Review | | 测试生成 | AI Agent(自定义实现) | 基于接口定义生成 | | 比对验证 | AI Agent | 录制→回放→比对 | | 部署编排 | Ansible + AI生成Playbook | 配置即代码 | | 运维Agent | 自建Agent框架 | 使用LLM API | | 知识库 | 向量数据库(Milvus/Chroma) | 问题案例语义搜索 | ### 5.2 Prompt策略 | 场景 | Prompt策略 | |------|-----------| | 代码生成 | 给出完整的表结构、接口规范、业务规则描述,要求严格遵循 | | 测试生成 | 给出API定义,要求覆盖正常/异常/边界/安全场景 | | 问题诊断 | 给出系统日志、用户描述、相关配置,要求结构化输出排查链路 | | 比对验证 | 给出双系统的操作结果,要求逐字段比对并分级差异 | ### 5.3 重要提醒 > **AI不是银弹**。关键约束: > 1. AI生成的代码必须经过人工安全审查——尤其涉及认证和授权的逻辑 > 2. AI不擅长系统架构决策——架构师责任不可外包 > 3. AI生成的测试用例依赖人类确认预期结果是否正确 > 4. 数据一致性场景AI不能100%信任——关键路径需人工复核 > 5. 泰岳版接口反推中,AI只能辅助分析,最终结论需人工验证