AI Data Platform SWE · Phone Screen Design

Oracle Health 医院 Chatbot:查科室医生与预约

把部门地址、医生查找和预约分成知识问答与受控事务,解释 RAG 幻觉防护、准确率和权限。

题目重点:把部门地址、医生查找和预约分成知识问答与受控事务,解释 RAG 幻觉防护、准确率和权限。

题意与假设

这道练习题保留了面经中值得训练的核心约束,并将需要澄清的条件单独列出。现场拿到变体时,先和面试官确认这些条件。

  • 科室地址、医生档案和排班由医院权威系统提供;FAQ/说明文档可走检索,但预约不能由生成文本直接写入。
  • 患者身份和最小权限先于个人信息查询;用户明确确认日期、医生和时间后才提交预约事务。

解题路线

  1. 先做意图识别与槽位澄清:查地址需院区/科室,找医生需专科/地点/保险等条件,预约需患者身份、医生、日期与同意。
  2. 结构化事实优先调用受信 API:科室目录、医生索引、实时号源;RAG 仅用于解释政策或路径,答案附来源和更新时间。
  3. 检索阶段限定可访问文档、版本和时效;生成后对医生名、地址、号源等关键实体再与 API 对照。无匹配或低置信时明确说不知道并转人工。
  4. 预约采用读取可用槽→展示→用户确认→带幂等键的原子预订,处理并发抢同一槽和重试。聊天上下文不等于预约状态。
  5. 评价分别量测事实准确率、来源支持率、无法回答时拒答正确率、预约成功率、误订率和用户解决率;抽样人工审查高风险医疗输出。

手动走一遍

用户问“心内科在哪”,机器人先确认院区,再从权威科室 API 返回地址并附更新时刻;用户说“帮我约王医生周二”,系统查询号源、展示具体时间,只有用户确认后才提交,若号源已被抢走则重新提供可用选项。

规模与取舍

若文档数 D、医生数 M、每查询候选 K,检索由索引负责而非 O(D) 全扫;实际延迟预算分摊给身份校验、API 查询、检索和生成。预约写入需串行化到具体医生/时段键,规模与号源分片相关。

易错点与追问

容易失分的边界

  • 把旧文档中的医生或地址当实时真值。
  • 让 LLM 根据对话文字直接宣告预约成功,而没有事务确认。
  • 只用 LLM judge 评价医疗正确性,不核对权威来源与高风险错误。
  • 检索混入其他患者或不具权限的医疗记录。

继续深挖

  • 医生临时停诊后,缓存和已生成回答如何失效?
  • 检索文档与结构化 API 冲突时谁优先?
  • 用户描述症状时,系统应如何限制诊断建议并引导合适人工渠道?
✓已复制微信号!