doc_id: TST-202606-001 feature_id: FEAT-202606-006-agent-semantic-interaction type: test-plan title: Agent 语义交互与命令治理测试计划 status: reviewing owner: 医梦研发团队 created_at: 2026-06-29 updated_at: 2026-07-01 reviewers:
覆盖:
不覆盖:
实施时记录:
不得在测试文档记录真实患者身份或生产密钥。
至少准备:
| 编号 | 场景 | 核心步骤 | 预期结果 | 状态 |
|---|---|---|---|---|
| TST-001 | 完整条件直查 | 输入明天+呼吸科+主任医师 | 不重复补问,返回可信候选 | planned |
| TST-002 | 精确结果为空 | 查询无结果 | 按策略推荐并标注放宽条件 | planned |
| TST-003 | 不自动放宽 | 返回替代候选 | 未明确选择前不更新条件、不锁号 | planned |
| TST-004 | 文本完整性 | 禁用终端展示能力 | 纯文本/语音可完成查询 | planned |
| TST-005 | 展示异步 | 延迟领域 ViewModel 转换 | semantic_result 先返回,不被阻塞 | planned |
| TST-006 | 展示失败 | 模板生成异常 | 文本成功,任务不失败 | planned |
| TST-007 | 无状态展示 | 返回医生/号源展示 | 不创建 Command/Card 实例 | planned |
| TST-008 | 点击选择 | 回传 interaction | 解析稳定 candidateId | planned |
| TST-009 | 自然语言序号 | 输入“选第二个” | 与点击第二项解析一致 | planned |
| TST-010 | 版本冲突 | 使用旧 resultVersion | 返回冲突并要求刷新 | planned |
| TST-011 | 快照过期 | 使用过期 resultRef | 返回过期并重新查询 | planned |
| TST-012 | 锁号前复核 | 查询后改变余号 | 不信任快照,使用实时结果 | planned |
| TST-013 | L1 锁号 | 明确选择号源 | 无额外二次确认,幂等锁号 | planned |
| TST-014 | L2 挂号 | 准备最终挂号 | 返回 command_prepared,等待确认 | planned |
| TST-015 | 命令确认 | 合法确认 | 执行一次并完成 TaskState | planned |
| TST-016 | 重复确认 | 重复相同幂等键 | 返回首次结果,不重复挂号 | planned |
| TST-017 | 命令拒绝 | 调用 reject | 不执行写工具,记录审计 | planned |
| TST-018 | 命令过期 | 确认过期命令 | 拒绝执行,要求重新准备 | planned |
| TST-019 | 写状态未知 | 模拟下游超时 | 进入 UNKNOWN,不盲重试 | planned |
| TST-020 | 身份越权 | 跨患者确认命令 | 403,记录安全审计 | planned |
| TST-021 | 租户越权 | 跨租户读取 result/command | 403,不泄露存在性细节 | planned |
| TST-022 | FastGPT 写工具 | 模型请求写工具 | 后端拒绝,不调用 HIS | planned |
| TST-023 | 模型伪造风险 | 模型将 L2 标为 L0 | 后端使用固定 L2 | planned |
| TST-024 | 插入问答 | 挂号中问医生擅长 | 回答后保留原 TaskState | planned |
| TST-025 | 切换任务 | 挂号中转缴费 | 挂号暂停,锁号不续期 | planned |
| TST-026 | 断线恢复 | SSE 中断 | 通过 turn/command 查询恢复 | planned |
| TST-027 | 全链路回放 | 按 traceId 查询 | 能还原模型、工具、展示、确认和执行 | planned |
| TST-028 | v2 契约 | 校验 OpenAPI/SSE | 无 nextCard 和通用 card_created | planned |
| TST-029 | 架构边界 | 运行架构测试 | FastGPT 不调用写工具,Command 不依赖模型 | planned |
| TST-030 | 旧语义清理 | 仓库检索有效代码/契约 | 旧 Card 流程只存在历史说明 | planned |
| TST-031 | ToolCatalog 过滤 | 注册读写混合工具 | FastGPT 只看到授权只读工具 | planned |
| TST-032 | 查询参数无效 | FastGPT 提交非法日期/字段 | 最多修复一次,否则自然语言澄清 | planned |
| TST-033 | 阶段零门禁 | 模拟工具正常/空结果/参数错误/超时 | 能力验证有明确通过或停止结论 | planned |
| TST-034 | 无 Card 端到端 | 关闭 Presentation,完成查询、选择、锁号和挂号 | 文本/语音与 Command 可独立完成全链路 | planned |
| TST-035 | Card 控制信号清理 | 检索运行代码并执行任务状态测试 | cardKey/cardData/nextCard/Card 类型不参与完成判断和状态迁移 | planned |
实施测试先测量再确定阈值,至少分别记录:
message_delta;semantic_result;presentation;验收原则:Presentation 延迟或失败不能增加文本与 semantic_result 的关键路径等待。
AiPlatformArchitectureTest 扩展。当前为测试计划,尚未执行。不得据此将专题标记为 implemented;
实施后必须创建独立 测试结果.md 记录真实环境、通过项、失败项和结论。