跳转至

AI 客服架构设计(AI Service Architecture)

文档编号:DOC-OPS-SM-01 / SM-ARC 版本:V1.0 创建日期:2026-08-13 维护人:听云(WCL) / TL / WDE 保密级别:🟢 可公开发布(仅架构描述,不含实现细节/密钥) 关联文档客服工作手册 README业务知识库DIP1-ARC 架构设计DIP1-API OpenAPI 规格工单处理流程AI 训练语料


一、文档定位

本文件定义 AI 拟人化客服系统的端到端架构——从客户咨询接入到 AI 响应、人工兜底、知识库支撑、训练语料回流的全链路组件设计。

使用方式: - 作为 WCL+WDE 协同开发 AI 客服系统的架构蓝图 - 作为 OL/BO 评审 AI 客服能力的技术参考 - 作为故障排查时定位问题组件的架构地图

与 DIP1-ARC 的关系: - AI 客服系统是 DIP1 平台的子系统,复用 DIP1 后端 API 与数据库 - AI 客服系统的新增组件(LLM 网关、RAG 服务、对话编排)独立部署,不污染 DIP1 核心域 - 接口契约见 realtime-status.md


二、架构总览

2.1 C4 容器图(Container View)

graph TB
    subgraph EXT["🌐 客户触达层"]
        APP["📱 DIP1 客户端<br/>CST-App / WKR-App"]
        WA["💬 WhatsApp<br/>Business API"]
        FEI["🐦 飞书<br/>客服通道"]
    end

    subgraph AICSR["🤖 AI 客服系统(新增)"]
        CHATGW["🔌 对话网关<br/>Chat Gateway<br/>(统一接入+路由)"]
        ORCH["🧠 对话编排器<br/>Dialog Orchestrator<br/>(多轮对话+意图路由)"]
        LLMGW["🔌 LLM 网关<br/>LLM Gateway<br/>(模型调用+降级)"]
        RAGSVC["📚 RAG 服务<br/>RAG Service<br/>(向量检索+召回)"]
        FNCGW["🔌 Function Calling 网关<br/>FC Gateway<br/>(API 调用+权限)"]
        SESSMGR["💾 会话管理器<br/>Session Manager<br/>(上下文+历史)"]
    end

    subgraph DIP1["⚙️ DIP1 后端(既有,听码维护)"]
        APIGW["🔌 API Gateway<br/>65 端点"]
        DB[("🗄️ PostgreSQL<br/>22 表")]
        CST_DOM["📦 客户域"]
        ORD_DOM["📦 订单域"]
        QSV_DOM["📦 报价域"]
        WKR_DOM["📦 师傅域"]
        TKT_DOM["📦 工单域"]
    end

    subgraph KB["📚 业务知识库(ops/knowledge-base/)"]
        CTX["📄 business-context.md"]
        BIZ["📄 business-knowledge.md"]
        RTS["📄 realtime-status.md"]
        PSN["📄 ai-persona.md"]
    end

    subgraph VEC[("🔢 向量库")]
        VECDB[("Chroma / Milvus<br/>向量库")]
    end

    subgraph HUMAN["👤 人工兜底"]
        H_WCL["听云 WCL 工作台"]
        H_TL["TL 工作台"]
    end

    subgraph OBS["📊 可观测性"]
        SENTRY["Sentry 错误监控"]
        LOGS["日志聚合"]
        METRICS["指标监控"]
    end

    APP --> CHATGW
    WA --> CHATGW
    FEI --> CHATGW
    CHATGW --> ORCH
    ORCH --> SESSMGR
    ORCH --> LLMGW
    ORCH --> RAGSVC
    ORCH --> FNCGW
    LLMGW -->|调用| LLM_EXT["🧠 外部 LLM<br/>GLM-5.2 / GPT-4"]
    RAGSVC --> VECDB
    VECDB <-.->|周度索引| BIZ
    FNCGW --> APIGW
    APIGW --> CST_DOM & ORD_DOM & QSV_DOM & WKR_DOM & TKT_DOM
    CST_DOM & ORD_DOM & QSV_DOM & WKR_DOM & TKT_DOM --> DB
    LLMGW -.->|System Prompt| CTX
    LLMGW -.->|System Prompt| PSN
    RTS -.->|契约定义| FNCGW

    ORCH -->|升级人工| H_WCL
    H_WCL -->|接手工单| H_TL
    H_WCL -->|处理完成| ORCH

    CHATGW & ORCH & LLMGW & RAGSVC & FNCGW --> SENTRY & LOGS & METRICS

    classDef ext fill:#F2F0EB,stroke:#004046,color:#004046;
    classDef ai fill:#2a9d8f,stroke:#004046,color:#fff,stroke-width:2px;
    classDef dip1 fill:#457b9d,stroke:#004046,color:#fff;
    classDef kb fill:#D4AF78,stroke:#004046,color:#004046;
    classDef vec fill:#D4AF78,stroke:#004046,color:#004046;
    classDef human fill:#e76f51,stroke:#004046,color:#fff;
    classDef obs fill:#F2F0EB,stroke:#457b9d,color:#004046,stroke-dasharray:5 5;

    class APP,WA,FEI ext;
    class CHATGW,ORCH,LLMGW,RAGSVC,FNCGW,SESSMGR ai;
    class APIGW,DB,CST_DOM,ORD_DOM,QSV_DOM,WKR_DOM,TKT_DOM dip1;
    class CTX,BIZ,RTS,PSN kb;
    class VECDB vec;
    class H_WCL,H_TL human;
    class SENTRY,LOGS,METRICS,LLM_EXT obs;

