Files
SuperBizAgent-java/docs/architecture/implementation-plan.md
zhuyongxin 429413fe64 docs: 完成 MVP 架构设计文档
- 数据库设计:3张核心表 (diagnosis_record/case_library/api_document)
- Agent架构:4 Agent协作 (Supervisor/Planner/Executor/Verifier)
- 意图识别:L0正则+L1小模型Agent分层
- RAG两层加载:L1预加载通用知识 + L2按需加载具体文档
- Skill体系:/diagnose-by-orderid 标准化诊断流程
- Harness控制:5 Gates + 中断机制
- 会话管理:Redis临时存储 + 扩展方案
- 闭环机制:用户反馈 → BadCase → 优化
- 实施规划:3阶段13天
2026-06-22 18:47:00 +08:00

212 lines
3.6 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.
# 实施规划
## 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%
- 评估:用户反馈
```