Files
SuperBizAgent-java/mvp/architecture/implementation-plan.md
T
zhuyongxin 60be51f4a5 docs: 重构文档结构,分离学习笔记和 MVP 架构设计
**变更概述:**
- 将 MVP 架构设计文档独立到项目根目录 `mvp/`
- 整理 `docs/` 为纯学习和分析文档目录
- 按类型分类:learning(学习)、analysis(分析)、reports(报告)、guides(指南)

**目录结构:**
```
mvp/                          # MVP 架构设计(独立)
├── README.md                 # 数据库设计总览
├── architecture/             # 架构文档
│   ├── agent-architecture-mvp.md
│   ├── implementation-plan.md
│   └── ...
└── tables/                   # 数据表设计

docs/                         # 学习和分析文档
├── learning/                 # 学习笔记(00-08 编号)
├── analysis/                 # 分析笔记 + 重构计划
├── reports/                  # 临时报告
└── guides/                   # 指南文档
```

**详细变更:**
- docs/README.md → mvp/README.md(数据库设计入口)
- docs/architecture/ → mvp/architecture/(架构设计)
- docs/tables/ → mvp/tables/(数据表设计)
- docs/学习笔记-*.md → docs/learning/07-*.md, 08-*.md
- docs/项目学习路径.md → docs/learning/00-*.md
- docs/功能分析报告.md → docs/analysis/
- docs/修复报告-*.md → docs/reports/
- docs/日志配置*.md → docs/guides/ 或 docs/reports/
- docs/design/ → docs/analysis/(问题分析和重构计划)
2026-06-23 14:14:51 +08:00

3.6 KiB
Raw Blame History

实施规划

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)配置正确
□ 文件上传目录已创建并有写权限
□ 应用配置文件检查完成

配置文件示例

# 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

回滚方案

数据库回滚

-- 保留旧表备份
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%
   - 评估:用户反馈