为什么要搭建 AI 客服机器人
传统客服的问题:
- 成本高:每个客服人力 3000-8000 元/月
- 无法 24 小时:人工需要休息、换班
- 响应慢:高峰期排队等待
- 无法扩展:业务增长 = 线性增加人力
AI 客服的优势:
- 7x24 工作:永不下班
- 即时响应:毫秒级回复
- 无限扩展:1000 人同时咨询也能应对
- 成本极低:每月 API 费用 $20-200
- 一致的服务质量:不会有情绪波动
技术架构
用户 → Telegram/WhatsApp → Bot 服务 → OpenAI API
↓
Redis 上下文缓存
↓
向量数据库(知识库)
↓
人工接管系统技术栈选型
| 组件 | 推荐 | 备选 |
|---|---|---|
| LLM | OpenAI GPT-4o / Claude Sonnet | DeepSeek(省钱) |
| 前端 | Telegram Bot | WhatsApp Business API、网站 Widget |
| 后端 | Node.js / Python / Go | 任意 |
| 上下文存储 | Redis | 内存、MongoDB |
| 向量数据库 | Pinecone / Qdrant | pgvector、Weaviate |
| 部署 | VPS / Railway / Vercel | Lambda、Cloud Run |
第一步:创建 Telegram Bot
- 在 Telegram 中搜索 @BotFather
- 发送 /newbot
- 按提示命名机器人
- 获取 Bot Token(形如 123456:ABC-DEF...)
第二步:初始化项目
# 使用 Node.js 示例
mkdir ai-customer-bot && cd ai-customer-bot
npm init -y
npm install telegraf openai ioredis dotenv
# .env
TELEGRAM_BOT_TOKEN=你的 Bot Token
OPENAI_API_KEY=你的 OpenAI API Key
REDIS_URL=redis://localhost:6379第三步:核心代码
// index.js
import { Telegraf } from 'telegraf'
import OpenAI from 'openai'
import Redis from 'ioredis'
import 'dotenv/config'
const bot = new Telegraf(process.env.TELEGRAM_BOT_TOKEN)
const openai = new OpenAI({ apiKey: process.env.OPENAI_API_KEY })
const redis = new Redis(process.env.REDIS_URL)
const SYSTEM_PROMPT = `你是 9DSC 九度数城的 AI 客服助手。
职责:
1. 友好、专业地回答用户关于商品、支付、交付的问题
2. 不知道的问题诚实告知,不要编造
3. 复杂问题引导用户联系人工客服(Telegram @liberty2015)
店铺主要商品:
- Apple Gift Card:美区、日区、港区等多地区
- Telegram 会员/账号/机器人工具
- ChatGPT Plus/Pro 代充
- Claude Pro 代充
- Midjourney、Cursor、Copilot 代充
- OpenAI/Anthropic API 充值
- WhatsApp 精品账号(美/德/英/以/土/印/泰)
支付方式:人民币、USDT、加密货币
交付时间:AI 订阅 1-24 小时,礼品卡即时`
async function getContext(userId) {
const key = `chat:${userId}`
const history = await redis.lrange(key, 0, 20)
return history.map(s => JSON.parse(s))
}
async function saveContext(userId, role, content) {
const key = `chat:${userId}`
await redis.rpush(key, JSON.stringify({ role, content }))
await redis.ltrim(key, -20, -1) // 只保留最近 20 轮
await redis.expire(key, 86400) // 24 小时过期
}
bot.on('text', async (ctx) => {
const userId = ctx.from.id
const userMessage = ctx.message.text
// 人工接管关键词
if (userMessage.includes('人工') || userMessage.includes('转人工')) {
await ctx.reply('正在为您转接人工客服:@liberty2015,请直接联系。')
return
}
try {
await ctx.sendChatAction('typing')
const history = await getContext(userId)
const completion = await openai.chat.completions.create({
model: 'gpt-4o-mini',
messages: [
{ role: 'system', content: SYSTEM_PROMPT },
...history,
{ role: 'user', content: userMessage },
],
temperature: 0.3,
})
const reply = completion.choices[0].message.content
await saveContext(userId, 'user', userMessage)
await saveContext(userId, 'assistant', reply)
await ctx.reply(reply)
} catch (err) {
console.error(err)
await ctx.reply('抱歉出错了,请联系人工客服 @liberty2015')
}
})
bot.launch()
console.log('Bot started!')第四步:加入知识库(RAG)
让机器人能回答特定问题,需要把你的 FAQ、产品文档嵌入到向量数据库:
// 1. 把文档切分成 chunks(每段 500 字符)
// 2. 对每段生成 embedding
const embedding = await openai.embeddings.create({
model: 'text-embedding-3-small',
input: chunk,
})
// 3. 存入向量数据库
await vectorDB.upsert({ id, values: embedding.data[0].embedding, metadata: { text: chunk } })
// 查询时:
// 1. 用户问题转 embedding
// 2. 在向量库中搜索 top 3 相似的 chunks
// 3. 拼到 prompt 里让 LLM 参考回答
const context = topChunks.map(c => c.text).join('\n')
const systemPrompt = `${SYSTEM_PROMPT}
参考信息:
${context}`第五步:人工接管逻辑
关键词触发 + 情绪检测:
- 用户说「人工」「转人工」「投诉」→ 转人工
- 同一个问题问 3 次未解决 → 转人工
- 情绪识别(愤怒、焦躁)→ 转人工
- 涉及退款、申诉 → 转人工
第六步:部署上线
方案 1:VPS 部署
# 使用 PM2 常驻进程
npm install -g pm2
pm2 start index.js --name ai-bot
pm2 save
pm2 startup方案 2:Railway(最简单)
- 推代码到 GitHub
- 在 Railway 新建项目,连接 repo
- 配置环境变量
- 自动部署,获得 HTTPS URL
方案 3:Vercel Serverless
适合 Webhook 模式(不需要常驻)。
进阶功能
1. 多语言支持
根据用户语言自动切换回复:
const lang = detectLanguage(userMessage)
const systemPrompt = LANG_PROMPTS[lang]2. 商品搜索集成
让 Bot 能直接搜索你的产品数据库:
// 使用 Function Calling
const tools = [{
type: 'function',
function: {
name: 'search_products',
description: '搜索店铺商品',
parameters: { /* ... */ }
}
}]3. 订单查询
用户输入订单号,Bot 自动查询订单状态。
4. 支付链接生成
用户确认购买后,Bot 生成支付链接。
5. 自动 A/B 测试回复
收集用户满意度,持续优化 Prompt。
成本估算
月活 1000 用户
- GPT-4o mini:每对话约 1000 token
- 每用户每月 30 条消息 → 30K token/用户/月
- 1000 用户 → 30M token/月
- 成本:约 $9/月(gpt-4o-mini)
- Redis:免费(Upstash 免费版)
- 服务器:$5/月(VPS)或免费(Vercel)
- 总计:$15-25/月
月活 10 万用户
- GPT-4o mini:$900/月
- 向量数据库:$70/月
- 服务器:$50/月
- 总计:约 $1000/月
相比传统客服(10 万用户至少需要 5-10 个客服,每月 3-8 万元),AI 客服节省 90% 以上的成本。
常见问题
Q: 回答不准确怎么办?
A: 优化 System Prompt;加入更多 FAQ 到向量库;调低 temperature(0.1-0.3);关键场景用 Few-shot 示例。
Q: API 费用失控?
A: 用 gpt-4o-mini 代替 gpt-4o(便宜 17 倍);缓存常见问题答案;限制每个用户每日消息上限。
Q: 用户问敏感问题?
A: 在 System Prompt 里明确拒绝规则;加入内容过滤层;涉及金融/医疗/法律必须转人工。
需要的 API 和订阅
搭建 AI 客服机器人需要 OpenAI 或 Anthropic API。通过 9DSC 九度数城:
- OpenAI API 充值:$50 起充,灵活使用
- Anthropic API 充值:使用 Claude 模型
- ChatGPT Plus / Pro 代充:开发测试阶段使用 GPTs
- 无需国际信用卡
- 支持人民币、USDT 多种支付
想直接使用成熟的 Telegram 客服方案?Telegram 自动回复机器人 开箱即用,无需自己编码。
结语
AI 客服机器人是 2025 年任何线上业务都应该标配的基础设施。不搭建的人,等于在给竞争对手送客户。
立即访问 9DSC 九度数城 获取 OpenAI API 额度,开始搭建你的 AI 客服。或者直接购买 Telegram 自动回复机器人,几分钟上线。
