Files
AIclinicalresearch/docs/03-业务模块/ASL-AI智能文献/04-开发计划/03-任务分解.md
HaHafeng a79abf88db docs(platform): Complete platform infrastructure planning
- Create platform infrastructure planning core document (766 lines)
- Update architecture design to support cloud-native deployment
- Update development specs and operations documentation
- Simplify ASL module docs by removing duplicate implementations

New Documents:
- Platform Infrastructure Planning (04-骞冲彴鍩虹璁炬柦瑙勫垝.md)
- Cloud-Native Development Standards (08-浜戝師鐢熷紑鍙戣鑼?md)
- Git Commit Standards (06-Git鎻愪氦瑙勮寖.md)
- Cloud-Native Deployment Guide (03-浜戝師鐢熼儴缃叉灦鏋勬寚鍗?md)
- Daily Summary (2025-11-16 work summary)

Updated Documents (11 files):
- System architecture design docs (3 files)
- Implementation and standards docs (4 files)
- Operations documentation (1 file)
- ASL module planning docs (3 files)

Key Achievements:
- Platform-level infrastructure architecture established
- Zero-code switching between local/cloud environments
- 100% support for 4 PRD deployment modes
- Support for modular product combinations
- 99% efficiency improvement for module development
- Net +1426 lines of quality documentation

Implementation: 2.5 days (20 hours) for 8 infrastructure modules
2025-11-16 21:36:57 +08:00

