# ASL 模块开发里程碑 > **文档版本:** V3.0 > **创建日期:** 2025-11-16 > **维护者:** AI智能文献开发团队 > **最后更新:** 2025-11-16 > **⭐ 重要:基于真实架构(Frontend-v2 + Backend增量演进)** --- ## 📋 文档概述 本文档定义 ASL(AI智能文献)模块的完整开发里程碑,采用 **MVP → V1.0 → V2.0** 三阶段渐进式演进策略。 **架构前提:** - ✅ Frontend-v2 全新架构(顶部导航 + 模块注册)- Week 2 Day 6-7 已完成 - ✅ Backend 增量演进架构(legacy/ + common/ + modules/)- Week 2 Day 8-9 已完成 - ✅ 数据库 10个Schema隔离 - Week 1 已完成 - 🚧 ASL 模块占位就绪,等待 Week 3 开发 --- ## 🏗️ 当前架构基础(已完成) ### Frontend-v2 真实架构 ``` frontend-v2/src/ ├── framework/ # ✅ 已实现(Week 2 Day 6-7) │ ├── layout/ │ │ ├── MainLayout.tsx # ✅ 主布局(顶部导航) │ │ └── TopNavigation.tsx # ✅ 顶部导航栏(6个模块) │ ├── modules/ │ │ ├── moduleRegistry.ts # ✅ 模块注册中心 │ │ ├── ErrorBoundary.tsx # ✅ 错误边界 │ │ └── types.ts # ✅ 模块类型定义 │ ├── router/ │ │ └── RouteGuard.tsx # ✅ 路由守卫 │ └── permission/ │ ├── PermissionContext.tsx # ✅ 权限控制 │ └── usePermission.ts # ✅ 权限Hook │ └── modules/ # 📦 业务模块 ├── asl/ # 🚧 ASL模块(占位,Week 3开发) │ └── index.tsx # ✅ 占位页面 ├── aia/ # ✅ AI问答(占位) ├── pkb/ # ✅ 知识库(占位) ├── dc/ # ✅ 数据清洗(占位) ├── ssa/ # ✅ 统计分析(占位) └── st/ # ✅ 统计工具(占位) ``` ### Backend 真实架构 ``` backend/src/ ├── legacy/ # ✅ 现有业务(Week 2 Day 8-9完成迁移) │ ├── routes/ # 7个路由文件 │ │ ├── projects.ts # AIA: 项目路由 │ │ ├── agents.ts # AIA: 智能体路由 │ │ ├── conversations.ts # AIA: 对话路由 │ │ ├── chatRoutes.ts # AIA: 通用对话 │ │ ├── knowledgeBases.ts # PKB: 知识库路由 │ │ ├── batchRoutes.ts # PKB: 批处理路由 │ │ └── reviewRoutes.ts # RVW: 稿件审查路由 │ ├── controllers/ # 控制器 │ └── services/ # 服务 │ ├── common/ # ✅ 通用能力层(已实现) │ ├── llm/adapters/ # LLM适配器 │ │ ├── DeepSeekAdapter.ts # ✅ DeepSeek-V3 │ │ ├── QwenAdapter.ts # ✅ Qwen3-72B │ │ └── LLMFactory.ts # ✅ 工厂类 │ ├── rag/ │ │ └── DifyClient.ts # ✅ RAG客户端 │ ├── document/ │ │ └── ExtractionClient.ts # ✅ 文档提取客户端 │ ├── middleware/ │ │ └── validateProject.ts # ✅ 验证中间件 │ └── utils/ │ └── jsonParser.ts # ✅ JSON解析工具 │ └── modules/ # 🌟 新模块开发区 └── asl/ # 🚧 ASL模块(空目录,Week 3开发) └── (待创建) ``` ### Database Schema(已隔离) ``` PostgreSQL 15 + Prisma 6.17.0 ✅ platform_schema - 用户表(users) ✅ aia_schema - AI问答(projects, conversations, messages等) ✅ pkb_schema - 知识库(knowledge_bases, documents, batch_tasks等) 🚧 asl_schema - AI智能文献(Week 3 定义表结构) 📋 common_schema - 通用能力层(预留) 📋 dc_schema - 数据清洗(预留) 📋 rvw_schema - 稿件审查(预留) 📋 admin_schema - 运营管理(预留) 📋 ssa_schema - 统计分析(预留) 📋 st_schema - 统计工具(预留) ``` --- ## 🎯 总体战略 ``` ┌──────────────────────────────────────────────────────────────┐ │ ASL 三阶段演进路线图 │ ├──────────────────────────────────────────────────────────────┤ │ MVP (4周) V1.0 (6周) V2.0 (8周) │ │ ├─ 基础可用 ├─ 高质量 ├─ 医学级 │ │ ├─ 快速验证 ├─ 智能优化 ├─ 自动审计 │ │ ├─ 成本优先 ├─ 质量提升 ├─ 完整追溯 │ │ └─ 人工复核 └─ 规则验证 └─ HITL智能分流 │ └──────────────────────────────────────────────────────────────┘ 核心设计原则: 1. 架构先行:在已完成的 Frontend-v2 和 Backend 架构基础上开发 2. 分步实施:每阶段交付可用功能 3. 质量可控:准确率从85% → 90% → 95% 4. 成本可控:优先使用DeepSeek+Qwen3,可切换高端模型 ``` --- ## 📊 三阶段里程碑对比 | 维度 | MVP (4周) | V1.0 (6周) | V2.0 (8周) | |------|----------|-----------|-----------| | **交付范围** | 标题摘要初筛 | + 全文复筛 + PDF提取 | + 数据提取 + 质量审计 | | **准确率目标** | ≥ 85% | ≥ 90% | ≥ 95% | | **模型组合** | DeepSeek + Qwen3 | 成本优化策略 | 三模型仲裁 | | **质量控制** | 双模型验证 + JSON Schema | + Few-shot + 规则引擎 | + HITL + 自动审计 | | **可追溯性** | 基本日志 | 完整证据链 | 审计级记录 | | **前端** | 基础工作台(Frontend-v2) | 优化交互 | 完整UI | | **后端** | modules/asl/核心功能 | + PDF服务集成 | + 高级质量保障 | | **成本/1000篇** | ¥5 | ¥21 | ¥24 + 仲裁 | --- ## 🚀 MVP 阶段(第 1-4 周) ### 阶段目标 **交付标准**: - ✅ 标题摘要初筛功能完整可用 - ✅ Excel 导入、AI 双模型筛选、人工复核 - ✅ 准确率 ≥ 85% - ✅ 成本控制:≤ ¥50/1000 篇 - ✅ 前端集成到 Frontend-v2 顶部导航 - ✅ 后端 API 注册到 /api/v1/asl/* ### 里程碑划分 #### **M1.1 - 数据库Schema设计**(Week 1, Day 1) **任务**: - [ ] 设计 asl_schema 表结构(4张核心表) - `asl_screening_projects`(筛选项目表) - `asl_literatures`(文献条目表) - `asl_screening_results`(筛选结果表) - `asl_screening_tasks`(筛选任务表) - [ ] 在 `backend/prisma/schema.prisma` 中添加模型定义 - 使用 `@@schema("asl_schema")` 指定Schema - 定义外键关系(引用 `platform_schema.users`) - **添加 OSS 相关字段**(支持云原生部署): - `pdfUrl` - PDF访问URL - `pdfOssKey` - OSS存储Key - `pdfFileSize` - 文件大小 - [ ] 运行 Prisma 迁移 ```bash cd backend npx prisma migrate dev --name add_asl_tables npx prisma generate ``` **交付物**: - ✅ asl_schema 表创建完成 - ✅ Prisma Client 生成成功 - ✅ 数据库迁移成功 - ✅ OSS 字段预留完成 --- #### **M1.2 - 后端API搭建**(Week 1, Day 2-3) > **⭐ 前置条件(2025-11-17 更新)**:平台基础设施已完成实施 ✅ > **完成状态**:8个核心模块,100%测试通过 > **完成报告**:[平台基础设施实施完成报告](../../../08-项目管理/03-每周计划/2025-11-17-平台基础设施实施完成报告.md) > **使用指南**:[backend/src/common/README.md](../../../../backend/src/common/README.md) **平台已提供的8个核心模块(无需ASL模块实现)**: | # | 模块 | 路径 | 使用方式 | 说明 | |---|------|------|---------|------| | 1 | **存储服务** | `common/storage/` | `import { storage } from '@/common/storage'` | 文件上传下载(本地/OSS切换) | | 2 | **日志系统** | `common/logging/` | `import { logger } from '@/common/logging'` | 结构化JSON日志 | | 3 | **缓存服务** | `common/cache/` | `import { cache } from '@/common/cache'` | 内存/Redis缓存 | | 4 | **异步任务** | `common/jobs/` | `import { jobQueue } from '@/common/jobs'` | 长时间任务处理 | | 5 | **健康检查** | `common/health/` | `import { registerHealthRoutes } from '@/common/health'` | SAE健康检查 | | 6 | **监控指标** | `common/monitoring/` | `import { Metrics } from '@/common/monitoring'` | 性能监控和告警 | | 7 | **数据库连接池** | `config/database.ts` | `import { prisma } from '@/config/database'` | 全局Prisma实例 | | 8 | **环境配置** | `config/env.ts` | `import { env } from '@/config/env'` | 统一配置管理 | **任务**: - [ ] 创建 `backend/src/modules/asl/` 目录结构 ``` modules/asl/ ├── routes/ │ └── index.ts # 路由注册 ├── controllers/ │ ├── projectController.ts # 项目控制器 │ ├── literatureController.ts # 文献控制器 │ └── screeningController.ts # 筛选控制器 ├── services/ │ ├── projectService.ts # 项目业务逻辑 │ ├── literatureService.ts # 文献业务逻辑 │ └── llmScreeningService.ts # LLM筛选服务 ├── schemas/ │ └── screening.schema.ts # JSON Schema定义 └── types/ └── screening.types.ts # TypeScript类型 ``` - [ ] 在 `backend/src/index.ts` 中注册ASL路由 ```typescript import { aslRoutes } from './modules/asl/routes/index.js' await app.register(aslRoutes, { prefix: '/api/v1/asl' }) ``` - [ ] 实现核心API(参考 API设计规范文档) - `POST /api/v1/asl/projects` - 创建项目 - `POST /api/v1/asl/projects/:id/literatures/import` - 导入文献 - `POST /api/v1/asl/projects/:id/screening/start` - 启动筛选 - `GET /api/v1/asl/projects/:id/screening/results` - 获取结果 - [ ] **配置环境变量** ```bash # .env.development(本地开发) STORAGE_TYPE=local # .env.production(生产环境,SAE配置) STORAGE_TYPE=oss OSS_REGION=oss-cn-hangzhou OSS_BUCKET=aiclinical-prod ``` **交付物**: - ✅ ASL后端目录结构完整 - ✅ API路由注册成功 - ✅ 核心API可调用(Postman测试通过) - ✅ 正常使用平台服务(storage/logger/cache/jobQueue/prisma等8个模块) --- #### **M1.3 - LLM筛选核心**(Week 2, Day 1-2) **任务**: - [ ] 实现双模型并行调用逻辑 - 复用 `common/llm/adapters/LLMFactory.ts` - 调用 DeepSeek-V3 + Qwen3-72B - [ ] 定义JSON Schema(PICO判断结构) - [ ] 设计提示词模板(v1.0.0) - 存放在 `backend/prompts/asl/screening/v1.0.0-basic.txt` - [ ] 实现冲突检测算法 - [ ] 实现自动分流规则(置信度 < 0.7 → 人工复核) **交付物**: - ✅ 双模型可成功调用 - ✅ JSON Schema验证通过率 > 95% - ✅ 冲突检测准确 --- #### **M1.4 - 前端模块开发**(Week 2-3) **任务**: - [ ] 更新 `frontend-v2/src/modules/asl/index.tsx` ```typescript // 移除占位标记,实现真实模块 const ASLModule: ModuleDefinition = { id: 'literature-platform', name: 'AI智能文献', path: '/literature', icon: FileSearchOutlined, component: lazy(() => import('./routes')), placeholder: false, // ← 改为 false requiredVersion: 'advanced', } ``` - [ ] 创建 `frontend-v2/src/modules/asl/` 子目录 ``` asl/ ├── index.tsx # 模块定义 ├── routes.tsx # 路由配置 ├── pages/ │ ├── ProjectList.tsx # 项目列表 │ ├── ScreeningSettings.tsx # 设置与启动 │ ├── ScreeningWorkbench.tsx # 审核工作台 │ └── ScreeningResults.tsx # 初筛结果 ├── components/ │ ├── ExcelUploader.tsx # Excel上传 │ ├── ScreeningTable.tsx # 筛选表格 │ ├── DualModelModal.tsx # 双视图模态框 │ └── ResultsExport.tsx # 结果导出 ├── api/ │ ├── projectApi.ts # 项目API │ ├── screeningApi.ts # 筛选API │ └── index.ts ├── hooks/ │ ├── useScreening.ts # 筛选Hook │ └── useLiterature.ts # 文献Hook └── types/ └── screening.ts # 类型定义 ``` - [ ] 实现Excel上传功能(使用 `xlsx` 库) - [ ] 实现审核工作台(表格化布局,参考原型图) - [ ] 实现双视图原文审查模态框 - [ ] 实现结果展示和导出 **交付物**: - ✅ ASL模块在顶部导航显示并可点击 - ✅ 前端3个主要页面完整 - ✅ 前后端联调成功 --- #### **M1.5 - 集成测试与验收**(Week 4) **任务**: - [ ] 端到端完整流程测试 - 上传 199篇文献 Excel → 筛选 → 复核 → 导出 - [ ] 准确率测试(使用金标准数据集) - 目标:≥ 85% - [ ] 性能测试 - 100篇文献筛选 ≤ 10分钟 - [ ] 修复Bug和优化 **交付物**: - ✅ 准确率 ≥ 85% - ✅ 双模型一致率 ≥ 80% - ✅ JSON Schema验证通过率 ≥ 95% - ✅ 人工复核队列 ≤ 20% --- ## 📈 V1.0 阶段(第 5-10 周) ### 阶段目标 **交付标准**: - ✅ 新增全文复筛功能 - ✅ PDF 提取集成(Nougat + PyMuPDF) - ✅ Unpaywall API 集成(自动下载全文) - ✅ Few-shot 示例库 - ✅ 规则引擎验证 - ✅ 准确率 ≥ 90% ### 里程碑划分 #### **M2.1 - PDF 提取服务集成**(Week 5) **任务**: - [ ] 封装 `ExtractionClient`(已有 `common/document/ExtractionClient.ts`,需优化) - [ ] 实现自动语言检测和策略选择 - [ ] Python 微服务优化(`extraction_service/`) - 优化 Nougat 调用性能 - 添加超时和错误处理 - [ ] 实现 PDF 质量评估逻辑 **交付物**: - ✅ 可成功提取英文医学PDF(10-30页) - ✅ 提取准确率 > 90% --- #### **M2.2 - Unpaywall API 集成**(Week 5) **任务**: - [ ] 创建 `backend/src/common/literature/UnpaywallClient.ts` - [ ] 实现批量查询 DOI 可下载性 - [ ] 实现 PDF 下载功能 - [ ] 文件存储管理 **交付物**: - ✅ 用户可一键检查 100 篇文献的可下载性 - ✅ 可自动下载 OA 全文 --- #### **M2.3 - 全文复筛功能**(Week 6-7) **任务**: - [ ] 扩展数据库表(`asl_full_text_screening_results`) - [ ] 后端全文复筛API - [ ] 前端全文审核工作台(复用组件 + PDF查看器) **交付物**: - ✅ 用户可对初筛纳入文献进行全文复筛 - ✅ 支持 PDF 在线查看和标注 --- #### **M2.4 - 质量增强功能**(Week 8-10) **任务**: - [ ] 人工标注 20-30 个 Few-shot 示例 - [ ] 定义验证规则(样本量、P值、必填字段) - [ ] 实现成本优化策略(快速初筛 + 高价值复核) - [ ] 完善证据链记录 **交付物**: - ✅ Few-shot 示例库 ≥ 20 个 - ✅ 规则引擎覆盖率 ≥ 80% - ✅ 证据链完整性 100% - ✅ 准确率 ≥ 90% --- ## 🏆 V2.0 阶段(第 11-18 周) ### 阶段目标 **交付标准**: - ✅ 新增全文数据提取功能 - ✅ 三模型共识仲裁 - ✅ HITL 智能分流 - ✅ 提示词版本管理 - ✅ 自动质量审计 - ✅ 准确率 ≥ 95%(医学级) ### 里程碑划分 #### **M3.1 - 全文数据提取模块**(Week 11-13) **任务**: - [ ] 扩展数据库表(`asl_extraction_results`, `asl_extraction_revisions`) - [ ] 后端分段提取逻辑 - [ ] 前端表格化数据审查台(文献×变量矩阵) **交付物**: - ✅ 用户可配置提取变量清单 - ✅ 批量提取 50 篇文献的结构化数据 - ✅ 提取准确率 ≥ 92% --- #### **M3.2 - 医学级质量保障**(Week 14-16) **任务**: - [ ] 三模型仲裁(冲突 → 启用 Claude-4.5) - [ ] HITL 智能分流(优先级评分) - [ ] 提示词版本管理(Git + 语义化版本) - [ ] 自动质量审计系统 **交付物**: - ✅ 三模型仲裁成功率 > 95% - ✅ HITL 分流准确率 > 85% - ✅ 提示词版本管理系统上线 - ✅ 自动质量审计每周运行 --- #### **M3.3 - 高级功能与优化**(Week 17-18) **任务**: - [ ] Chain of Thought (CoT) 推理 - [ ] 动态示例选择(语义相似度) - [ ] 批处理性能优化(Bull + Redis) - [ ] 用户体验优化(实时进度、PDF标注、快捷键) **交付物**: - ✅ 系统稳定性测试通过 - ✅ 性能测试:1000 篇文献 < 30 分钟 - ✅ 用户验收测试通过 - ✅ 准确率 ≥ 95% --- ## 📋 交付物检查清单 ### MVP 阶段 - [ ] **数据库** - [ ] asl_schema 4张表创建 - [ ] Prisma 迁移成功 - [ ] **后端** - [ ] `modules/asl/` 目录结构完整 - [ ] API 路由注册到 `/api/v1/asl/*` - [ ] LLM筛选服务可用 - [ ] **前端** - [ ] ASL模块注册到 `moduleRegistry.ts` - [ ] 顶部导航显示"AI智能文献" - [ ] 3个主页面完整 - [ ] **测试** - [ ] 准确率测试 ≥ 85% - [ ] 端到端测试通过 ### V1.0 阶段 - [ ] **新增功能** - [ ] PDF 提取服务 - [ ] Unpaywall API 集成 - [ ] 全文复筛 - [ ] Few-shot 示例库 - [ ] **测试** - [ ] 准确率 ≥ 90% ### V2.0 阶段 - [ ] **新增功能** - [ ] 全文数据提取 - [ ] 三模型仲裁 - [ ] HITL 智能分流 - [ ] 自动质量审计 - [ ] **测试** - [ ] 准确率 ≥ 95% - [ ] 医学专家验证 --- ## 📊 关键指标跟踪 ### 质量指标 | 指标 | MVP 目标 | V1.0 目标 | V2.0 目标 | |------|---------|----------|----------| | 提取准确率 | ≥ 85% | ≥ 90% | ≥ 95% | | 双模型一致率 | ≥ 80% | ≥ 85% | ≥ 90% | | JSON Schema 验证通过率 | ≥ 95% | ≥ 98% | ≥ 99% | | 人工复核队列占比 | ≤ 20% | ≤ 15% | ≤ 10% | ### 成本指标 | 场景 | MVP | V1.0 | V2.0 | |------|-----|------|------| | 标题摘要筛选(1000篇) | ¥5 | ¥21 | ¥24 | | 全文复筛(200篇) | - | ¥30 | ¥35 | | 数据提取(50篇) | - | ¥60 | ¥80 | --- ## 📚 相关文档 - [质量保障与可追溯策略](../02-技术设计/06-质量保障与可追溯策略.md) - [文献处理技术选型](../02-技术设计/07-文献处理技术选型.md) - [数据库设计](../02-技术设计/01-数据库设计.md) - [API 设计规范](../02-技术设计/02-API设计规范.md) - [前后端模块化架构设计-V2](../../../00-系统总体设计/前后端模块化架构设计-V2.md) - [Schema隔离架构设计](../../../09-架构实施/01-Schema隔离架构设计(10个).md) --- **更新日志**: - 2025-11-18: V3.1 更新,补充平台基础设施完成状态(8个核心模块) - 2025-11-16: V3.0 重写,基于真实架构(Frontend-v2 + Backend增量演进 + 10个Schema) - 2025-11-16: V2.0 重写,基于三阶段路线图详细规划里程碑 - 2025-10-29: V1.0 创建,初始版本