Files
group_fqcd_jr/docs/验收与审计/phase1-acceptance-criteria.md
T

3.9 KiB
Raw Blame History

老师 Phase 1 验收标准原文 + 覆盖缺口盘点(控制者 2026-09-10)

来源:C:\Users\Windows\Desktop\金融\需求文档-修改版.html(优先级 1 权威), Phase 1:基础设施 + 智能客服Agent(第1周) 段落的「验收标准」小节(原文 7 条)。 控制者用脚本直接抽取原文,未经转述。

7 条验收标准(原文)

# 原文 我们的覆盖情况
1 ✅ FastAPI项目可正常启动,Swagger文档可访问(http://localhost:8000/docs) ✅ 底座既有
2 ✅ 数据库10张表全部创建成功(SHOW TABLES 返回10条记录) ✅ 现库 51 表(远超 10),audit_schema.py 通过
3 ✅ FAQ问答对成功导入Milvus,检索返回正确结果(测试"基金申购后多久确认"返回正确回答) ⚠️ 未达成 —— 数据已入库 MySQL(106 行)与事件(408 条),但写路径未接入 WorkerRuntime → Milvus 里零向量 → 检索返回空。这是当前最大缺口(Task 5 + Task 6 已交货,缺"装配"这一环)
4 ✅ 客服Agent能正确回答产品咨询类问题(测试5个以上问题,准确率≥80%) ⏳ 依赖 Task 9(Agent 本体)+ Task 7(工具)+ 第 3 条
5 ✅ 客服Agent能正确处理政策解读类问题(测试2个以上问题) ⏳ 同上(且政策知识目前只有 1 个集合占位、无数据)
6 ✅ 多轮对话上下文保持正常(测试3轮以上连续对话,上下文不丢失) ⏳ 依赖 Task 9 + 底座会话记忆(Redis 短期记忆)
7 ✅ 知识库管理接口可正常上传/查询/删除文档 🔴 规划缺口 —— 见下

🔴 第 7 条:10 个 Task 里没有规划这个接口

控制者实测:app/api/controllers/ 下只有 knowledge.py(/api/v1/knowledge-references,引用解析), 不存在知识库管理接口。老师 F1.2 还明确写了三个端点:

老师要求的端点 现状
POST /api/knowledge/upload — 上传文档并自动入库 ❌ 不存在(Task 5 已交付 KnowledgeIngestService,可直接接上)
GET /api/knowledge/list — 查看文档列表 ❌ 不存在(可读 fin_knowledge_meta)
DELETE /api/knowledge/{id} — 删除文档及对应向量 ❌ 不存在(删除活动链已具备:标记 status='expired' + 投 knowledge.vector_delete_requested;Milvus 删除 handler 已在 Task 5 交付)

处置建议:新增一个小 Task(可称 Task 11:知识库管理接口): Controller → Service,复用 KnowledgeIngestService(上传)与 MilvusKnowledgeWriter.delete 配套的事件(删除), 并遵守底座既有鉴权(build_request_context)与权限(建议 knowledge:manage 之类,需查 sys_permission 现状)。 它是验收第 7 条的硬需求,不做则答辩必丢一条。

另两处需求原文与实现的取舍(已被计划登记,此处存档)

  1. 老师写「512 token / 块,overlap 64 token」,我们实现是 512/64 个字符。 计划已裁定按字符(不引入 tokenizer 依赖),并在 docstring 写明。答辩若被追问需解释该取舍。
  2. 老师写「检索最高 Score < 0.7 → 兜底话术(建议拨打客服热线400-XXX-XXXX)」。 我们的兜底话术走 TPL_LOW_CONFIDENCE / 安全路由 P4,电话号码是真实的 15936583816(非占位符 400-XXX-XXXX)。 另注:控制者已修掉"业务热线被脱敏成[手机号已脱敏]"的缺陷,否则这条兜底话术会拿不到号码。

供 Task 10 使用

Task 10 必须逐条用上表 7 条做对照,每条给可复现命令 + 实际输出。 特别注意第 3 条:它正是"检测全绿但端到端不通"的典型 —— 必须先完成 wiring-dispatch-notes.md 里的装配, 再跑 Milvus 真机检索,否则第 3/4/5 条都无法通过。