ReglowAdmin 智能客服开发计划
ReglowAdmin 智能客服开发计划
一、产品目标
打造一个"不休息的员工",具备三大核心能力:
- 掌握全面专业知识:基于 RAG(检索增强生成)架构,实时检索产品手册、FAQ、政策等知识库,准确回答客户问题,杜绝幻觉。
- 给客户提供情绪价值:先识别情绪,再共情,后解决,让客户感受到"有温度的服务"。
- 及时满足需求、促成交易、智能转人工:通过 Function Calling 对接业务系统,查商品/查订单/发起退款;遇到复杂情况自动生成摘要转人工,不丢上下文。
二、整体架构
三、技术选型
| 组件 | 方案 | 说明 |
|---|---|---|
| LLM 对话 | DeepSeek Flash(主力),GLM-4.6 Flash(免费兜底) | 复用现有 modules/ai/controller.py 的多厂商能力 |
| 向量存储 | Redis(现有) | 无需引入 Milvus/Qdrant |
| Embedding | 调用 API(通义/智谱 embedding 接口) | 复用现有 API Key 配置 |
| 流式输出 | SSE | FastAPI StreamingResponse,已有实现 |
| 实时通信 | WebSocket | FastAPI 原生支持 |
| 后端框架 | Python + FastAPI(现有) | 复用项目基础设施 |
| 前端框架 | Vue3 + TypeScript(现有) | 复用 components/reui/chat 聊天组件 |
| 数据库 | MySQL(现有) | 新增 customer_service 相关表 |
| 鉴权 | JWT(现有) | 坐席端复用 auth 模块 |
四、成本估算
4.1 基础设施成本
| 项目 | 成本 | 说明 |
|---|---|---|
| GPU/服务器 | 0 元 | 使用 API 调用模式,无需自建 |
| 向量数据库 | 0 元 | 使用现有 Redis,不引入新组件 |
| 服务器增量 | 几乎为 0 | 现有服务器够用 |
4.2 LLM 调用成本(按量付费)
| 模型 | 输入价格(元/百万token) | 输出价格 | 单次对话估算 |
|---|---|---|---|
| DeepSeek V4 Flash | ~1 | ~2 | ~0.003 元 |
| 通义千问 Turbo | ~2 | ~6 | ~0.008 元 |
| 通义千问 Plus | ~4 | ~12 | ~0.015 元 |
| 智谱 GLM-4.6 Flash | 免费 | 免费 | 0 元 |
| DeepSeek V4 Pro | ~4 | ~16 | ~0.02 元 |
单次对话估算:假设 2000 token 输入(含知识库片段)+ 500 token 输出
4.3 月成本估算
| 日均对话量 | 用 DeepSeek Flash | 用 GLM Flash(免费) |
|---|---|---|
| 100 次/天 | ~9 元/月 | 0 元 |
| 1,000 次/天 | ~90 元/月 | 0 元 |
| 10,000 次/天 | ~900 元/月 | 0 元(需关注速率限制) |
4.4 成本优化策略
- 高频简单问答用 GLM-4.6 Flash(免费)
- 复杂问题用 DeepSeek V4 Flash(极便宜)
- 高端推理场景按需切换到 V4 Pro
- 多厂商架构天然支持灵活分流
五、开发计划
阶段一:MVP(让机器人能答)
完成后,用户粘贴 SDK 代码即可在 H5/小程序/APP 上打开聊天窗口,AI 基于知识库回答问题。
任务 1:数据库表设计 + Alembic 迁移
新增 5 张表,复用项目现有 Base + TimestampMixin + SoftDeleteMixin:
| 表名 | 用途 | 关键字段 |
|---|---|---|
cs_knowledge_base | 知识库 | name, description, status, embedding_model |
cs_knowledge_chunk | 知识块 | kb_id, content, vector (JSON), chunk_index, source |
cs_session | 会话 | visitor_id, source, status (bot/human/closed), employee_id |
cs_message | 消息 | session_id, role, content, source_chunks, tool_calls |
cs_config | 客服配置 | model, system_prompt, welcome_message, business_hours, transfer_rules |
文件路径:coding/backend-python/modules/customer_service/model.py
任务 2:知识库管理(RAG 核心)
功能:
- 后台 CRUD 知识库,支持上传文档(txt/md/pdf)或手动录入 FAQ
- 文档自动切分(按段落/语义)→ 调用 embedding API 向量化 → 存入 Redis 向量索引
- 混合检索:向量相似度 + 关键词匹配 + 元数据过滤
复用现有:
- Redis(向量搜索)
- AI 模块的 API Key 配置
文件路径:
coding/backend-python/modules/customer_service/knowledge.py— 文档处理 + 向量化coding/backend-python/modules/customer_service/retrieval.py— 检索服务
任务 3:对话编排服务
功能:
- System Prompt 管理(角色、语气、边界、输出格式)
- 检索知识库片段 → 拼入 messages.context
- 调用
ai/controller.py已有的多厂商 LLM - 流式输出(SSE)
核心 Prompt 结构:
文件路径:coding/backend-python/modules/customer_service/service.py
任务 4:客服 SDK 脚本生成器 ⭐ 核心
功能:后端生成一段自包含的 JS 脚本,用户粘贴到任意 HTML 即可嵌入智能客服。
SDK 特性:
- 自包含的悬浮按钮 + 聊天窗口(Web Component,不污染宿主页面)
- 支持自定义样式(主题色、位置、大小)
- 支持全屏模式(移动端适配)
- 会话持久化(localStorage 存 session_id)
- 离线降级(网络断开时显示"客服不在线")
- 小程序端提供 Taro 组件包
- APP 端通过 WebView 加载 SDK
文件路径:
coding/backend-python/modules/customer_service/sdk_builder.py— SDK 代码生成器coding/backend-python/modules/customer_service/static/sdk-template.js— SDK 前端模板
任务 5:客户端对话 API
功能:
POST /api/cs/chat:公开接口(无需登录),SSE 流式输出GET /api/cs/history:获取历史消息- 基于
session_id隔离不同用户 - Redis 频率限制(防刷,每分钟最多 N 条)
- 记录每条消息到
cs_message表
文件路径:coding/backend-python/modules/customer_service/controller.py
任务 6:后台管理前端
功能:
- 知识库管理页(创建/编辑/删除/上传文档/重建索引/查看检索效果)
- 客服配置页(模型选择、欢迎语、营业时间、转人工规则、SDK 代码生成器)
- 对话记录页(查看历史会话、消息详情、知识引用来源)
复用组件:components/reui/chat/ 聊天组件
文件路径:coding/frontend-admin/src/views/customer_service/
阶段二:能干活 + 能转人工
任务 7:Function Calling 工具层
功能:定义业务工具,LLM 自主决定调用。
| 工具名 | 功能 | 安全级别 |
|---|---|---|
query_product | 查商品信息 | 只读 |
check_stock | 查实时库存 | 只读 |
query_order | 查订单状态/物流 | 只读 |
calc_price | 算价格/优惠 | 只读 |
create_ticket | 建工单 | 写入 |
transfer_human | 转人工 | 特殊 |
apply_coupon | 发券 | 写入(需确认) |
create_refund | 发起退款 | 写入(需确认) |
安全分级:
- 只读类:LLM 直接调用
- 写入类:LLM 组织方案 + 业务校验 + 用户确认 → 执行
- 高风险(大额退款/改账户):必须转人工
文件路径:coding/backend-python/modules/customer_service/tools.py
任务 8:智能转人工
转人工触发条件:
- 情绪高强度负面(愤怒/投诉)
- LLM 连续 2 轮置信度低或无法解决
- 涉及高风险操作需人工确认
- 客户明确要求人工
- 命中敏感场景(法律、医疗、大额资金)
转人工流程:
- LLM 生成会话摘要(问题、已处理、待办、情绪状态)
- WebSocket 实时通知坐席(带摘要 + 等待中人数)
- 历史上下文一并移交,不让客户复述
- 转人工后机器人退到辅助位(帮坐席查资料、起草回复)
文件路径:
coding/backend-python/modules/customer_service/transfer.pycoding/backend-python/modules/customer_service/ws.py— WebSocket 管理器
任务 9:坐席工作台
功能:
- 实时对话列表(等待中/进行中/已结束)
- 人工接管对话(WebSocket 双向通信)
- AI 辅助回复(LLM 起草,坐席确认后发送)
- 会话摘要视图 + 知识库快速搜索
- 工单管理(创建/分配/处理/关闭/关联会话)
文件路径:coding/frontend-admin/src/views/customer_service/workspace/
阶段三:有温度 + 能销售
任务 10:情绪识别与共情
功能:
- 对话前先做情绪 + 意图识别(LLM 输出结构化 JSON)
- 高强度负面情绪 → 自动进入安抚模式 + 提升优先级 + 预警转人工
- Few-shot 注入安抚话术库
- 动态调整回复风格(愤怒简洁直接,犹豫引导促单)
效果指标:情绪识别准确率、安抚后满意度提升、复购率变化
任务 11:销售话术与推荐
功能:
- 需求挖掘(引导式提问:场景/预算/用途)
- 基于库存和知识库做智能推荐(关联商品/套餐/凑单优惠)
- 促单话术 Few-shot(限时优惠/库存紧张/凑单建议)
- 约束规则:不硬推、不过度承诺、先满足需求再推荐
文件路径:coding/backend-python/modules/customer_service/prompts/sales.py
任务 12:评测与运营
功能:
- 会话日志全量记录(含知识引用链路 trace)
- 评测集管理 + 定期回归测试
- 业务指标看板:
- 一次性解决率
- 转人工率
- 客户满意度
- 平均对话轮次
- 下单转化率 / 客单价提升
- 知识回流(未解决问题 → 补充知识 → 重新评测)
文件路径:coding/backend-python/modules/customer_service/evaluation.py
六、任序与依赖
建议执行顺序:严格按阶段顺序推进,每个阶段内部按编号顺序执行。阶段一完成即可上线使用,后续阶段为增量迭代。
七、文件结构总览
八、RAG 知识检索增强原理
工作原理
关键组件
| 组件 | 作用 | 本项目方案 |
|---|---|---|
| 文档处理 | 切分、清洗 | markdown/txt/pdf 解析 + 语义切分 |
| 向量化(Embedding) | 文本 → 数字向量 | 调用通义/智谱 embedding API |
| 向量存储 | 存向量 + 检索 | Redis(现有,不新增组件) |
| 知识检索 | 相似度搜索 | 向量 + 关键词混合检索 + 重排序 |
| 生成 | 基于检索结果回答 | DeepSeek/通义等 LLM |
九、关键指标
| 指标 | 说明 | 目标 |
|---|---|---|
| 一次性解决率 | 无需转人工或多次交互即解决 | > 60% |
| 知识准确率 | 回答与知识库一致的比例 | > 95% |
| 转人工率 | 最终转人工的比例 | < 30% |
| 平均响应时长 | 首字延迟 | < 1.5 秒 |
| 客户满意度 | 对话后满意度评分 | > 4.2/5 |
| 转换率提升 | 接入前后下单转化率变化 | +10% |
十、注意事项
- 先做知识,再做情绪,最后做销售——地基不稳,上层白做。
- 不要一上来就做全自动 Agent——先从"LLM + 规则编排 + RAG"开始,稳定后再逐步放权。
- 危险操作必须二次确认 + 人工兜底——退款、改账户等不能全交给 LLM。
- 建评测集,每两周回一次——没有度量的智能客服就是盲飞。
- SDK 是核心——后端再好,用户端接入体验差就没意义。SDK 要做到"一行代码接入,3 分钟上线"。
