# 智能Prompt生成模块 - 开发计?
**版本**: v1.0
**日期**: 2025-11-18
**原则**: 简单、直接、可执行
---
## 核心目标
**解决问题**: 消除AI与人类对边界情况的理解差?
**核心流程**:
```
用户输入PICOS ?AI理解分析 ?生成Prompt ?用户修改 ?开始筛?
```
---
## MVP阶段(必做)
### 功能范围
#### 1. 用户输入 ?
**前端表单**:
```typescript
{
pico: {
population: string; // 研究人群
intervention: string; // 干预措施
comparison: string; // 对照
outcome: string; // 结局指标
studyDesign: string; // 研究设计
},
inclusionCriteria: string; // 纳入标准
exclusionCriteria: string; // 排除标准
}
```
**实现**: 一个表单页面,7个输入框
---
#### 2. AI理解与分?🆕
**输入**: 用户的PICOS + 纳排标准
**输出**:
```typescript
{
understanding: {
mustInclude: string[]; // 必须纳入的要素(3-5条)
mustExclude: string[]; // 必须排除的要素(3-5条)
ambiguities: [ // 模糊的边界情况(5-8个)
{
id: number;
question: string; // "如果研究人群是欧美但RCT质量高?"
aiSuggestion: 'include' | 'exclude' | 'uncertain';
reason: string; // AI的建议理?
}
]
}
}
```
**API**:
```
POST /api/v1/asl/analyze-picos
```
**实现**: 调用LLM分析用户输入
---
#### 3. 用户确认界面 🆕
**显示**:
- ?必须纳入(可勾?取消?
- ?必须排除(可勾?取消?
- 🤔 边界情况(逐个确认:纳?排除/不确定)
**实现**: Modal对话框,分三个区?
---
#### 4. 自动生成Prompt 🆕
**输入**: 用户确认后的规则
**输出**: 完整的筛选Prompt
**关键**: 将用户确认的边界规则注入到Prompt?
```
## 特殊规则(基于您的确认)
1. 地域要求:优先亚洲人群,但欧美高质量RCT也可纳入
2. 研究类型:排除综述,?020年后Meta分析可纳?
3. 对照类型:安慰剂对照,或另一种标准药物也可接?
...
```
**API**:
```
POST /api/v1/asl/generate-prompt
```
---
#### 5. Prompt编辑?🆕
**功能**:
- 显示生成的Prompt
- 支持用户编辑
- 保存并使?
**实现**: 简单的Textarea + 保存按钮
---
#### 6. 筛选结果增??**重要**
**当前问题**: 只显示最终决策(include/exclude/pending?
**改进**: 显示**两个模型的完整理?*
```typescript
{
literatureId: string;
finalDecision: 'include' | 'exclude' | 'pending';
// ?新增:两个模型的详细结果
model1: {
modelName: 'DeepSeek-V3';
conclusion: 'exclude';
confidence: 0.92;
judgment: { P: 'match', I: 'match', C: 'mismatch', S: 'match' };
reason: '虽然P、I、S维度匹配,但对照组为另一种药物而非安慰?..' // ?关键
},
model2: {
modelName: 'Qwen-Max';
conclusion: 'include';
confidence: 0.85;
judgment: { P: 'match', I: 'match', C: 'partial', S: 'match' };
reason: '研究人群和干预措施匹配,对照组虽非安慰剂但有对比意义...' // ?关键
},
hasConflict: true; // 两个模型判断不一?
conflictFields: ['conclusion', 'C'];
}
```
**前端显示**:
```jsx
I: {model1.judgment.I}
C: {model1.judgment.C}
S: {model1.judgment.S}
| {lit.title} |
|
|