Features: - Backend statistics API (cloud-native Prisma aggregation) - Results page with hybrid solution (AI consensus + human final decision) - Excel export (frontend generation, zero disk write, cloud-native) - PRISMA-style exclusion reason analysis with bar chart - Batch selection and export (3 export methods) - Fixed logic contradiction (inclusion does not show exclusion reason) - Optimized table width (870px, no horizontal scroll) Components: - Backend: screeningController.ts - add getProjectStatistics API - Frontend: ScreeningResults.tsx - complete results page (hybrid solution) - Frontend: excelExport.ts - Excel export utility (40 columns full info) - Frontend: ScreeningWorkbench.tsx - add navigation button - Utils: get-test-projects.mjs - quick test tool Architecture: - Cloud-native: backend aggregation reduces network transfer - Cloud-native: frontend Excel generation (zero file persistence) - Reuse platform: global prisma instance, logger - Performance: statistics API < 500ms, Excel export < 3s (1000 records) Documentation: - Update module status guide (add Week 4 features) - Update task breakdown (mark Week 4 completed) - Update API design spec (add statistics API) - Update database design (add field usage notes) - Create Week 4 development plan - Create Week 4 completion report - Create technical debt list Test: - End-to-end flow test passed - All features verified - Performance test passed - Cloud-native compliance verified Ref: Week 4 Development Plan Scope: ASL Module MVP - Title Abstract Screening Results Cloud-Native: Backend aggregation + Frontend Excel generation
153 lines
3.5 KiB
Markdown
153 lines
3.5 KiB
Markdown
# ASL模块开发记录
|
||
|
||
本目录记录ASL(AI智能文献筛选)模块的完整开发历程。
|
||
|
||
---
|
||
|
||
## 📁 文档索引
|
||
|
||
### Week 1 完成报告(2025-11-18)
|
||
|
||
| 文档 | 内容 | 重要性 |
|
||
|------|------|--------|
|
||
| **今日工作总结.md** | 2025-11-18全天工作总结 | ⭐⭐⭐⭐⭐ |
|
||
| **两步测试完整报告.md** | 国内外模型对比 + 三种风格测试 | ⭐⭐⭐⭐⭐ |
|
||
| **卒中数据泛化测试报告.md** | 最初的泛化能力测试 | ⭐⭐⭐⭐ |
|
||
| **Prompt设计与测试完成报告.md** | Prompt v1.0.0测试 | ⭐⭐⭐ |
|
||
| **Week1完成报告.md** | Week 1开发完成总结 | ⭐⭐⭐⭐ |
|
||
|
||
---
|
||
|
||
## 🎯 核心发现
|
||
|
||
### 1. 根本问题确认
|
||
|
||
**准确率不高的根本原因** = AI与人类对边界情况的理解差异
|
||
|
||
**不是**:
|
||
- ❌ 模型智商不够
|
||
- ❌ Prompt设计不好
|
||
- ❌ 宽松/严格程度不对
|
||
|
||
**而是**:
|
||
- ✅ 纳排标准存在隐含规则
|
||
- ✅ 边界情况定义不明确
|
||
- ✅ AI无法猜测用户真实意图
|
||
|
||
---
|
||
|
||
### 2. 解决方案
|
||
|
||
#### 短期方案(已实现)✅
|
||
|
||
**三种筛选风格**:
|
||
- 宽松模式:初筛使用,宁可多纳入
|
||
- 标准模式:常规使用,平衡准确率
|
||
- 严格模式:精筛使用,宁可错杀
|
||
|
||
**状态**: 后端完成,前端待开发
|
||
|
||
---
|
||
|
||
#### 中期方案(推荐)⭐
|
||
|
||
**用户自定义边界情况**:
|
||
1. 用户输入PICOS + 纳排标准
|
||
2. LLM分析生成20种边界情况
|
||
3. 用户确认每种情况的处理方式
|
||
4. 系统生成定制化Prompt
|
||
|
||
**优点**: 消除AI与人类理解差异
|
||
|
||
---
|
||
|
||
#### 长期方案(V1.0+)🔮
|
||
|
||
**Few-shot学习**:
|
||
- 从用户纠正中学习
|
||
- 持续优化准确率
|
||
- 个性化Prompt
|
||
|
||
---
|
||
|
||
## 📊 测试数据
|
||
|
||
### 模型性能对比
|
||
|
||
| 模型 | 准确率 | 一致率 | 速度 | JSON稳定性 |
|
||
|------|--------|--------|------|-----------|
|
||
| DeepSeek-V3 + Qwen-Max | 40% | 60% | 16秒 | ✅ 100% |
|
||
| GPT-4o + Claude-4.5 | 0%* | 80% | 10秒 | ❌ 20% |
|
||
|
||
*因JSON格式错误导致失败
|
||
|
||
### 筛选风格对比
|
||
|
||
| 风格 | 准确率 | 召回率 | 精确率 |
|
||
|------|--------|--------|--------|
|
||
| 标准模式 | 60% | 0% | 100% |
|
||
| 宽松模式 | 20% | 50% | 0% |
|
||
| 严格模式 | 未测试 | - | - |
|
||
|
||
---
|
||
|
||
## 🚀 下一步计划
|
||
|
||
### 本周任务
|
||
|
||
1. ⬜ 前端开发:筛选风格选择器
|
||
2. ⬜ API集成:传递`style`参数
|
||
3. ⬜ 扩大测试:20篇真实数据
|
||
4. ⬜ 用户培训:三种风格使用场景
|
||
|
||
### Week 2任务
|
||
|
||
1. ⬜ 设计边界情况确认UI
|
||
2. ⬜ 实现LLM边界情况生成
|
||
3. ⬜ 用户确认流程开发
|
||
4. ⬜ 定制化Prompt生成
|
||
|
||
---
|
||
|
||
## 📝 快速链接
|
||
|
||
### 测试脚本
|
||
|
||
- `backend/scripts/test-stroke-screening.ts` - 标准模式测试
|
||
- `backend/scripts/test-stroke-screening-lenient.ts` - 宽松模式测试
|
||
- `backend/scripts/test-stroke-screening-international-models.ts` - 模型对比
|
||
- `backend/scripts/test-json-parser.ts` - JSON解析器测试
|
||
|
||
### Prompt文件
|
||
|
||
- `backend/prompts/asl/screening/v1.1.0-lenient.txt` - 宽松Prompt
|
||
- `backend/prompts/asl/screening/v1.1.0-standard.txt` - 标准Prompt
|
||
- `backend/prompts/asl/screening/v1.1.0-strict.txt` - 严格Prompt
|
||
|
||
### 核心代码
|
||
|
||
- `backend/src/modules/asl/schemas/screening.schema.ts` - Prompt生成
|
||
- `backend/src/modules/asl/services/llmScreeningService.ts` - 筛选服务
|
||
- `backend/src/common/utils/jsonParser.ts` - JSON解析器
|
||
|
||
---
|
||
|
||
## 💡 重要提示
|
||
|
||
1. **JSON解析器已修复** - 支持中文引号自动转换
|
||
2. **三种风格已实现** - 后端完成,前端待开发
|
||
3. **根本问题已确认** - 需要用户自定义边界情况
|
||
|
||
---
|
||
|
||
**更新日期**: 2025-11-18
|
||
**维护人**: AI Assistant
|
||
**版本**: v1.0
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|