2.2 组件清单

组件 职责 技术选型(建议) 维护方
对话网关 统一接入 App/WhatsApp/飞书,路由至编排器 Python FastAPI WDE
对话编排器 多轮对话状态机,意图路由,决策升级 Python + LangGraph/LangChain WDE
LLM 网关 调用外部 LLM,模型降级,Token 限流 Python + LiteLLM WDE
RAG 服务 向量检索业务知识库,召回相关 Q&A Python + Chroma/Milvus WDE
Function Calling 网关 调用 DIP1 API,权限校验,结果缓存 Python FastAPI WDE
会话管理器 上下文管理,会话历史,转人工上下文 Python + Redis WDE
向量库 存储业务知识库的向量索引 Chroma / Milvus WDE
DIP1 API Gateway DIP1 既有 65 端点 Python FastAPI WDE
业务知识库 4 层知识文档(Markdown) Git 版本控制 WCL
人工兜底工作台 工单接手,会话查看,回复发送 DIP1 OPR-Admin Web WDE

三、对话编排器核心流程

3.1 编排状态机

stateDiagram-v2
    [*] --> 接入: 客户咨询

    接入 --> 身份识别: 已有 session
    接入 --> 引导身份: 无 session

    引导身份 --> 身份识别: 客户提供手机号/订单号

    身份识别 --> 意图识别: 获取客户全貌
    意图识别 --> 知识召回: 咨询/查询类
    意图识别 --> 升级人工: 投诉/情绪激动
    意图识别 --> 工单创建: 故障报告类

    知识召回 --> 接口调用: 需实时数据
    知识召回 --> 回复生成: 仅静态知识

    接口调用 --> 回复生成: 数据返回
    接口调用 --> 降级回复: 接口失败

    回复生成 --> 置信度评估: LLM 输出
    降级回复 --> 客户回复: 静态回复

    置信度评估 --> 客户回复: 置信度 ≥ 0.7
    置信度评估 --> 升级人工: 置信度 < 0.7

    客户回复 --> 结束: 客户满意
    客户回复 --> 意图识别: 客户追问
    客户回复 --> 升级人工: 客户要求人工

    升级人工 --> 人工处理: WCL/TL 接手
    人工处理 --> 结束: 工单闭环

    工单创建 --> 客户回复: 已创建
    客户回复 --> 升级人工: 故障类工单

    结束 --> [*]

3.2 关键决策点

决策点 判定条件 路径
是否升级人工 投诉关键词 / 情绪激动 / 置信度 < 0.7 / 客户要求 / 涉及补偿 升级人工
是否调用接口 问题涉及客户订单/师傅状态/报价计算 Function Calling
是否创建工单 客户报告故障/异常/投诉 工单创建
是否闭环 客户明确满意 / 7 天无回复 / 客户主动关闭 闭环

3.3 上下文管理策略

上下文类型 保留策略 存储
当前会话 7 天 Redis
历史会话 90 天 PostgreSQL
客户全貌 实时获取 DIP1 API
会话摘要 永久(脱敏) PostgreSQL
工单关联 永久 DIP1 工单表

