# 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 创建,初始占位符