# **LLM 友好型质控报告评估与优化方案**
**文档版本:** v2.1 (基于团队反馈优化)
**评估对象:** qc-report-test0102-pd-study-2026-02-08.xml
**评估日期:** 2026-02-08
## **🚀 一、 核心共识:Context Protocol v2.1**
经过团队讨论,确定采用 **“XML 容器 \+ Markdown 内容”** 的混合模式,并支持 **双格式输出** 以满足不同场景。
### **1.1 双格式策略 (Dual Format Strategy)**
后端 QcService 应支持 format 参数:
* **format=json (Default)**: 面向 **前端 UI**。结构化强,用于渲染热力图、表格。
* **format=llm-friendly**: 面向 **LLM Context**。Token 密度高,语义清晰,包含“证据”。
### **1.2 理想的 LLM Context 结构 (V2.1)**
**设计原则**:
1. **去重**:不再单独列出 rule\_definitions,要求每条 issue **自包含**(同时包含现状与标准)。
2. **聚合**:按 Record ID 分组。
3. **压缩**:使用 Markdown 列表替代冗余的 XML 标签。
\
\<\!-- 1\. 宏观统计 (Aggregate) \--\>
\
\- 状态: 13/13 记录存在严重违规 (100% Fail)
\- Top 3 问题:
1\. 年龄超标 (13人)
2\. 未签知情同意书 (13人)
3\. 疼痛评分不达标 (13人)
\
\<\!-- 2\. 问题详情 (Markdown List in XML) \--\>
\
\
\*\*严重违规 (5项)\*\*:
1\. \[R\_AGE\] \*\*年龄超标\*\*: 当前 \*\*45岁\*\* (标准: 25-35岁)。
2\. \[R\_ICF\] \*\*伦理缺失\*\*: \`informed\_consent\` 为空 (必须签署)。
3\. \[R\_VAS\] \*\*入排不符\*\*: VAS评分 \*\*2分\*\* (要求 \>= 4分)。
\
\
\*\*严重违规 (5项)\*\*:
1\. \[R\_AGE\] \*\*年龄超标\*\*: 当前 \*\*52岁\*\* (标准: 25-35岁)。
\<\!-- 其他同上 \--\>
\
\
\
## **🛠️ 二、 实施建议 (Action Items)**
### **2.1 后端改造:让报错信息“自包含”**
这是消除 rule\_definitions 依赖的关键。我们需要在生成 Issue 时,就把标准塞进去。
* **Before (HardRuleEngine)**:
return { message: "年龄不在范围内" }
* **After (HardRuleEngine)**:
// 动态拼接模板
return {
message: \`当前 \*\*${actualValue}\*\* (标准: ${rule.min}-${rule.max})\`,
structured\_evidence: { value: actualValue, range: \[25, 35\] }
}
### **2.2 System Prompt 增强 (V2.1)**
参考团队建议,强化“证据引用”指令。
\# Role
你是一名资深的临床监查员 (CRA)。
\# Input Format
你收到的 \`\\` 包含了项目的质控报告。
\- \`\\` 区域按受试者列出了具体违规项。
\- 每一行违规项都包含了 \*\*\[规则ID\]\*\*、\*\*错误类型\*\*、\*\*现状值\*\* 和 \*\*标准值\*\*。
\# Critical Instructions (思维链约束)
在回答用户问题时,你必须遵循以下步骤:
1\. \*\*定位 (Locate)\*\*: 找到用户询问的 \`\\`。
2\. \*\*提取 (Extract)\*\*: 读取具体的报错行。
3\. \*\*引用 (Cite)\*\*: 在回答中明确引用现状值和标准值。
\- ✅ 正确: "1号患者年龄违规,因为他当前 \*\*45岁\*\*,而方案要求 \*\*25-35岁\*\*。"
\- ❌ 错误: "1号患者年龄不对。" (太模糊)
\- ❌ 错误: "1号患者年龄违规,请检查。" (无证据)
4\. \*\*诚实 (Grounding)\*\*: 如果报告里没写的数值(比如血压),绝对不要编造,直接回答“报告未提及”。
\# Example
User: "10号病人有什么大问题?"
Assistant: "10号病人有 \*\*5项严重违规\*\*。最主要的是 \*\*年龄超标\*\*,他当前 \*\*52岁\*\*,远超出了 \*\*25-35岁\*\* 的入排标准。此外还存在伦理知情同意书缺失的问题。"
## **📊 三、 收益预估**
1. **Token 节省**:相比 V1.0 XML,V2.1 混合格式预计节省 **40%-60%** 的 Token(去掉了大量的 \, \, \ 标签)。
2. **幻觉消除**:通过“自包含”设计,LLM 不需要跨段落去查找规则定义,所有信息都在一行内,上下文注意力极其集中。
3. **开发解耦**:前端用 JSON 渲染界面,LLM 用 Text 文本推理,互不干扰。
**结论:** 团队的建议非常棒。V2.1 方案已采纳 **混合格式** \+ **自包含报错** \+ **引用增强 Prompt**,这是目前最优的工程解法。