CASE STUDY02

AI APPLICATION

Enterprise AI Ticket Copilot

面向企业工单处理场景的 AI 应用,使用 Java/Spring Boot 承载业务工作流,并以 Python/FastAPI sidecar 提供检索预览、评测摘要、readiness、请求追踪和本地性能证据。

MY ROLE / AI COLLABORATION

我负责项目方向、RAG 边界、验收标准、评测口径与证据核验;Codex/Claude 深度参与实现、测试和文档,不把 AI 生成代码包装为独立手写。

STACK

Java 17 · Spring Boot 3 · Python 3.12 · FastAPI · Pydantic · pytest · Vue 3 · TypeScript · Keyword Retrieval · Field-aware IDF Rerank · RAG Evaluation · Human Review · Trace

STATUS

GITHUB VERIFIED

READING SIGNALRETRIEVE → REVIEW → EXPLAIN从检索来源、人工门禁读到回答边界。
REAL LOCAL RUN / REPOSITORY EVIDENCE02
Enterprise Ticket RAG Copilot 工单工作台真实运行页面VIEW ORIGINAL · Enterprise AI Ticket Copilot 真实运行截图
REAL RUN SCREENSHOTEnterprise AI Ticket Copilot

画面来自项目仓库保存的真实本地运行截图,不是概念图或第三方产品截图。

100% 命中率, 不等于检索已经完美。

普通 RAG Demo 往往只展示一个问答框,却无法回答建议引用了什么、哪些样本召回失败,以及风险动作由谁确认。本案例把失败样本和人工门禁放到成功指标旁边。

从检索证据到人工门禁的决策链路。

  1. 01Ticket Input
  2. 02Query Rewrite
  3. 03Keyword Baseline / Retrieval V2
  4. 04Citation Evidence
  5. 05Citation Gating
  6. 06Provider 或 local-rule fallback
  7. 07Answer Draft
  8. 08Human Review

把引用质量与失败样本一起展示。

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 作为词面检索边界。
02

Citation 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 仍失败。

成功结果只说明正常路径;失败结果用于检查设计是否真的守住边界。

其他失败回放

  • 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,不外推为生产检索质量。

合成评测、失败样本与审核门禁。

01 / local1000 HTTP · 0 ERR · P95 51.38MS

keyword 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 → 1

16 条 synthetic cases · baseline → Retrieval V2

2026-09-14 · 失败与审核数量只适用于该固定数据集。Retrieval V2 对比结果
06 / documentationPROVIDER FALLBACK 100%

本次未配置真实 API Key · local-rule fallback

2026-09-14 · 这是配置路径结果,不是模型质量或成功率指标。Provider 路径说明
SECONDARY VIEW / TRACEABLE UI05B
Enterprise Ticket RAG Copilot Trace Timeline 真实运行页面VIEW ORIGINAL · Enterprise AI Ticket Copilot 真实运行截图
REAL RUN SCREENSHOTEnterprise AI Ticket Copilot
METRICS / BASELINE EVIDENCE05C
Enterprise Ticket RAG Copilot 本地合成评测指标页面VIEW ORIGINAL · Enterprise AI Ticket Copilot 真实运行截图
REAL RUN SCREENSHOTEnterprise AI Ticket Copilot

每个入口都固定到对应仓库与证据提交;链接说明打开的具体内容。

SOURCE
TEST
DOCUMENT
CI

不把 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