Skip to content

[P1][Regression] Add operational self-knowledge contradiction and evidence gates #12

Description

@ShuhaoZhangTony

背景

此次故障在接口健康、模型加载和页面模型名都正常时仍然发生:真实后端是 DeepSeek-V4-Flash/8×Ascend,回答却声称只知道 DeepSeek-V2,并输出 CUDA/GPU/TensorRT-LLM 模板。仅检查 /health/v1/models 或 HTTP 200 无法发现这种语义矛盾。

目标

建立独立于具体模型名称的端到端 operational self-knowledge 回归门禁,确保每次部署、知识同步或问答流水线修改后,都验证“系统说的”和“系统实际跑的”一致。

Workload

至少覆盖:

  • 当前运行的模型、架构和量化是什么;
  • 使用 GPU 还是 Ascend/NPU、多少卡;
  • TP/DP/EP 与 graph/eager 状态;
  • 是否启用 speculative execution,以及未启用时的真实原因;
  • 当前 Sage Mate、SAGE、vLLM-HUST、vLLM-Ascend-HUST 的协作关系;
  • 同义词、错别字、中英文、追问和带误导前提的问法。

断言

  • 从独立 runtime fixture/receipt 生成 expected facts,不在测试里复制产品规则。
  • 回答必须包含 required facts,且不得出现与 runtime 冲突的 forbidden facts。
  • used_model、health/status、Support evidence 与正文一致。
  • 没有证据时必须显式不确定,禁止生成通用 GPU/CUDA 模板冒充本机事实。
  • 记录检索命中、route、trace ID、阶段时间、引用覆盖率和答案 contradiction score。
  • 作为部署后 smoke gate 和 CI fixture gate;失败阻止宣称部署验收完成。

验收标准

  • 使用 V4-Flash/8×Ascend fixture 时,截图中的原问题及不少于 20 个变体全部通过。
  • 使用 V2/GPU、GLM/NPU 等不同 fixture 时同一测试代码正确适配,证明不是针对 V4 的 rule-based patch。
  • 注入 stale receipt、runtime/receipt 冲突、无 runtime、检索无命中等故障时产生预期降级或失败。
  • 输出机器可读 JSON 报告和一份部署后真实公开 URL 验收 artifact。

关联

Metadata

Metadata

Labels

bugSomething isn't workingenhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions