# 第一版 Demo 功能范围 ## 项目定位 医疗问诊 Agent 是大系统中的子功能。宿主系统进入时传入 `X-User-Id`,Agent 内部基于该值做会话隔离、训练记录、评价报告和学习档案沉淀。 ## 已实现功能 | 功能 | 说明 | |---|---| | 入口连接 | 校验 `X-User-Id`,返回当前用户上下文和 Demo 能力开关 | | 病例列表 | 从 `case_base` 读取已发布病例 | | 病例详情 | 展示训练入口信息,不暴露标准答案、隐藏信息和评分细则 | | 创建训练会话 | 写入 `training_session`,初始化短期 memory | | 多轮问诊 | 医学生向 AI 病人提问,支持普通和 SSE 流式返回 | | 查看提示 | 练习模式下用户手动点击,Hint Agent 基于病例和当前对话生成提示 | | 检查/检验申请 | 从 `case_exam_item` 返回固定结果,写入 `training_order` 和短期 memory | | 完成问诊 | 至少一轮医生问诊后进入诊断阶段 | | 提交诊断 | 写入 `training_submission` | | 提交治疗 | 更新 `training_submission`,进入评价阶段 | | AI 评价报告 | 读取 `scoring_rule`、知识库命中结果和作答过程,写入 `training_record` | | PDF 导出 | 基于 `training_record` 生成本地 PDF 并回写路径 | | 历史记录 | 按 `external_user_id` 查询 `training_record` | | LLM 测试 | 测试 Fast 和 Reason 模型响应耗时 | ## 训练模式 当前只保留两个业务模式: | 模式 | 内部值 | 数据来源 | 说明 | |---|---|---|---| | 练习模式 | `practice` | `case_base + traditional_case` | 支持自由问诊、检查申请、诊断治疗提交和查看提示 | | 教学互动模式 | `teaching` | `case_base + teaching_case` | 保留教学目标、讨论题、教师引导和评分重点 | 历史 `novice` 请求在后端归一为 `practice`。查看提示功能不作为独立模式存在,而是练习模式中的手动辅助能力。 ## 状态流转 ```text inquiry -> diagnosis -> treatment -> evaluating -> completed ``` | 状态 | 可执行操作 | |---|---| | `inquiry` | Chat、查看提示、申请检查、完成问诊 | | `diagnosis` | 提交诊断、申请检查 | | `treatment` | 提交治疗、申请检查 | | `evaluating` | 生成评价 | | `completed` | 查看报告、导出 PDF、进入历史 | ## 存储边界 - 多轮聊天只作为单次会话短期 memory,不写入长期历史。 - 检查结果写入 `training_order`,用于评分依据。 - 诊断和治疗写入 `training_submission`。 - 只有完整完成评价后才写入 `training_record`。 - 历史记录和 PDF 导出均基于 `training_record`。 ## 第一版不包含 - 独立注册登录。 - 多租户权限后台。 - HIS/LIS/PACS 对接。 - 语音、视频、影像阅片。 - PDF 病例自动解析。 - 生产级知识库后台。 - 复杂考试系统。