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

203 lines
5.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 元数据 + 意图识别 + 话术流程关联操作文档
## 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
目标:持续提高“命中率、相关性、可用率”。