四、LLM 网关设计

4.1 多模型策略

优先级 模型 用途 触发条件
1 GLM-5.2 主模型(中文+粤语强) 默认
2 GPT-4o 备用模型(多语言+推理) GLM-5.2 不可用
3 Claude 3.5 Sonnet 备用模型(长上下文) 长会话(>20 轮)
4 静态模板 兜底(接口全失败) 全部 LLM 不可用

4.2 Token 与成本控制

维度 限制 说明
单次会话 Token ≤ 8000 超出时摘要压缩
单客户日会话数 ≤ 50 防滥用
月度 Token 预算 1.5M tokens 超预算告警
模型降级触发 错误率 > 5% / 延迟 > 10s 自动切换备用模型

4.3 Prompt 工程规范

Prompt 段 来源 注入方式
System Prompt - 业务背景 business-context.md 完整注入
System Prompt - AI 人设 ai-persona.md 完整注入
检索上下文 - 业务规则 business-knowledge.md RAG 召回 Top 5
实时数据 - 接口结果 realtime-status.md 接口 Function Calling 注入
会话历史 Session Manager 最近 10 轮

五、RAG 服务设计

5.1 索引构建

数据源 切片粒度 向量模型 索引频率
business-knowledge.md 按 Q&A pair 切片 bge-m3 周度全量+日度增量
business-context.md 按章节切片 bge-m3 月度全量
faq.md 按 Q&A pair 切片 bge-m3 周度全量
ai-training-corpus.md 按 Q&A pair 切片 bge-m3 周度全量

5.2 检索策略

1. 客户问题 → 向量化(bge-m3)
2. 向量库 Top-K 召回(K=5)
3. 相关性过滤(score > 0.7)
4. 业务规则二次过滤(按品类/阶段匹配)
5. 返回 1-3 条最相关 Q&A

5.3 召回质量监控

指标 目标 告警阈值
召回准确率 ≥ 85% < 80% 告警
召回覆盖率 ≥ 90% < 85% 告警
平均召回延迟 ≤ 200ms > 500ms 告警
空召回率 ≤ 5% > 10% 告警(需补充知识库)

六、Function Calling 网关设计

6.1 工具定义(OpenAI Function Calling 格式)

{
  "name": "query_order_status",
  "description": "查询客户订单状态,包括当前阶段、师傅信息、预计到达时间",
  "parameters": {
    "type": "object",
    "properties": {
      "order_id": { "type": "string", "description": "订单号,格式 ORD-YYYY-MM-NNNN" },
      "customer_id": { "type": "string", "description": "客户ID(可选,用于权限校验)" }
    },
    "required": ["order_id"]
  }
}

6.2 工具清单(对齐 realtime-status.md)

工具名 对应接口 用途
identify_customer GET /ai/customer/identify 识别客户身份
get_customer_overview GET /ai/customer/overview/{id} 获取客户全貌
query_order GET /ai/order/{id} 查询订单详情
list_customer_orders GET /ai/customer/{id}/orders 列出客户订单
get_order_timeline GET /ai/order/{id}/timeline 查询订单时间线
calculate_quote POST /ai/quote/calculate 实时报价
query_worker GET /ai/worker/{id} 查询师傅信息
query_worker_location GET /ai/worker/{id}/location 查询师傅位置
create_ticket POST /ai/ticket 创建工单
query_ticket GET /ai/ticket/{id} 查询工单状态
update_ticket PATCH /ai/ticket/{id} 更新工单
get_context_customer_order GET /ai/context/customer+order 客户+订单聚合
get_context_order_worker GET /ai/context/order+worker 订单+师傅聚合
get_context_ticket_order GET /ai/context/ticket+order 工单+订单聚合

6.3 权限与限流

维度 限制
调用权限 AI service account JWT
单次会话调用上限 10 次
单接口限流 100 req/min
失败重试 3 次(指数退避)
超时降级 5s 超时 → 静态回复

七、人机协作架构

7.1 AI 转人工的上下文传递

