ai-robot-core/spec/intent-driven-script/metadata-intent-flow-operat...

203 lines
5.8 KiB
Markdown
Raw Normal View History

# 元数据 + 意图识别 + 话术流程关联操作文档
## 1. 目标
本文用于指导运营/配置人员在管理界面完成以下闭环:
1. 配置元数据字段
2. 录入知识库文档并标注元数据
3. 配置意图规则(触发路由)
4. 配置话术流程(多轮推进)
5. 打通“意图 -> 检索/流程 -> 话术生成”
适用对象:产品、运营、实施、测试。
---
## 2. 概念关系(先理解)
- **元数据Metadata**:用于“筛选与路由”的标签,如 `grade`、`subject`、`scene`。
- **意图规则Intent Rule**:用于判断“用户在说什么、系统该做什么”。
- **话术流程Script Flow**:用于处理“多轮引导”,例如收集年级 -> 收集薄弱点 -> 推荐课程。
**执行链路**
用户消息 -> 意图匹配 ->
- 命中 `response_type=rag`:进入知识库检索(带 metadata filter
- 命中 `response_type=flow`:进入话术流程
- 命中 `fixed/transfer`:直接固定回复或转人工
---
## 3. 第一步:配置元数据字段
进入:`元数据配置` 页面 -> 新建字段。
建议首批字段(教育场景):
- `grade`(枚举):初一/初二/初三/all
- `subject`(枚举):语文/数学/英语/物理/化学/综合/all
- `scene`枚举pain_point/transition/module_intro/faq/policy/closing
- `flow_step`枚举step1/step2/step3/step4/step5/none
- `intent_type`枚举ask_grade/ask_weak_point/module_recommend/next_action/faq_answer/compliance
- `audience`枚举parent/student/all
- `priority`数字1-10
- `status`枚举draft/active/deprecated
字段配置建议:
- `是否必填``grade/subject/scene/status` 建议必填
- `可过滤`:上述字段建议全部开启
- `排序特征`:仅 `priority` 建议开启
- `状态`:配置完成后由 `草稿 -> 激活`
注意:字段标识只用小写字母/数字/下划线,避免后续过滤失败。
---
## 4. 第二步:录入知识库文档并打元数据
进入:`知识库文档` 页面 -> 新增文档。
### 4.1 文档内容规范(你当前按行分块)
- 一行一个知识点
- 每行尽量只表达一个事实或一个建议
- 避免一行过长(建议 20~80 字)
### 4.2 元数据填写规范
示例(初一痛点文档):
- `grade=初一`
- `subject=综合`
- `scene=pain_point`
- `flow_step=step2`
- `intent_type=ask_weak_point`
- `audience=parent`
- `status=active`
- `priority=8`
### 4.3 无年级、仅学科的数据怎么填
- `grade=all`
- `subject=语文/数学/...`
- 其余按场景填写
不建议因为“无年级”单独新建知识库,优先通过文档+metadata区分。
---
## 5. 第三步:配置意图规则(路由入口)
进入:`意图规则` 页面 -> 新建规则。
### 5.1 必填项
- 名称
- `keywords`(关键词)和/或 `patterns`(正则)
- `response_type`fixed / rag / flow / transfer
- 优先级
### 5.2 推荐路由策略
- 课程咨询、薄弱点分析 -> `response_type=flow`
- 短问短答(价格、班型) -> `response_type=rag``fixed`
- 明确转人工 -> `response_type=transfer`
### 5.3 metadata 关联
在意图规则 metadata 中建议填写:
- `scene`
- `grade`(可选)
- `subject`(可选)
用于后续检索过滤增强。
---
## 6. 第四步:配置话术流程(与意图绑定)
进入:`话术流程` 页面 -> 新建或编辑流程。
### 6.1 你当前推荐流程(示例)
- Step1确认年级
- Step2年级特点 + 过渡到薄弱点
- Step3确认薄弱科目/能力点
- Step4针对薄弱点介绍课程模块
- Step5给出下一步建议
### 6.2 每步建议配置
- `script_mode = flexible`
- 配置 `intent` / `intent_description`
- 配置 `script_constraints`
- 配置 `fallback content`
- 配置 `expected_variables`(如 `grade`, `weak_points`
### 6.3 与知识库关联方式
- 在流程步骤中通过 `rag_config.tag_filter` 或上下文变量注入过滤(如 `grade`, `subject`, `scene`
- Step2 常用 `scene=pain_point`
- Step4 常用 `scene=module_intro`
---
## 7. 第五步:关联关系配置清单(上线前检查)
### 7.1 意图 -> 流程
- 已有意图规则 `response_type=flow`
- `flow_id` 指向正确流程
### 7.2 意图/上下文 -> 检索
- 命中 `response_type=rag` 或流程步骤需要RAG时
- metadata filter 至少包含 `grade/subject/scene` 之一
### 7.3 文档 -> 检索命中
- 文档已 `status=active`
- 文档 metadata 与过滤字段一致(值完全一致)
- 文档内容按行分块且可检索
---
## 8. 验收用例(建议)
### 用例1初一家长咨询
输入:`孩子刚上初一,成绩上不去怎么办?`
期望:
1. 命中课程咨询意图
2. 进入 flow或rag+flow
3. 检索优先命中 `grade=初一``scene=pain_point` 文档
### 用例2仅学科问题
输入:`语文阅读理解总是丢分`
期望:
1. 命中学科提升相关意图
2. 检索命中 `subject=语文`、`grade=all` 或当前年级内容
### 用例3无召回兜底
输入:冷门问题且无相关文档
期望:
1. 返回 fallback 话术
2. 记录无召回原因(便于补文档)
---
## 9. 常见问题与处理
1. **有文档但检索不到**
- 检查 metadata 值是否一致(如“初一” vs “七年级”)
- 检查字段是否可过滤、状态是否 active
2. **命中不准,答非所问**
- 缩小意图规则关键词
- 增加 metadata 过滤条件
- 拆分长行文本为更原子知识点
3. **是否要新增知识库**
- 先不拆库,优先文档+metadata
- 仅当串库严重/权限隔离/规模过大再拆
---
## 10. 运营维护建议
- 每周复盘:
- 高频命中问题
- 无召回问题
- 错召回问题
- 按复盘结果更新:
- 意图规则关键词与优先级
- 文档内容与metadata
- 流程约束与fallback
目标:持续提高“命中率、相关性、可用率”。