Files
ai-customer-service/prd/competitor-analysis.md

149 lines
6.0 KiB
Markdown
Raw Normal View History

# AI-Customer-Service 智能客服 — 竞品分析报告
## 1. 竞品范围
| 竞品 | 项目地址 | 技术栈 | 相关能力 |
|-------|---------|--------|---------|
| **Sub2API** | Wei-Shaw/sub2api | Go/Gin/Ent | 平台公告系统(定向、排期、弹窗通知) |
| **LiteLLM** | berriai/litellm | Python/FastAPI | 无直接客服能力,仅有用户/团队管理 |
| **NewAPI / OneAPI** | Calcium-Ion/new-api | Go/Gin/GORM | 用户反馈/工单功能(基础) |
LLM Gateway 类产品普遍缺乏内建的 AI 客服能力,这正是我们的机会。
---
## 2. 核心能力对标
### 2.1 平台公告系统Sub2API
Sub2API 的公告系统是当前竞品中最接近客服沟通的能力,其设计值得借鉴:
**数据模型**:
```go
type Announcement struct {
ent.Schema
}
// Fields:
// title — 公告标题200字
// content — 内容Markdowntext 类型)
// status — draft / active / archived
// notify_mode — silent(仅铃铛) / popup(弹窗)
// targeting — 展示条件JSONB 规则)
// starts_at — 开始时间
// ends_at — 结束时间
// created_by — 管理员ID
// reads — 已读记录关联
```
**关键设计细节**:
- **状态机**: draft → active → archived支持预发布审核
- **通知模式**: 静默模式仅显示红点vs 弹窗模式(强制届到)
- **定向规则**: JSONB 存储展示条件,支持按用户群体定向
- **排期管理**: starts_at / ends_at 支持时间窗控制
- **已读跟踪**: `AnnouncementRead` 关联表,记录每个用户的阅读状态
- **索引优化**: status, created_at, starts_at, ends_at 均有索引
**公告阅读流程**:
```
用户登录 → 查询有效公告列表
→ 应用 targeting 规则过滤
→ 检查已读状态
→ 弹窗/铃铛通知
→ 用户阅读 → 写入 AnnouncementRead
```
### 2.2 用户与订阅体系Sub2API
Sub2API 提供了完整的用户身份与使用情况查询能力,这是客服系统的基础数据来源:
- `User`: 基础用户信息
- `UserSubscription`: 订阅计划、配额、到期时间
- `UsageLog`: 详细用量记录模型、token 数、成本、时间戳)
- `ApiKey`: 用户 API Key 管理
- `PromoCode` / `RedeemCode`: 营销代码
**用户分组与权限**:
- `Group`: 用户分组
- `UserAllowedGroup`: 用户-分组关联
- `AccountGroup`: 上游账号分组
### 2.3 用户反馈NewAPI/OneAPI 基础功能)
NewAPI/OneAPI 提供基础的工单/反馈功能:
- 用户可提交问题反馈
- 管理员可回复
- 状态跟踪(待处理/处理中/已解决)
- 缺乏 AI 自动回复和知识库支持
---
## 3. 差距分析(我们的机会)
| 能力维度 | 竞品现状 | 我们的机会 |
|---------|---------|---------|
| **AI 自动回复** | 竞品均不具备 | 基于 RAG 的知识库自动回复,核心差异化 |
| **多渠道接入** | Sub2API 仅支持内置公告 | 支持 Telegram/Discord/微信/邮件/网页 Widget |
| **意图识别** | 竞哆均不具备 | LLM 驱动的意图分类,准确定位问题 |
| **上下文感知** | 竞品均不具备 | 维护对话上下文,支持多轮对话 |
| **人工转接** | NewAPI 有基础工单,但无智能转接 | 智能转接AI 无法解决时自动升级到人工客服 |
| **运营大盘** | Sub2API 有基础用户/用量查询 | 客服专属运营大盘:问题分类、解决率、响应时间、用户满意度 |
| **自动化工单** | NewAPI 有基础工单,需人工处理 | 自动化工单分派:基于问题类型和客服负载 |
| **知识库** | 竞品均不具备 | 维护知识库,支持 Markdown 和语义检索 |
| **用户身份核验** | Sub2API 有完整的用户体系 | 直接复用,支持通过多种渠道认证用户 |
| **用量查询** | Sub2API 有 UsageLog 和订阅体系 | 直接复用,支持客服场景下的快速查询 |
---
## 4. 对产品规划的影响
### 强化方向
1. **公告系统参考 Sub2API**
- 状态机draft → active → archived
- 通知模式silent / popup
- 定向规则:按用户群体、渠道、版本号定向
- 时间窗管理starts_at / ends_at
- 已读跟踪
2. **用户体系参考 Sub2API**
- 用户/订阅/用量的关联查询
- API Key 状态查询
- 用户分组与权限
3. **工单系统参考 NewAPI**
- 基础工单状态机
- 用户反馈收集
### 新增差异化能力
4. **AI 自动回复**:竞品不具备,是核心差异化
- 基于 RAG 的知识库查询
- 意图识别与问题分类
- 对话上下文维护
5. **多渠道接入**:支持 Telegram/Discord/微信/邮件/网页 Widget
6. **智能转接**AI 无法解决时自动升级到人工客服
7. **运营大盘**:客服专属的运营分析视图
8. **自动化工单**:基于问题类型和客服负载的智能分派
---
## 5. 对技术规划的影响
### 应引入的设计模式
| 设计模式 | 来源 | 应用场景 |
|---------|------|---------|
| **公告状态机** | Sub2API | 客服公告/通知的发布流程管理 |
| **通知模式** | Sub2API | 静默 vs 弹窗的分级触达 |
| **Targeting 规则** | Sub2API | 按用户群体、渠道、版本号定向推送 |
| **已读跟踪** | Sub2API | 通知透达率统计 |
| **用户-订阅-用量关联** | Sub2API | 客服场景下的用户信息快速查询 |
| **工单状态机** | NewAPI | 问题跟踪与处理流程 |
### 技术避坑
1. **知识库选型**: Sub2API 的 PRD 建议在 TechLead 前完成 Milvus/Qdrant/PGVector 的 POC验证中文检索延迟 < 200ms。竞品分析建议优先考虑 PGVector与 PostgreSQL 集成,减少运维复杂度),次之 Qdrant轻量级最后 Milvus大规模场景
2. **对话上下文存储**: 需要设计高效的对话上下文管理机制,支持长对话上下文的截断与摘要。
3. **多渠道适配层**: 每个渠道Telegram/Discord/微信)都有独特的消息格式和限制,需要适配层抽象。
4. **LLM 容灾设计**: 必须设计主备模型 + 降级方案,避免单点故障。