# 实施规划 ## Phase 1:核心功能(第1周) ### 实现内容 ``` ✅ diagnosis_record 表 ✅ case_library 表 ✅ api_document 表 ✅ Redis 会话管理 ✅ 单次诊断流程 ``` ### 不实现 ``` ❌ conversation_history 表(先不加) ❌ 会话同步(先不做) ❌ 追问功能(先不支持) ``` ### 验收标准 ``` - 用户输入订单号 → 返回诊断报告 - 诊断记录持久化到 MySQL - 可以查询历史诊断 - 可以统计诊断成功率 - 文档可以导入、查询、删除 - 案例可以推荐 ``` --- ## Phase 2:追问功能(第2周) ### 实现内容 ``` ✅ 支持多轮对话(基于 Redis 上下文) ✅ conversation_history 表(可选) ✅ 会话上下文管理 ``` ### 验收标准 ``` - 用户可以追问细节 - Agent 能基于上下文回答 - 追问不创建新的诊断记录 ``` --- ## Phase 3:优化分析(第3周) ### 实现内容 ``` ✅ 会话同步(Redis → MySQL) ✅ BadCase 分析 ✅ 追问频率统计 ✅ 案例质量评分 ``` ### 验收标准 ``` - 重要会话自动同步到 MySQL - 可以分析用户追问模式 - 可以优化 Prompt 和功能 ``` --- ## 技术债务清单 ### 待优化项(Phase 4+) ``` 1. api_document 增强 - 软删除(archived_at) - 启用开关(enabled) - 批次管理(batch_id) - 状态细化(PARSING/SPLITTING/INDEXING...) 2. case_library 增强 - 复杂评分(useful_count + score) - 标签分类(tags) - 版本管理 - 案例合并 3. 性能优化 - Redis 缓存有效文档列表 - 分页查询优化 - 索引优化 4. 监控告警 - 诊断成功率监控 - 诊断耗时监控 - 文档索引状态监控 ``` --- ## 数据迁移计划 ### 如果已有旧数据 ``` 1. diagnosis_record 迁移 - 旧字段 → 新字段映射 - order_id → business_id - province → fault_source - api_url → fault_target 2. 执行迁移脚本 UPDATE diagnosis_record SET business_id = order_id, fault_category = 'EXTERNAL_API', fault_source = province, fault_target = api_url WHERE fault_category IS NULL; 3. 验证数据一致性 ``` --- ## 部署检查清单 ### Phase 1 部署前 ``` □ MySQL 数据库已创建 □ 三张核心表已创建(diagnosis_record/case_library/api_document) □ Redis 已配置并可连接 □ Milvus Collection 已创建 □ 向量化服务(DashScope)配置正确 □ 文件上传目录已创建并有写权限 □ 应用配置文件检查完成 ``` ### 配置文件示例 ```yaml # application.yml spring: datasource: url: jdbc:mysql://localhost:3306/diagnosis_system username: root password: xxx redis: host: localhost port: 6379 database: 0 milvus: host: localhost port: 19530 collection-name: api_doc_collection dashscope: api-key: sk-xxx file: upload: path: /data/uploads ``` --- ## 回滚方案 ### 数据库回滚 ```sql -- 保留旧表备份 CREATE TABLE diagnosis_record_backup_20240622 AS SELECT * FROM diagnosis_record; -- 回滚时恢复 DROP TABLE diagnosis_record; RENAME TABLE diagnosis_record_backup_20240622 TO diagnosis_record; ``` ### Milvus 回滚 ``` - Milvus 数据无法回滚 - 建议:重要操作前先备份 Collection - 或者:保留原始文件,可重新索引 ``` --- ## 监控指标 ### 核心指标 ``` 1. 诊断成功率 - 目标:> 85% - 告警:< 80% 2. 诊断耗时 - 目标:P95 < 10s - 告警:P95 > 15s 3. 文档索引成功率 - 目标:> 95% - 告警:< 90% 4. 案例推荐准确率 - 目标:> 70% - 评估:用户反馈 ```