943 lines
25 KiB
Markdown
Raw 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.
# ASL 模块任务分解To-do List
> **文档版本:** V3.0
> **创建日期:** 2025-11-16
> **适用阶段:** MVP标题摘要初筛
> **预计周期:** 4 周
> **最后更新:** 2025-11-16
> **⭐ 重要基于真实架构Frontend-v2 + Backend + asl_schema**
---
## 📋 使用说明
本文档是 **ASL 标题摘要初筛模块** 的详细任务分解清单,基于 **真实的架构基础**
- ✅ Frontend-v2顶部导航 + 模块注册)- Week 2 已完成
- ✅ Backend 增量演进legacy/ + common/ + modules/- Week 2 已完成
- ✅ 数据库 10个Schema隔离 - Week 1 已完成
**任务状态标记**
- `[ ]` - 待开始
- `[🔄]` - 进行中
- `[✅]` - 已完成
- `[❌]` - 已取消/跳过
---
## 🌥️ 云原生开发要求2025-11-16 新增)
> **⭐ 重要提醒**:所有任务必须遵循云原生开发规范
> **详细规范**[云原生开发规范](../../../04-开发规范/08-云原生开发规范.md)
### 核心要求
| 要求 | 说明 |
|------|------|
| ✅ **存储抽象层** | 使用 `StorageFactory`,支持本地/OSS切换 |
| ✅ **内存解析** | Excel导入使用 `xlsx.read(buffer)`,不落盘 |
| ✅ **异步任务** | LLM筛选必须异步处理> 10秒 |
| ✅ **环境变量** | 所有配置从 `.env` 读取 |
| ✅ **数据库连接池** | 使用全局 `prisma` 实例 |
| ✅ **OSS字段预留** | `pdfUrl`, `pdfOssKey`, `pdfFileSize` |
### 每日检查清单
提交代码前必须确认:
- [ ] 是否使用存储抽象层?
- [ ] 是否避免文件落盘?
- [ ] 是否使用全局 prisma 实例?
- [ ] 是否所有配置都从环境变量读取?
- [ ] 长时间任务是否异步处理?
---
## 🗓️ Week 1: 数据库Schema与后端API框架Day 1-5
### Day 1: Prisma Schema 设计
#### 数据库任务
- [ ] **T1.1.1** 设计 asl_schema 表结构
- 文件:`backend/prisma/schema.prisma`
- 新增4个模型
- `AslScreeningProject`(筛选项目表)
- `AslLiterature`(文献条目表)
- `AslScreeningResult`(筛选结果表)
- `AslScreeningTask`(筛选任务表)
- 使用 `@@schema("asl_schema")` 指定Schema
- **⭐ 新增要求(云原生)**:在 `AslLiterature` 中添加 OSS 字段
- `pdfUrl String? @map("pdf_url")` - PDF访问URL
- `pdfOssKey String? @map("pdf_oss_key")` - OSS存储Key
- `pdfFileSize Int? @map("pdf_file_size")` - 文件大小(字节)
- 说明MVP阶段预留V1.0阶段使用
- 预计耗时2 小时
- 负责人:后端开发
- 参考:`02-标题摘要初筛开发计划.md` Week 1 Day 1
- [ ] **T1.1.2** 在 User 模型中添加关联
```prisma
// backend/prisma/schema.prisma - User模型添加
aslProjects AslScreeningProject[] @relation("AslProjects")
```
- 预计耗时10 分钟
- 负责人:后端开发
- [ ] **T1.1.3** 运行 Prisma 迁移
```bash
cd backend
npx prisma migrate dev --name add_asl_screening_tables
```
- 预计耗时5 分钟
- 负责人:后端开发
- [ ] **T1.1.4** 生成 Prisma Client
```bash
npx prisma generate
```
- 预计耗时5 分钟
- 负责人:后端开发
- [ ] **T1.1.5** 验证数据库表创建
- 使用 DBeaver 连接数据库
- 检查 asl_schema 下的4个表
- 检查索引和外键
- 预计耗时15 分钟
- 负责人:后端开发
**Day 1 验收标准**
- ✅ asl_schema 4张表创建成功
- ✅ Prisma Client 生成无错误
- ✅ 可查询 asl_schema 表
---
### Day 2: 后端目录结构创建
> **⭐ 前置条件2025-11-16 更新)**:平台已提供存储服务
> **说明**:存储抽象层已在平台级实现(`backend/src/common/storage/`ASL模块可直接使用
> **参考文档**[平台基础设施规划](../../../09-架构实施/04-平台基础设施规划.md)
#### 平台服务说明ASL模块无需实现
**平台已提供以下服务**
| 服务 | 路径 | 使用方式 | 说明 |
|------|------|---------|------|
| 存储服务 | `common/storage/` | `import { storage } from '@/common/storage'` | 文件上传下载(本地/OSS |
| 日志系统 | `common/logging/` | `import { logger } from '@/common/logging'` | 标准化日志输出 |
| 异步任务 | `common/jobs/` | `import { jobQueue } from '@/common/jobs'` | 长时间任务处理 |
| 缓存服务 | `common/cache/` | `import { cache } from '@/common/cache'` | 分布式缓存 |
| 数据库 | `config/database.ts` | `import { prisma } from '@/config/database'` | 全局Prisma实例 |
**示例代码**
```typescript
// ASL模块直接使用平台服务
import { storage } from '@/common/storage'
import { logger } from '@/common/logging'
import { jobQueue } from '@/common/jobs'
import { prisma } from '@/config/database'
// 上传文件
const url = await storage.upload('asl/literature/123.pdf', pdfBuffer)
// 记录日志
logger.info('Literature uploaded', { projectId, url })
// 创建异步任务
const job = await jobQueue.push('asl:screening', { projectId })
```
---
#### 后端任务
- [ ] **T1.2.1** 创建 ASL 模块目录结构
```bash
cd backend/src/modules
mkdir -p asl/{routes,controllers,services,schemas,types,utils}
```
- 预计耗时5 分钟
- 负责人:后端开发
- [ ] **T1.2.2** 创建路由文件
- `routes/index.ts` - 路由注册
- 实现占位函数返回404或空数组
- 预计耗时30 分钟
- 负责人:后端开发
- [ ] **T1.2.3** 创建控制器文件
- `controllers/projectController.ts` - 项目控制器
- `controllers/literatureController.ts` - 文献控制器
- `controllers/screeningController.ts` - 筛选控制器
- 创建占位函数每个控制器5-7个函数
- 预计耗时1 小时
- 负责人:后端开发
- [ ] **T1.2.4** 创建服务层文件
- `services/projectService.ts` - 项目业务逻辑
- `services/literatureService.ts` - 文献业务逻辑
- `services/llmScreeningService.ts` - LLM筛选服务
- 预计耗时30 分钟
- 负责人:后端开发
- [ ] **T1.2.5** 创建类型定义文件
```typescript
// types/screening.types.ts
export interface Literature { ... }
export interface ScreeningResult { ... }
export interface Protocol { ... }
```
- 预计耗时30 分钟
- 负责人:后端开发
**Day 2 验收标准**
- ✅ ASL 模块目录结构完整
- ✅ 所有占位文件创建完成
- ✅ 可正常使用平台服务storage/logger/prisma等
---
### Day 3: 注册ASL路由
#### 后端任务
- [ ] **T1.3.1** 实现 `routes/index.ts`
- 注册所有API路由
- 参考 `legacy/routes/` 的风格
- 预计耗时1 小时
- 负责人:后端开发
- 参考:`02-标题摘要初筛开发计划.md` Week 1 Day 2
- [ ] **T1.3.2** 在 `src/index.ts` 中注册ASL路由
```typescript
import { aslRoutes } from './modules/asl/routes/index.js'
await app.register(aslRoutes, { prefix: '/api/v1/asl' })
console.log('✅ ASL 路由已注册到 /api/v1/asl/*')
```
- 预计耗时10 分钟
- 负责人:后端开发
- [ ] **T1.3.3** 测试路由可访问性
```bash
# 启动后端服务
cd backend && npm run dev
# 测试健康检查
curl http://localhost:3001/api/v1/asl/projects
```
- 预计耗时10 分钟
- 负责人:后端开发
**Day 3 验收标准**
- ✅ 后端服务正常启动
- ✅ ASL路由注册成功
- ✅ API可访问返回空数组或404
---
### Day 4-5: 实现基础API
#### 后端任务
- [ ] **T1.4.1** 实现 `projectService.ts`
- `createProject(userId, data)` - 创建项目
- `listProjects(userId)` - 获取项目列表
- `getProject(projectId)` - 获取项目详情
- 使用 Prisma Client 操作 asl_schema
- 预计耗时2 小时
- 负责人:后端开发
- [ ] **T1.4.2** 实现 `projectController.ts`
- `createProject` - 控制器
- `listProjects` - 控制器
- `getProject` - 控制器
- 请求验证、响应格式化
- 预计耗时1.5 小时
- 负责人:后端开发
- [ ] **T1.4.3** 实现 `literatureService.ts`
- `importBatch(projectId, literatures)` - 批量导入
- `listLiteratures(projectId, page, pageSize)` - 分页查询
- 去重逻辑基于DOI和标题
- 预计耗时2 小时
- 负责人:后端开发
- [ ] **T1.4.4** 实现 `literatureController.ts`
- `importLiteratures` - 导入控制器
- `listLiteratures` - 列表控制器
- Excel数据验证
- 预计耗时1.5 小时
- 负责人:后端开发
- [ ] **T1.4.5** Postman 测试
- 创建 Postman 测试集合
- 测试所有已实现的API
- 预计耗时1 小时
- 负责人:后端开发
**Day 4-5 验收标准**
- ✅ 项目管理API可调用
- ✅ 文献导入API可调用
- ✅ 数据正确保存到 asl_schema
---
## 🗓️ Week 2: LLM筛选核心Day 6-10
### Day 6: JSON Schema 与提示词设计
#### 后端任务
- [ ] **T2.1.1** 定义 JSON Schema
- 文件:`backend/src/modules/asl/schemas/screening.schema.ts`
- 定义输出结构decision, reason, confidence, pico
- 预计耗时1 小时
- 负责人:后端开发 + AI工程师
- [ ] **T2.1.2** 安装验证库
```bash
cd backend
npm install ajv
```
- 预计耗时5 分钟
- 负责人:后端开发
- [ ] **T2.1.3** 编写 Schema 验证函数
- 使用 `Ajv` 验证
- 错误信息格式化
- 预计耗时30 分钟
- 负责人:后端开发
- [ ] **T2.1.4** 设计提示词模板 v1.0.0
- 文件:`backend/prompts/asl/screening/v1.0.0-basic.txt`
- 包含PICO标准、纳排标准、输出格式
- 预计耗时2 小时
- 负责人AI工程师 + 医学专家
- [ ] **T2.1.5** 人工测试提示词
- 手动调用 LLM使用 10 篇样本)
- 评估输出质量
- 迭代优化提示词
- 预计耗时2 小时
- 负责人AI工程师
**Day 6 验收标准**
- ✅ JSON Schema 定义完成
- ✅ 提示词人工测试准确率 ≥ 80%
---
### Day 7: LLM 服务封装
#### 后端任务
- [ ] **T2.2.1** 创建 `llmScreeningService.ts`
- 预计耗时10 分钟
- 负责人:后端开发
- [ ] **T2.2.2** 实现 `callModel` 方法
- 调用 `LLMFactory.createLLM()`(复用 common/llm
- 设置参数temperature: 0
- 错误处理
- 预计耗时1 小时
- 负责人:后端开发
- [ ] **T2.2.3** 实现 `parseModelOutput` 方法
- JSON 解析(使用 `common/utils/jsonParser.js`
- Schema 验证
- 格式化为 `ModelDecision`
- 预计耗时1 小时
- 负责人:后端开发
- [ ] **T2.2.4** 实现 `compareDecisions` 方法
- 对比两个模型的 PICO 判断
- 识别冲突字段
- 预计耗时1 小时
- 负责人:后端开发
- [ ] **T2.2.5** 实现 `shouldReview` 方法
- 自动分流规则
- 置信度阈值(< 0.7
- 预计耗时30 分钟
- 负责人:后端开发
- [ ] **T2.2.6** 实现 `dualModelScreening` 方法
- 并行调用两个模型(`Promise.all`
- 汇总结果
- 预计耗时1 小时
- 负责人:后端开发
- [ ] **T2.2.7** 单元测试
- 测试 JSON 解析
- 测试冲突检测
- 测试分流规则
- 预计耗时2 小时
- 负责人:后端开发
**Day 7 验收标准**
- ✅ 可成功调用 DeepSeek 和 Qwen3
- ✅ JSON Schema 验证通过率 > 95%
- ✅ 冲突检测准确
---
### Day 8: 批量筛选任务管理
#### 后端任务
- [ ] **T2.3.1** 实现 `batchScreening` 方法
- 分组逻辑15篇/组)
- 并行处理(`Promise.all`
- 进度计算
- 预计耗时2 小时
- 负责人:后端开发
- [ ] **T2.3.2** 实现任务创建
- `screeningService.createTask`
- 初始化任务记录AslScreeningTask表
- 预计耗时1 小时
- 负责人:后端开发
- [ ] **T2.3.3** 实现任务状态更新
- `screeningService.updateTaskProgress`
- 更新 processedItems, successItems 等
- 预计耗时1 小时
- 负责人:后端开发
- [ ] **T2.3.4** 实现结果保存
- `screeningService.saveResults`
- 批量保存到 `AslScreeningResult` 表
- 预计耗时1.5 小时
- 负责人:后端开发
- [ ] **T2.3.5** 错误处理和重试
- 单篇失败不影响整体
- 记录错误信息
- 预计耗时1 小时
- 负责人:后端开发
**Day 8 验收标准**
- ✅ 可批量处理 100 篇文献
- ✅ 任务状态正确记录
- ✅ 结果正确保存到数据库
---
### Day 9: 筛选 API 开发
#### 后端任务
- [ ] **T2.4.1** 实现启动筛选 API
- `POST /api/v1/asl/projects/:id/screening/start`
- 创建任务
- **⭐ 云原生要求**异步执行筛选立即返回taskId后台处理
- 避免请求超时SAE默认30秒超时限制
- 预计耗时2 小时
- 负责人:后端开发
- 参考:[云原生开发规范 - 原则5](../../../04-开发规范/08-云原生开发规范.md)
- [ ] **T2.4.2** 实现进度查询 API
- `GET /api/v1/asl/screening/tasks/:taskId/progress`
- 返回实时进度
- 预计耗时1 小时
- 负责人:后端开发
- [ ] **T2.4.3** 实现结果查询 API
- `GET /api/v1/asl/projects/:id/screening/results`
- 支持过滤conflictOnly, finalDecision
- 分页
- 预计耗时1.5 小时
- 负责人:后端开发
- [ ] **T2.4.4** 实现更新决策 API
- `PUT /api/v1/asl/screening/results/:id`
- `POST /api/v1/asl/screening/results/batch-update`
- 预计耗时1 小时
- 负责人:后端开发
- [ ] **T2.4.5** Postman 测试
- 创建测试集合
- 测试各种场景
- 预计耗时1 小时
- 负责人:后端开发
**Day 9 验收标准**
- ✅ API 调用成功
- ✅ 任务可异步执行
- ✅ 进度查询实时准确
---
### Day 10: 后端集成测试
#### 后端任务
- [ ] **T2.5.1** 端到端测试50篇文献
- 导入文献 → 启动筛选 → 查询结果
- 预计耗时30 分钟执行 + 1小时分析
- 负责人:后端开发
- [ ] **T2.5.2** 性能测试
- 测试 100 篇文献筛选时间
- 目标:< 10 分钟
- 预计耗时1 小时
- 负责人:后端开发
- [ ] **T2.5.3** 质量评估
- 计算准确率(对比金标准,如果有)
- 计算双模型一致率
- 计算冲突率
- 预计耗时2 小时
- 负责人AI工程师
- [ ] **T2.5.4** 修复 Bug
- 根据测试结果修复
- 预计耗时2 小时
- 负责人:后端开发
**Week 2 总验收标准**
- ✅ 可成功筛选 100 篇文献
- ✅ 准确率 ≥ 85%
- ✅ 双模型一致率 ≥ 80%
- ✅ 性能达标100篇 < 10分钟
---
## 🗓️ Week 3: 前端模块开发Day 11-15
### Day 11: 前端模块结构创建
#### 前端任务
- [ ] **T3.1.1** 更新 `modules/asl/index.tsx`
- 移除 `placeholder: true` 标记
- 改为 `placeholder: false`
- 预计耗时5 分钟
- 负责人:前端开发
- [ ] **T3.1.2** 创建 ASL 子目录
```bash
cd frontend-v2/src/modules/asl
mkdir pages components api hooks types utils
```
- 预计耗时5 分钟
- 负责人:前端开发
- [ ] **T3.1.3** 创建路由配置 `routes.tsx`
- 定义4个子路由
- 使用 `lazy()` 懒加载
- 预计耗时30 分钟
- 负责人:前端开发
- [ ] **T3.1.4** 创建4个主页面占位
- `pages/ProjectList.tsx`
- `pages/ScreeningSettings.tsx`
- `pages/ScreeningWorkbench.tsx`
- `pages/ScreeningResults.tsx`
- 每个页面显示"开发中"占位
- 预计耗时30 分钟
- 负责人:前端开发
- [ ] **T3.1.5** 测试路由
- 启动前端:`cd frontend-v2 && npm run dev`
- 访问 `http://localhost:3000/literature`
- 确认顶部导航显示"AI智能文献"
- 预计耗时10 分钟
- 负责人:前端开发
**Day 11 验收标准**
- ✅ 顶部导航显示"AI智能文献"(不再是占位)
- ✅ 点击后进入项目列表页
---
### Day 12: Excel 上传功能
#### 前端任务
- [ ] **T3.2.1** 安装依赖
```bash
cd frontend-v2
npm install xlsx
```
- 预计耗时5 分钟
- 负责人:前端开发
- [ ] **T3.2.2** 创建 `ExcelUploader` 组件
- 文件选择(`antd Upload`
- 文件类型验证(.xls, .xlsx
- 预计耗时1 小时
- 负责人:前端开发
- [ ] **T3.2.3** 实现 Excel 解析逻辑
- 使用 `xlsx` 库解析
- **⭐ 云原生要求**:内存解析 `xlsx.read(buffer)`,禁止落盘
- 字段映射Title → title
- 数据验证(必填字段)
- 预计耗时2 小时
- 负责人:前端开发
- 参考:[云原生开发规范 - 禁止做法2](../../../04-开发规范/08-云原生开发规范.md)
- [ ] **T3.2.4** 实现去重逻辑
- 基于 DOI 去重
- 基于标题去重(标准化)
- 去重统计展示
- 预计耗时1 小时
- 负责人:前端开发
- [ ] **T3.2.5** 实现文献预览表格
- 使用 `Ant Design Table`
- 显示:标题、摘要(截断)、作者、年份、期刊
- 分页50条/页)
- 预计耗时1.5 小时
- 负责人:前端开发
**Day 12 验收标准**
- ✅ 可成功上传 Excel 文件
- ✅ 解析后数据正确展示
- ✅ 去重功能正常
---
### Day 13: API 客户端封装
#### 前端任务
- [ ] **T3.3.1** 创建 API 客户端
- `api/index.ts`
- 使用 `axios` 或 `fetch`
- 复用 `shared/api/client` 配置
- 预计耗时1 小时
- 负责人:前端开发
- [ ] **T3.3.2** 实现项目 API
- `createProject(data)`
- `listProjects()`
- `getProject(id)`
- 预计耗时1 小时
- 负责人:前端开发
- [ ] **T3.3.3** 实现文献 API
- `importLiteratures(projectId, data)`
- `listLiteratures(projectId, page, pageSize)`
- 预计耗时1 小时
- 负责人:前端开发
- [ ] **T3.3.4** 实现筛选 API
- `startScreening(projectId)`
- `getScreeningResults(projectId, filters)`
- `updateScreeningResult(resultId, data)`
- 预计耗时1.5 小时
- 负责人:前端开发
- [ ] **T3.3.5** 前后端联调
- 测试所有API调用
- 错误处理
- Loading 状态
- 预计耗时2 小时
- 负责人:前端开发 + 后端开发
**Day 13 验收标准**
- ✅ API 客户端可正常调用后端
- ✅ 上传Excel后数据保存到数据库
---
### Day 14-15: 审核工作台核心UI
#### 前端任务
- [ ] **T3.4.1** 实现 `ScreeningTable` 组件
- 双行表格结构(主行 + 展开行)
- 预计耗时2 小时
- 负责人:前端开发
- [ ] **T3.4.2** 实现表头
- 第一行DS 判断、Qwen 判断(合并单元格)
- 第二行P、I、C、S、结论
- 预计耗时1 小时
- 负责人:前端开发
- [ ] **T3.4.3** 实现主行
- 展开/收起按钮
- 文献ID、研究ID、来源
- DS和Qwen的PICO判断✓/✗/?
- 冲突状态
- 最终决策下拉框
- 预计耗时3 小时
- 负责人:前端开发
- [ ] **T3.4.4** 实现展开行
- 显示DS和Qwen的证据短语
- 格式化展示
- 预计耗时1.5 小时
- 负责人:前端开发
- [ ] **T3.4.5** 实现冲突高亮
- 冲突行背景色变红
- 冲突字段标记
- 预计耗时1 小时
- 负责人:前端开发
- [ ] **T3.4.6** 实现双视图原文审查模态框
- 使用 `Ant Design Modal`
- 左侧:摘要展示 + 高亮证据
- 右侧双模型详情Tab切换
- 预计耗时3 小时
- 负责人:前端开发
**Day 14-15 验收标准**
- ✅ 审核工作台完整可用
- ✅ 表格可正确展示筛选结果
- ✅ 冲突项高亮显示
- ✅ 双视图模态框可弹出
---
## 🗓️ Week 4: 结果展示与集成测试Day 16-20
### Day 16: 结果统计与展示
#### 前端任务
- [ ] **T4.1.1** 实现统计概览卡片
- 总数、纳入、排除、待定
- 使用 `Ant Design Statistic`
- 预计耗时1.5 小时
- 负责人:前端开发
- [ ] **T4.1.2** 实现 PRISMA 式排除总结
- 按排除原因分组统计
- 柱状图展示
- 预计耗时2 小时
- 负责人:前端开发
- [ ] **T4.1.3** 实现结果列表 Tab 页
- 纳入 Tab
- 排除 Tab
- 待定 Tab
- 预计耗时1.5 小时
- 负责人:前端开发
- [ ] **T4.1.4** 实现结果表格
- 列文献ID、研究ID、标题、决策、理由
- 可展开查看摘要
- 预计耗时2 小时
- 负责人:前端开发
**Day 16 验收标准**
- ✅ 统计数据正确展示
- ✅ PRISMA 排除总结清晰
- ✅ 结果列表可正常查看
---
### Day 17: Excel 导出功能
#### 后端任务
- [ ] **T4.2.1** 后端实现导出逻辑
- 使用 `exceljs` 库
- 生成 Excel 文件
- 预计耗时2 小时
- 负责人:后端开发
- [ ] **T4.2.2** 实现导出 API
- `GET /api/v1/asl/projects/:id/screening/results/export`
- 支持过滤参数(导出全部/仅纳入/仅排除)
- 预计耗时1.5 小时
- 负责人:后端开发
#### 前端任务
- [ ] **T4.2.3** 前端实现导出按钮
- 调用导出 API
- 下载文件
- 预计耗时1 小时
- 负责人:前端开发
**Day 17 验收标准**
- ✅ 可成功导出 Excel
- ✅ 导出格式规范
- ✅ 数据完整准确
---
### Day 18: 完整流程测试
#### 集成测试任务
- [ ] **T4.3.1** 端到端完整流程测试
- 上传 → 筛选 → 复核 → 导出
- 使用真实的 199 篇测试数据
- 预计耗时2 小时
- 负责人:全栈开发 + 测试
- [ ] **T4.3.2** 异常场景测试
- 网络中断
- API 错误
- 数据格式错误
- 预计耗时2 小时
- 负责人:测试
- [ ] **T4.3.3** 性能测试
- 500 篇文献筛选
- 大文件导出
- 预计耗时1 小时
- 负责人:测试
- [ ] **T4.3.4** 修复 Bug
- 记录和修复所有发现的问题
- 预计耗时3 小时
- 负责人:全栈开发
**Day 18 验收标准**
- ✅ 完整流程无阻塞
- ✅ 异常处理完善
- ✅ 性能达标
---
### Day 19: 质量验收
#### 质量验收任务
- [ ] **T4.4.1** 准确率测试
- 使用金标准数据集199 篇)
- 计算准确率、召回率、F1
- 目标:准确率 ≥ 85%
- 预计耗时2 小时
- 负责人AI工程师 + 医学专家
- [ ] **T4.4.2** 双模型一致性测试
- 计算一致率
- 目标:≥ 80%
- 预计耗时1 小时
- 负责人AI工程师
- [ ] **T4.4.3** JSON Schema 验证率测试
- 统计验证通过率
- 目标:≥ 95%
- 预计耗时30 分钟
- 负责人:后端开发
- [ ] **T4.4.4** 人工复核队列测试
- 统计需人工复核的比例
- 目标:≤ 20%
- 预计耗时30 分钟
- 负责人AI工程师
- [ ] **T4.4.5** 根据测试结果优化
- 调整提示词
- 调整分流阈值
- 预计耗时3 小时
- 负责人AI工程师
**Day 19 验收标准**
- ✅ 准确率 ≥ 85%
- ✅ 双模型一致率 ≥ 80%
- ✅ JSON Schema 验证通过率 ≥ 95%
- ✅ 人工复核队列 ≤ 20%
---
### Day 20: 文档与交付
#### 文档任务
- [ ] **T4.5.1** 编写用户手册
- 功能介绍
- 操作步骤
- 常见问题
- 预计耗时3 小时
- 负责人:产品经理
- [ ] **T4.5.2** 编写技术文档
- 架构设计
- API 文档
- 数据库设计
- 预计耗时2 小时
- 负责人:后端开发
- [ ] **T4.5.3** 编写测试报告
- 测试用例
- 测试结果
- 质量指标
- 预计耗时2 小时
- 负责人:测试
- [ ] **T4.5.4** 代码审查
- 代码规范检查
- 安全性检查
- 性能检查
- 预计耗时2 小时
- 负责人:技术 Leader
- [ ] **T4.5.5** 准备演示环境
- 部署到测试环境
- 准备演示数据
- 预计耗时1 小时
- 负责人:运维
**Day 20 验收标准**
- ✅ 文档完整
- ✅ 代码质量合格
- ✅ 测试报告完整
- ✅ 演示环境就绪
---
## 📊 总体验收清单
### 功能完整性
- [ ] ✅ 用户可上传 Excel 文件
- [ ] ✅ Excel 格式验证正常
- [ ] ✅ 文献去重功能正常
- [ ] ✅ AI 双模型筛选可运行
- [ ] ✅ 冲突自动检测和标记
- [ ] ✅ 人工复核界面完整
- [ ] ✅ 批量操作功能正常
- [ ] ✅ 结果统计正确展示
- [ ] ✅ Excel 导出功能正常
- [ ] ✅ ASL模块在顶部导航显示并可点击
### 质量指标
- [ ] ✅ 准确率 ≥ 85%
- [ ] ✅ 双模型一致率 ≥ 80%
- [ ] ✅ JSON Schema 验证通过率 ≥ 95%
- [ ] ✅ 人工复核队列 ≤ 20%
### 性能指标
- [ ] ✅ 100 篇文献筛选 ≤ 10 分钟
- [ ] ✅ Excel 上传响应 ≤ 3 秒
- [ ] ✅ 页面加载 ≤ 2 秒
### 架构验证
- [ ] ✅ ASL模块正确注册到 moduleRegistry.ts
- [ ] ✅ 后端路由注册到 /api/v1/asl/*
- [ ] ✅ 数据保存到 asl_schema
- [ ] ✅ 复用 common/llm 成功
- [ ] ✅ Prisma Client 正常工作
---
## 📚 相关文档
- [开发里程碑](./01-开发里程碑.md)
- [标题摘要初筛开发计划](./02-标题摘要初筛开发计划.md)
- [质量保障策略](../02-技术设计/06-质量保障与可追溯策略.md)
- [技术选型](../02-技术设计/07-文献处理技术选型.md)
- [API 设计规范](../02-技术设计/02-API设计规范.md)
- [前后端模块化架构设计-V2](../../../00-系统总体设计/前后端模块化架构设计-V2.md)
- [Schema隔离架构设计](../../../09-架构实施/01-Schema隔离架构设计10个.md)
---
**更新日志**
- 2025-11-16: V3.0 完全重写基于真实架构Frontend-v2 + Backend + asl_schema详细到每个任务
- 2025-11-16: V2.0 完全重写,详细到每个任务(预计耗时、负责人、验收标准)
- 2025-10-29: V1.0 创建,初始占位符