sequenceDiagram
    participant C as 客户
    participant A as AI 客服
    participant T as 工单系统
    participant H as 人工客服工作台

    C->>A: 投诉问题
    A->>A: 识别投诉 + 置信度 0.65
    A->>T: 创建工单(含完整上下文)
    Note over T: 上下文包:<br/>1. 完整对话历史<br/>2. 客户画像<br/>3. 关联订单<br/>4. AI 已尝试方案<br/>5. ai_summary
    A->>H: 推送工单+上下文
    A->>C: "已为您转接,工单 T-..."
    H->>H: 接手(无需客户重复)
    H->>C: 人工回复
    H->>T: 关闭工单
    T->>A: 回流处理结果
    A->>A: 更新训练语料

7.2 人工兜底工作台功能

功能 说明
工单队列 按 SLA 优先级排序的待处理工单
会话历史 完整 AI 与客户对话历史
客户画像 客户标签/历史订单/NPS
订单详情 关联订单的完整时间线
快捷回复 基于场景的快捷回复模板
升级转派 转派至 TL/OL/BO
处理记录 处理过程记录到 OWLG

八、可观测性与运维

8.1 监控指标

类别 指标 目标
可用性 AI 客服系统可用率 ≥ 99.5%
响应 AI 平均响应时间 ≤ 3 秒
质量 AI 解决率(不升级人工) ≥ 70%
质量 客户满意度 ≥ 95%
成本 单次会话平均 Token ≤ 2000
降级 模型降级触发次数 ≤ 10 次/天
召回 RAG 空召回率 ≤ 5%
接口 Function Calling 成功率 ≥ 99%

8.2 告警分级

级别 触发条件 响应
P0 AI 客服全不可用 / 数据泄露 立即停服 + TL + BO
P1 可用率 < 95% / 错误率 > 5% 30 分钟内响应 + TL
P2 召回率下降 / 响应延迟 > 5s 2 小时内响应 + WCL
P3 单接口异常 / Token 超预算 1 工作日内响应

8.3 日志规范

日志类型 内容 保留期
会话日志 完整对话(脱敏) 90 天
决策日志 AI 决策路径+置信度 90 天
接口日志 Function Calling 调用记录 30 天
错误日志 异常+堆栈 90 天
审计日志 敏感操作(如客户数据查询) 1 年

九、部署拓扑

9.1 部署架构

组件 部署方式 副本数 资源
对话网关 Docker 2 1C2G
对话编排器 Docker 2 2C4G
LLM 网关 Docker 2 1C2G
RAG 服务 Docker 2 2C4G
Function Calling 网关 Docker 2 1C2G
会话管理器 Docker 2 1C2G
Redis Docker 1 主 1 从 2C4G
向量库 Docker 1 2C4G

9.2 与 DIP1 共部署关系

  • AI 客服系统独立 Docker Compose 项目,与 DIP1 后端解耦
  • 通过 DIP1 API Gateway 调用业务接口,不直接访问数据库
  • 共用 Sentry / 日志聚合 / 监控基础设施

十、安全设计

10.1 认证与授权

主体 认证方式 权限
AI service account JWT(专用) 15 AI 接口只读 + 工单写
人工客服 DIP1 OPR-Admin 账号 工单全权 + 客户只读
客户 DIP1 CST-App JWT 仅本人数据

10.2 数据安全

数据类型 保护措施
客户对话 传输 TLS 1.3 / 存储 AES-256
客户隐私字段 日志脱敏(姓名/手机号/地址)
Prompt 内容 不记录到外部日志
训练语料 严禁包含真实客户数据

10.3 LLM 安全

风险 缓解措施
Prompt 注入 输入净化 + System Prompt 不可被覆盖
数据泄露 输出过滤 + 隐私字段检测
越权回答 决策边界硬编码(非依赖 LLM 判断)
模型滥用 限流 + 行为监控

十一、修订记录

版本 日期 修订人 修订内容
V1.0 2026-08-13 DT 初始化 AI 客服架构设计;定义 C4 容器图(5 个 AI 组件+DIP1 复用+向量库+人工工作台);定义对话编排器状态机与决策点;定义 LLM 网关多模型策略与 Token 控制;定义 RAG 索引构建与检索策略;定义 Function Calling 工具清单(14 工具);定义人机协作上下文传递;定义可观测性指标与告警分级;定义部署拓扑与安全设计

本文件为 AI 拟人化客服系统的端到端架构设计。组件实现由 听码 WDE 负责,架构维护由 听云 WCL + WDE + TL 共同承担。对齐 DIP1-ARC V2.0 + 业务知识库 V1.0 + 客服工作手册 V2.0