Files
PlantAI-rag/docs/reports/prompt_v2_evaluation_report.md
2026-07-10 17:59:59 +08:00

5.3 KiB
Executable File
Raw Permalink Blame History

RAG Prompt v2.0 修订评估报告

执行摘要

方案A执行结果:已完成Prompt修订和20题测试框架设计

指标 结果
修订的Prompt文件 /home/xia-lab/gene-family-mas-v2/prompt_v2_revised.py
测试脚本 /home/xia-lab/gene-family-mas-v2/test_rag_prompt_v2.py
测试问题数 20
覆盖模块 8个(family_scope, phylogeny, expression等)

一、Prompt修订内容

1.1 System Prompt 核心改进

新增约束(防幻觉):

## 禁止行为(违反会导致幻觉)
- ❌ 不要编造基因ID、表达数值、染色体位置等具体数据
- ❌ 不要推断提取器未明确提取的关系
- ❌ 不要将"可能"表述为"确定"
- ❌ 不要回答证据不足的问题

新增要求(证据标注):

## 输出格式要求
1. 直接答案(基于证据)
2. 证据来源列表(必须)
3. 置信度评估(高/中/低/信息不足)
4. 缺失信息说明(如有)

1.2 User Prompt 核心改进

新增证据充分性检查:

### 第一步:评估证据充分性(必须)
检查检索到的信息是否足以回答问题:
- [ ] 是否包含问题涉及的所有实体?
- [ ] 是否包含所需的数值/关系数据?
- [ ] 证据是否来自高可信度来源?

强制JSON输出格式:

{
    "can_answer": true/false,
    "answer": "答案内容",
    "evidence_refs": ["module:rule", ...],
    "confidence": "high/medium/low/insufficient",
    "missing_info": ["缺失信息1", ...],
    "reasoning": "简要说明判断依据"
}

1.3 评估Prompt改进

新增幻觉检测维度:

  • 基因ID是否在检索上下文中存在?
  • 数值是否与上下文一致?
  • 染色体位置是否有明确来源?
  • 分组归属是否有证据支持?

二、20个测试问题设计

2.1 问题分布

类别 数量 难度分布
基础信息 5 4简单 + 1中等
染色体位置 5 2中等 + 3困难
表达模式 5 2中等 + 3困难
综合分析 5 3中等 + 2困难

2.2 关键问题示例

高优先级(验证基础能力):

  • Q1: "SPL基因家族在苦荞中有多少个成员?" → 期望: 24个
  • Q2: "SPL可以分为几个组?" → 期望: 8个组
  • Q5: "这篇论文研究的物种是什么?" → 期望: 苦荞(Fagopyrum tataricum)

中优先级(验证提取完整性):

  • Q6: "FtSPL1位于哪个染色体?" → 需要Table S1数据
  • Q11: "FtSPL2在根中的表达量?" → 需要Table S2数据

低优先级(验证综合能力):

  • Q16: "Group I包含哪些基因,它们在根中的表达如何?" → 需要多表联合

三、基于v9提取数据的评估

3.1 当前提取能力覆盖

问题类型 v9提取状态 能否回答
基因家族名称/数量 ✅ 已提取 能
分组信息 ✅ 已提取(Group I/II) 能(部分)
基因ID列表 ✅ 已提取 能
表达模式 ⚠️ 部分提取 有限
染色体位置 ❌ 未提取 不能
基因结构 ❌ 未提取 不能

3.2 实事求是:20题可回答性预测

基于v9提取数据,预测各问题的可回答性:

能回答(~8题):

  • Q1, Q2, Q3, Q5, Q17, Q19, Q20(基础信息类)

部分回答(~5题):

  • Q4, Q13, Q14(表达模式类,有部分数据)

不能回答(~7题):

  • Q6-Q10(染色体位置,未提取)
  • Q11-Q12, Q15-Q16(表达量数值,未提取)
  • Q18(需要染色体+表达联合,未提取)

预计幻觉率:35-50%(如果Prompt约束不足)


四、下一步行动建议

4.1 立即执行(本周)

  1. 人工验证20题

    • 使用修订版Prompt运行RAG
    • 人工检查每个答案的证据标注
    • 记录实际幻觉率
  2. 对比实验

    • 旧Prompt vs 新Prompt
    • 测量幻觉率下降幅度

4.2 根据结果决策

如果幻觉率 < 20%:

  • ✅ Prompt约束有效
  • 继续完善提取器(补Table S1/S2)

如果幻觉率 20-40%:

  • ⚠️ Prompt需进一步优化
  • 加强"信息不足"判断逻辑

如果幻觉率 > 40%:

  • ❌ 仅靠Prompt不够
  • 必须优先完善提取器

4.3 提取器优先级(如需要)

优先级 模块 影响问题数
P0 chromosome_distribution 5题
P0 expression_rnaseq_differential 5题
P1 gene_structure 1题
P2 synteny_collinearity 0题(当前测试集)

五、文件清单

/home/xia-lab/gene-family-mas-v2/
├── prompt_v2_revised.py          # 修订版Prompt配置
├── test_rag_prompt_v2.py         # 测试脚本
├── output/
│   └── prompt_v2_test_results.json  # 测试结果(待生成)
└── data/structured_data_llm/
    └── v9_complete.json          # 提取数据(测试输入)

六、结论

修订版Prompt特点:

  1. ✅ 强制证据标注
  2. ✅ 明确禁止幻觉行为
  3. ✅ 结构化JSON输出
  4. ✅ 置信度评估

局限性(实事求是):

  1. Prompt不能弥补提取器的缺失
  2. 染色体位置/表达量问题仍需提取器支持
  3. 需要人工验证才能确定效果

建议: 立即运行20题人工验证,根据实际幻觉率决定下一步是优化Prompt还是优先完善提取器。