ai-robot-core/spec/metadata-governance/requirements.md

88 lines
5.3 KiB
Markdown
Raw Normal View History

---
feature_id: "IDSMETA"
title: "多知识库元数据模型与拆解治理(迭代需求)"
status: "draft"
version: "0.2.0"
active_version: "0.1.0-0.2.0"
version_history:
- version: "0.2.0"
ac_range: "AC-IDSMETA-13~22"
description: "基于已上线元数据配置界面的联动增强与治理闭环"
- version: "0.1.0"
ac_range: "AC-IDSMETA-01~12"
description: "建立多知识库元数据配置与数据拆解治理能力"
owners:
- "product"
- "backend"
- "frontend"
- "ops"
last_updated: "2026-03-02"
source:
type: "doc"
ref: "docs/spec-product-zh.md + spec/contracting.md + spec/intent-driven-script/data-decomposition-methodology.md"
---
# 多知识库元数据模型与拆解治理IDSMETA
## 1. 背景与目标
### 1.1 背景
当前系统已具备 Knowledge Base / Intent Rules / Script Flow / Prompt Template 的录入能力,并支持灵活话术流程。**元数据配置界面已上线**,但在跨模块复用与检索治理层仍存在缺口:
- 知识录入口径不一致,导致检索命中与召回不稳定
- 已上线 metadata 配置能力尚未在 KB/Intent/Flow/Prompt 录入链路中完全联动
- 新增业务文本时,难以稳定判断应录入 KB、Intent、现有 Flow 或新建 Flow
- 多知识库场景下缺少“意图路由 + metadata 过滤”的标准执行策略
### 1.2 目标
- 在现有 metadata 配置界面基础上补齐字段生命周期治理draft/active/deprecated
- 在 KB/Intent/Flow/Prompt 管理界面统一联动 metadata 配置与校验
- 建立“数据拆解方法论”到系统配置对象的落库闭环
- 提升多知识库检索准确率与可维护性
### 1.3 非目标Out of Scope
- 不调整现有 LLM 供应商与模型切换机制
- 不实现全新的向量引擎或替换 Qdrant
- 不在本迭代内重构既有全部历史数据,仅提供迁移与增量治理方案
## 2. 用户故事User Stories
- [US-IDSMETA-01] 作为运营配置人员,我希望在后台统一配置 metadata 字段与可选值,以便不同模块复用同一套标签标准。
- [US-IDSMETA-02] 作为话术与知识库管理人员,我希望录入内容时自动显示适配字段并进行校验,以便减少脏数据。
- [US-IDSMETA-03] 作为系统路由引擎,我希望根据意图自动选择知识库并附加 metadata 过滤,以便提高召回相关性。
- [US-IDSMETA-04] 作为产品经理,我希望把“拆解方法论”沉淀为标准输出格式,以便在不同 AI 上下文中稳定复用。
## 3. 验收标准Acceptance Criteria, EARS
### 📌 当前活跃版本v0.2.0
- [AC-IDSMETA-13] WHEN 管理员在元数据配置界面创建或编辑字段 THEN 系统 SHALL 支持字段级状态管理draft/active/deprecated并在列表中可筛选。
- [AC-IDSMETA-14] WHEN 字段状态为 deprecated THEN 系统 SHALL 禁止其在新建对象中被选择,但历史数据仍可读取。
- [AC-IDSMETA-15] WHEN 在 KB 文档录入页创建/编辑内容 THEN 系统 SHALL 根据知识库类型与 scope 自动渲染 metadata 字段并执行 required 校验。
- [AC-IDSMETA-16] WHEN 在 Intent Rule、Script Flow、Prompt Template 页面编辑配置 THEN 系统 SHALL 复用统一 metadata 组件并以一致的数据结构保存。
- [AC-IDSMETA-17] WHEN 页面切换对象类型(如 FAQ -> Product THEN 系统 SHALL 保留兼容字段值,并对不兼容字段给出“移除/映射”的显式提示。
- [AC-IDSMETA-18] WHEN 命中 Intent Rule 且 response_type=rag THEN 系统 SHALL 按路由策略选择目标知识库集合(支持多库)。
- [AC-IDSMETA-19] WHEN 进入 RAG 检索 THEN 系统 SHALL 注入会话上下文提取出的 metadata 过滤条件(至少包含 grade、subject、scene
- [AC-IDSMETA-20] WHEN 路由或过滤后无有效召回 THEN 系统 SHALL 执行兜底策略fallback kb 或固定话术)并记录结构化原因码。
- [AC-IDSMETA-21] WHEN 运营或 AI 提交“待录入文本” THEN 系统 SHALL 按固定模板输出拆解结果(归类结论、理由、落库建议、风险冲突)。
- [AC-IDSMETA-22] WHEN 新增或更新拆解模板 THEN 系统 SHALL 保存模板版本并支持查询最近一次生效版本。
### 📦 历史版本(已归档)
<details>
<summary>v0.1.0元数据配置能力建立AC-IDSMETA-01~12</summary>
- [AC-IDSMETA-01] 元数据配置页面支持字段定义创建field_key、label、type、required、options、default、scope、is_filterable、is_rank_feature、status
- [AC-IDSMETA-02] 保存字段定义时校验 field_key 全局唯一且仅允许小写字母数字下划线。
- [AC-IDSMETA-03] enum 或 array(enum) 类型要求 options 非空且无重复。
- [AC-IDSMETA-04] required 且 scope 命中时,录入保存前执行必填校验并返回字段级错误。
- [AC-IDSMETA-05] KB 文档录入根据知识库类型展示适用 metadata 字段。
- [AC-IDSMETA-06] Intent Rule / Script Flow / Prompt Template 支持保存结构化 metadata。
- [AC-IDSMETA-07] 切换对象类型时保留可兼容字段并提示不兼容处理。
- [AC-IDSMETA-08] Intent 命中后支持按路由选择目标知识库集合。
- [AC-IDSMETA-09] RAG 检索支持注入关键 metadata 过滤条件。
- [AC-IDSMETA-10] 无召回时触发兜底并记录原因日志。
- [AC-IDSMETA-11] 支持按固定结构输出拆解结果。
- [AC-IDSMETA-12] 支持拆解模板版本保留与回溯。
</details>