xyz-docs/客服系统/AI Assistant智能客服方案.md
2026-01-28 22:37:15 +08:00

266 lines
5.8 KiB
Markdown
Raw 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. 背景与目标
随着大模型LLM在自然语言理解与生成能力上的成熟AI 智能客服已具备在真实业务中承担「**首轮接待、常见问题解答、用户情绪安抚**」等角色的能力。
**本方案目标:**
-**最短周期12 周)内完成 AI 客服接入**
- **显著改善用户体验**(回答自然、连贯、有温度)
- **不引入复杂架构、不增加系统不稳定性**
- 为后续升级RAG / 工具调用 / 私有化模型)保留演进空间
## 2. LLM 接入技术选型概览
## 2.1 常见 LLM 接入方案对比
| 方案类型 | 技术构成 | 优点 | 缺点 | 适用阶段 | 成熟框架 / 实际案例 |
| --- | --- | --- | --- | --- | --- |
| **规则型客服** | 关键词 / 状态机 | 稳定、可控、零成本 | 命中率低、体验生硬 | 传统客服 | **Chatwoot未启用 AI**Zammad |
| **RAG 架构** | 向量库 + 检索 + LLM | 准确性高、可扩展 | 架构复杂、交付慢 | 中后期 | **Dify**(知识库问答)\n**Haystack** |
| **Agent / Tool** | LLM + 函数 / API | 能执行操作、自动化 | 成本高、不稳定 | 成熟期 | **LangChain**Agent\n**AutoGPT** |
| **Prompt All-in-One** | Prompt + LLM | 上线最快、见效最快 | 知识规模受限 | 短期交付 | **Rasa**(早期 FAQ\n**Botpress**Prompt 技能) |
### 2.2 技术选型结论
**基于当前阶段目标(短期交付 + 快速见效),本方案选择:**
> **Prompt All-in-One 方式接入 LLM**
即:
- 不引入向量数据库
- 不引入 Agent / Tool 体系
- 不拆分复杂 AI 中台
- 通过 **精心设计的 Prompt**,将角色、规则、知识与上下文统一注入模型
***
## 3. Prompt All-in-One 接入方案概述
### 3.1 核心思想
> **将“客服经验”而不是“系统复杂度”注入模型**
模型只做一件事:
**在清晰约束下,用专业客服语言回答问题**
***
### 3.2 整体交互流程
```javascript
用户提问
会话上下文拼装最近 N
业务规则判断是否命中硬规则
Prompt 构建角色 + 规则 + 知识 + 上下文
LLM API 调用
结果校验 / 兜底
返回用户
```
***
## 4. Prompt All-in-One 方案详细设计
### 4.1 Prompt 结构设计
Prompt 采用**分段式结构**,确保模型行为可控、稳定。
#### 4.1.1 角色定义Role
```javascript
你是一个专业克制可靠的智能客服助手
你需要像人工客服一样回答问题而不是聊天机器人
```
***
#### 4.1.2 行为规则Rules
```javascript
规则
1. 不允许编造事实
2. 如果无法确认答案必须明确说明需要人工客服介入
3. 回答应简洁直接礼貌
4. 不输出与问题无关的内容
```
***
#### 4.1.3 业务知识Knowledge
> 采用 **FAQ / 固定问答** 形式,直接注入 Prompt
```javascript
已知业务信息
Q: 如何修改账号密码
A: 个人中心】→【安全设置中进行修改
Q: 会员是否支持退款
A: 会员服务一经开通暂不支持退款
Q: 视频无法播放怎么办
A: 请先检查网络环境若仍无法播放请联系客服
```
> 初期建议 **1050 条核心问题** 即可产生明显效果
***
#### 4.1.4 对话上下文Context
```javascript
最近对话
用户我昨天开的会员
客服请问您遇到了什么问题
用户我想退款
```
***
#### 4.1.5 用户当前问题
```javascript
用户问题
{{question}}
```
***
### 4.2 Prompt 模板示例(完整版)
```javascript
你是一个专业克制的智能客服助手
规则
1. 只能基于已知信息回答
2. 不允许编造事实
3. 不确定时明确提示需要人工客服
4. 回答要简洁清晰礼貌
已知信息
{{faq_list}}
最近对话
{{context}}
用户问题
{{question}}
```
***
## 5. 系统落地实现方案(工程视角)
### 5.1 模块划分(最小可运行)
```javascript
ai_customer_service/
├── prompt.go // Prompt 构建
├── context.go // 会话上下文管理
├── rules.go // 硬规则与兜底
├── llm_client.go // LLM API 封装
└── handler.go // 对外接口
```
***
### 5.2 关键实现要点
#### 5.2.1 会话上下文控制
- 仅保留最近 **35 轮对话**
- 防止 Prompt 过长导致成本失控
- 避免历史误导当前回答
***
#### 5.2.2 规则优先级设计
```javascript
硬规则最高
Prompt + LLM
兜底回复最低
```
例如:
- 退款、价格、政策 → 规则直出
- 模糊咨询 → LLM
- 异常 / 空回复 → 人工
***
#### 5.2.3 风险控制与兜底
- LLM 返回空 / 非法 → 固定话术
- 关键词触发(投诉 / 法律 / 情绪)→ 转人工
- 可配置「最大连续 LLM 轮数」
***
## 6. 预期效果与评估指标
### 6.1 短期可见效果
- 用户首次问题命中率明显提升
- 客服话术更自然,减少追问
- 人工客服接入压力下降
***
### 6.2 可量化指标(上线即可统计)
| 指标 | 说明 |
| --- | --- |
| AI 命中率 | AI 独立解决的会话占比 |
| 转人工率 | 未解决会话比例 |
| 平均轮数 | 用户追问次数 |
| 成本 | 单会话 Token 消耗 |
***
## 7. 后续演进路径(非本期实施)
```javascript
Prompt All-in-One
FAQ 规模扩大
向量检索RAG
工具调用查订单 / 查状态
私有化模型 / 成本优化
```
***
## 8. 方案总结
- 本方案 **以业务效果为第一优先级**
- 避免初期复杂架构导致的交付风险
-**最小投入下获取最大用户感知提升**
- 为后续智能客服能力升级保留清晰演进路径
> **结论Prompt All-in-One 是当前阶段性最优解**