CASE STUDY02
AI APPLICATION
Enterprise AI Ticket Copilot
面向企业工单处理场景的 AI 应用,使用 Java/Spring Boot 承载业务工作流,并以 Python/FastAPI sidecar 提供检索预览、评测摘要、readiness、请求追踪和本地性能证据。
READING SIGNALRETRIEVE → REVIEW → EXPLAIN从检索来源、人工门禁读到回答边界。
REAL LOCAL RUN / REPOSITORY EVIDENCE02
TICKET WORKBENCH
TICKET WORKBENCH1920 × 1200 pxVIEW ORIGINAL · Enterprise AI Ticket Copilot 真实运行截图 →画面来自项目仓库保存的真实本地运行截图,不是概念图或第三方产品截图。
/ PROBLEM & OWNERSHIP
100% 命中率,
不等于检索已经完美。
普通 RAG Demo 往往只展示一个问答框,却无法回答建议引用了什么、哪些样本召回失败,以及风险动作由谁确认。本案例把失败样本和人工门禁放到成功指标旁边。
/ SYSTEM PATH
从检索证据到人工门禁的决策链路。
- 01Ticket Input
- 02Query Rewrite
- 03Keyword Baseline / Retrieval V2
- 04Citation Evidence
- 05Citation Gating
- 06Provider 或 local-rule fallback
- 07Answer Draft
- 08Human Review
/ DECISIONS & FAILURE CHECKS
把引用质量与失败样本一起展示。
01先建立 keyword baseline,再做 Retrieval V2
先用可复现 keyword baseline 暴露召回与引用噪声,再加入字段权重、语料 IDF、分类惩罚、技术锚点与 no-answer threshold。
+
- 未选择 / 取舍
- V2 不引入新检索依赖,能验证评测驱动迭代;但它不是 BM25、embedding、Vector DB、Hybrid Retrieval 或外部 reranker。
- 失败验证
- V2 将 Citation Precision 从 81.11% 提升到 97.78%、failed cases 从 6 降到 1,同时保留 EVAL-016 作为词面检索边界。
02Citation gating 是回答前提
引用来源被显式验证并展示;证据不足时进入 fallback 或 review。
+
- 未选择 / 取舍
- Citation Coverage 只能证明回答附带了来源,不能证明来源相关、完整或答案正确。
- 失败验证
- baseline Citation Precision 为 81.11%;V2 提升到 97.78%,仍不把“有引用”写成“回答正确”。
03高风险建议进入 Human Review
Answer Draft 不会自动对外发送,Approve、Request Changes 与 Reject 构成显式门禁。
+
- 未选择 / 取舍
- 多一道人工确认会增加处理时间,但避免把低证据建议直接变成外部动作。
- 失败验证
- 16 条 synthetic cases 中 15 条触发 Human Review Required;测试验证 review 状态流。
04无 API Key 时明确使用 local-rule
本次评测没有配置真实 Provider Key,Provider 路径记录为 local-rule fallback。
+
- 未选择 / 取舍
- 默认可运行与可复现优先于伪造外部模型调用;因此不评估真实模型生成质量。
- 失败验证
- Provider fallback 100% 只表示本次没有真实 Key,不是模型成功率或质量指标。
05提升 Precision,不牺牲 Hit / Recall
V2 在同一固定数据集上保持 Top-K Hit Rate 100% 与 Context Recall@3 90%,同时减少无关引用。
+
- 未选择 / 取舍
- 固定 16 条数据同时参与设计与评测,结果只能作为作品集实验,不能当无偏生产 benchmark。
- 失败验证
- Precision 81.11% → 97.78%,failed cases 6 → 1;EVAL-016 仍说明词面相似可能造成误召回。
06失败样本驱动检索迭代
保留 baseline 的 expected、observed 与 reason,再用同一评测集验证 V2 是否真正减少误召回。
+
- 未选择 / 取舍
- 没有为了固定数据集把结果硬调成 100%;EVAL-016 继续公开保留。
- 失败验证
- baseline 有 6 条 failed cases,V2 降到 1 条;EVAL-015 与 EVAL-007 已修复,EVAL-016 仍失败。
/ FEATURED FAILURE CASE
成功结果只说明正常路径;失败结果用于检查设计是否真的守住边界。
PRIMARY · EVAL-015
EVAL-015:no-answer threshold 修复误召回
- SETUP
- baseline 在无可用知识时仍召回 KB-FAQ-KNOWLEDGE。
- EXPECTED
- 不引用知识条目,进入 fallback / review。
- OBSERVED
- Retrieval V2 返回 0 hit,unexpected_retrieval_for_fallback_case 被消除。
- LESSON
- 缺知识时主动 abstain 比为了凑 Top-K 返回弱相关来源更可靠。
BOUNDARY这是固定 synthetic case 上的本地实验修复,不代表真实企业分布。
其他失败回放
EVAL-016“登录”词触发账号知识误命中+
- EXPECTED
- 召回 API 500 与运维排查知识。
- OBSERVED
- 额外召回 KB-ACCOUNT-001。
- LESSON / BOUNDARY
- V2 已降低大多数噪声,但该词面相似场景仍需要更强意图理解或后续 dense / hybrid 实验。 不把该样本外推为真实企业工单分布。
EVAL-007EVAL-007:技术锚点移除无关来源+
- EXPECTED
- 聚焦 Java 端口冲突知识。
- OBSERVED
- Retrieval V2 只保留 KB-JAVA-PORT。
- LESSON / BOUNDARY
- 对技术专属文档增加可解释锚点约束,可减少只因“启动失败”等通用词造成的噪声。 只验证固定 synthetic case,不外推为生产检索质量。
/ VERIFIED EVIDENCE
合成评测、失败样本与审核门禁。
01 / local1000 HTTP · 0 ERR · P95 51.38MSkeyword baseline @ bf97f2e · 本机回环 HTTP · 单 Uvicorn · concurrency 20
2026-09-13 · bf97f2e keyword baseline 的可复现本地性能证据;不是 Retrieval V2 性能、生产 SLA 或云容量。Python sidecar load-test evidence ↗02 / synthetic-evaluation16 SYNTHETIC CASES自建 demo dataset · 不包含真实用户数据
2026-09-14 · 不代表真实企业工单分布或线上模型效果。评测数据与计划 ↗03 / synthetic-evaluationTOP-K HIT 100% / RECALL@3 90%Retrieval V2 · Top-K = 3 · baseline 指标保持不变
2026-09-14 · 至少命中一个预期来源,不代表召回完整或答案正确。Retrieval V2 对比 JSON ↗04 / synthetic-evaluationPRECISION 81.11% → 97.78%keyword baseline → Retrieval V2
2026-09-14 · 有引用不等于引用相关、完整或回答正确。Retrieval V2 对比快照 ↗05 / synthetic-evaluationFAILED CASES 6 → 116 条 synthetic cases · baseline → Retrieval V2
2026-09-14 · 失败与审核数量只适用于该固定数据集。Retrieval V2 对比结果 ↗06 / documentationPROVIDER FALLBACK 100%本次未配置真实 API Key · local-rule fallback
2026-09-14 · 这是配置路径结果,不是模型质量或成功率指标。Provider 路径说明 ↗ / SOURCE INDEX
每个入口都固定到对应仓库与证据提交;链接说明打开的具体内容。
/ HONEST BOUNDARIES
不把 Demo,
包装成生产系统。
- 默认数据集为 16 条 synthetic enterprise ticket demo cases。
- 当前 GitHub main 已实现 dependency-free Retrieval V2:字段权重、语料 IDF、分类惩罚、技术锚点与 no-answer threshold;不是 BM25、embedding、Vector DB、Hybrid Retrieval 或外部 reranker。
- 1000 请求压测来自 bf97f2e 的 keyword baseline、本机回环 HTTP 与单 Uvicorn 进程;不是 Retrieval V2 压测或生产 SLA。
- Provider fallback 100% 来自未配置真实 API Key,不是模型质量指标。
- 同一 16 条 synthetic cases 上,Top-K Hit 100% 与 Recall@3 90% 保持不变,Citation Precision 81.11% → 97.78%,failed cases 6 → 1;数据同时参与设计与评测。
NEXT CASE / 03DevFlow Copilot↗