我打算用 12 天搭一套 AI 客服系统(企业级实战,附源码)

本文首发于同名公众号,欢迎点赞收藏转发
这一章不写代码,纯粹给大家做个"行前培训"。先聊聊这个项目到底是干什么的、为什么值得做,再花点时间把后续章节会反复提到的一些 AI 名词过一遍。已经是大佬的朋友可以跳过扫盲部分,直接从第一章开始。


1. 这个项目到底在做什么

说白了,就是用 AI 搭一个智能客服系统

大家平时网购、点外卖、用 SaaS 产品,遇到问题第一反应是什么?找客服。但现实情况是:

  • 下班之后、凌晨三点,客服没人在线
  • 排了半天队,接通之后问了半天,最后告诉你"这个问题我帮您转一下"
  • 明明 FAQ 里有写,客服就是不按那个答,每次说法还不一样

这些问题,AI 客服可以很好地解决------不是那种智障的"关键词匹配"机器人,而是真的能理解用户在说什么、能查知识库、能判断情绪、能自动建工单的智能系统。

这套课程要搭的东西,长这样:

复制代码
用户发了一条消息
        │
        ▼
  ┌─────────────┐
  │  AI 先理解一下│ ← 这条消息什么意思?用户什么情绪?
  └──────┬──────┘
         │
    ┌────┼────┐
    │    │    │
    ▼    ▼    ▼
  开心  正常  生气
  直接  查知识  赶紧转人工
  回答  库回答  +建工单
    │    │    │
    └────┼────┘
         │
         ▼
  ┌─────────────┐
  │  记录 + 复盘  │  ← 每条对话都存,定期回顾服务质量
  └─────────────┘

学完这套课程,大家能拿到什么?

  • 一套从简单到完整的 11 章代码,每章都能独立运行
  • 一个能接入公司知识库的 RAG 系统,AI 回答基于真实资料,不瞎编
  • 一个自动识别用户情绪的路由系统,该转人工就转,不让用户越聊越火
  • 一个工单管理系统,复杂问题自动建单,形成售后闭环
  • 一个复盘仪表盘,对话存档 + 质量评分,哪里有问题一目了然
  • 最后打包成 FastAPI + Streamlit,直接给业务团队用

2. 为什么现在值得学这个

可能有人会觉得:"AI 客服不是早就有了吗?"

对,但之前那批和现在这批完全是两个时代的东西。

老一代客服机器人(大概 2015-2020 年):

  • 基于关键词匹配 + 决策树,"您好,请问您想咨询什么?1. 物流 2. 售后 3. 其他"
  • 只能走预设的流程,用户说点意料之外的话就傻了
  • 维护成本极高,每加一个新业务场景都要改一大堆规则

新一代 AI 客服(现在)

  • 基于大语言模型(LLM),能真正理解用户说的自然语言
  • 不需要预设几万条规则,把知识库丢进去就能用
  • 能识别情绪、判断意图、自己决定走什么流程
  • 维护起来简单很多------知识库更新了,AI 自动就知道新内容

2024-2025 年这波浪潮之后,AI 客服已经从"能用"变成了"好用",而且成本一直在降。现在学这个,正好赶上落地的窗口期。


3. AI 名词扫盲

后面的章节会频繁提到一些术语。这里给大家集中过一遍,不追求严谨定义,重点是建立直觉------知道它大概是干啥的就行。

3.1 LLM --- 大语言模型

一句话解释:就是 ChatGPT 背后那种"很会说话的 AI"。

稍微展开说:它是一个用海量文本数据训练出来的模型,学会了人类语言的规律。你给它一段文字,它能续写、能回答问题、能翻译、能总结、能帮你写代码。

大家平时接触到的 GPT-4、Claude、DeepSeek、文心一言,底层都是 LLM。可以把它理解成一个读过全世界书的人------不一定什么都精通,但什么都能聊两句,而且聊得还挺像那么回事。

在咱们项目里:LLM 是整个客服系统的"大脑",负责理解用户说的话,然后生成合适的回复。

3.2 Prompt --- 提示词

一句话解释:你跟 AI 说的那段话,告诉它你想要什么。

举个例子:

复制代码
你是一个专业的客服人员,请用亲切的语气回答用户的问题。
用户的问题是:我的耳机连不上手机了,怎么办?

这段话就是一个 Prompt。Prompt 写得好不好,直接决定 AI 输出的质量。后面第二章和第四章会花不少篇幅讲怎么写好 Prompt。

类比 :Prompt 就像给新员工写的操作手册。手册写得越清晰,新员工干得越好。

3.3 Token

一句话解释:AI 处理文字的最小单位,可以粗略理解成"半个到一个词"。

中文大概 1-2 个字算一个 Token,英文大概 3-4 个字母算一个 Token。GPT-4 的上下文窗口是 128K Token,大概相当于一本 300 页的书。

为什么要在意这个 :因为 Token 跟直接挂钩。API 调用是按 Token 计费的,输入多少 Token、输出多少 Token,都会算钱。后面做 RAG 的时候,为什么要把文档"切片"而不是整篇丢进去,一个重要原因就是控制 Token 数量。

3.4 Embedding --- 向量/嵌入

一句话解释:把一段文字变成一串数字,让计算机能算"两段话有多像"。

这是整个 RAG 系统的基础概念,稍微多解释两句。

人类理解"退款流程"和"退货办法"意思差不多,但计算机只知道这是一堆字符,看不出语义关系。Embedding 就是解决这个问题------它把每段文字映射成一个高维空间里的点(比如 1536 个数字组成的向量),意思相近的文字,对应的点在空间里离得近。

复制代码
"退款流程" ──→ [0.12, -0.34, 0.56, ..., 0.78]    ← 向量 A
"退货办法" ──→ [0.11, -0.33, 0.55, ..., 0.76]    ← 向量 B(和 A 很接近)

"天气怎么样" ──→ [-0.45, 0.67, -0.23, ..., 0.12]  ← 向量 C(离 A、B 很远)

在咱们项目里:知识库里的每段资料都会被转成 Embedding 向量,存到 Milvus 里。用户问了一个问题,先把问题也转成向量,然后在 Milvus 里找"离得最近"的几段资料,拿回来喂给 LLM,这样 AI 就能基于真实资料回答了。

3.5 向量数据库

一句话解释:专门存和查 Embedding 向量的数据库。

普通数据库(MySQL、MongoDB)擅长精确查询:"找出 status = 'active' 的订单"。但向量数据库擅长的是相似度查询:"找出跟这段文字语义最接近的 5 条记录"。

常见的向量数据库有 Milvus、Pinecone、Weaviate、Qdrant 等。咱们项目选的是 Milvus,因为它开源、功能强、国内用的人多,而且有 Milvus Lite 这种开发模式,本地跑零部署,后面上生产再切 Milvus Server 或 Zilliz Cloud 就行。

3.6 RAG --- 检索增强生成

一句话解释:先从知识库里查资料,再让 AI 基于查到的资料来回答。

RAG 是这三个英文单词的缩写:Retrieval-Augmented Generation

没有 RAG 的时候,AI 只能靠自己的"记忆"来回答,知识有截止日期,也不知道你公司内部的信息。有了 RAG,流程变成了这样:

复制代码
用户提问:"StarPods Pro 怎么连接电脑?"
        │
        ▼
  ┌──────────────┐
  │  第一步:检索   │  去向量数据库里搜跟这个问题最相关的资料
  │  (Retrieval)  │  找到:"StarPods Pro 支持 Bluetooth 5.3..."
  └──────┬───────┘
         │
         ▼
  ┌──────────────┐
  │  第二步:增强   │  把用户问题 + 搜到的资料一起丢给 LLM
  │  (Augmented)  │  "请根据以下资料回答用户问题:..."
  └──────┬───────┘
         │
         ▼
  ┌──────────────┐
  │  第三步:生成   │  LLM 基于资料,生成准确、有据可查的回答
  │  (Generation) │  "StarPods Pro 连接电脑很简单..."
  └──────────────┘

为什么这很重要:因为没有 RAG 的 AI 容易"幻觉"------自信满满地胡编乱造。加上 RAG 之后,AI 的回答就有了"出处",可靠程度大幅提升。这是第三章的核心内容。

3.7 Agent --- 智能体

一句话解释 :不只是"一问一答"的 AI,而是能自己思考、自己决定下一步做什么的 AI。

普通 LLM 对话:你问一句,它答一句,到此为止。

Agent 对话:你提一个需求,它会自己拆解任务、自己选择工具、自己判断做到什么程度算完成

打个比方:

  • 普通 LLM 像一个只会按指令干活的实习生------你让他查订单,他就查订单,你不说下一步他就等着
  • Agent 像一个有经验的客服主管------你跟他说"有个客户投诉耳机有问题",他会自己判断:先查订单信息 → 确认是否在保修期 → 评估是换货还是维修 → 自动建工单 → 安排跟进

在咱们项目里:整个智能客服就是一个 Agent。它会根据用户的消息,自己判断该走哪个流程------直接回答、查知识库、转人工、还是建工单。

3.8 LangChain

一句话解释:一个帮你快速搭建 AI 应用的 Python 框架。

直接调用 OpenAI API 当然可以,但一旦你的应用变复杂------要接知识库、要管理对话历史、要调用各种工具------代码很快就会乱成一团。LangChain 把这些常用的东西都封装好了:

  • LCEL (LangChain Expression Language):用 | 把各个组件串起来,像搭积木一样
  • Memory:对话记忆管理
  • Retriever:知识库检索
  • Tool:工具调用
  • LangGraph:复杂的工作流编排

后面大家写代码的时候会发现,LangChain 让整个开发体验顺畅很多。不用它当然也能做,但会多踩很多坑。

3.9 上下文窗口

一句话解释:AI 一次能"看到"的最大文字量。

之前提到 Token 的时候顺带提了一下。上下文窗口大小决定了你一次性能跟 AI 交流多少内容。

不同模型的上下文窗口不一样:

  • GPT-4o:128K Token(大约 10 万字)
  • DeepSeek V3:128K Token
  • Claude 3.5:200K Token

在咱们项目里:这意味着我们需要策略性地管理对话内容。不可能把所有历史对话都塞给 AI,所以第二章会讲怎么用"滑动窗口"只保留最近几轮对话。

3.10 结构化输出

一句话解释 :让 AI 不只返回一段话,而是返回一个格式化的数据结构(比如 JSON)。

普通的 AI 调用返回的是一段自然语言:"用户看起来很生气,建议转人工"。

结构化输出返回的是:

json 复制代码
{
  "emotion": "angry",
  "confidence": 0.92,
  "suggested_action": "escalate_to_human"
}

这在工程里特别重要------程序需要的是结构化的数据来判断流程,而不是一段需要再次解析的文字。后面第四章做情绪识别、第五章做工单生成,都会大量用到结构化输出。

3.11 Function Call --- 函数调用

一句话解释 :让 AI 不只是"说",而是能调用你写好的代码来做事。

之前咱们用的 AI 都只能"动嘴"------回答问题、提供建议,但它没办法帮用户查一下订单到哪了、库存还有多少。Function Call 就是来解决这个问题的。

工作流程是这样的:

复制代码
用户:"我的订单到哪了?"
        │
        ▼
  AI 理解意图 → "用户想查物流"
        │
        ▼
  AI 返回:"请调用 query_order_status 函数,参数是 order_id"
        │
        ▼
  你的代码执行这个函数 → 从数据库查到 "快递已发出,预计明天到"
        │
        ▼
  把结果喂回给 AI → AI 生成自然语言回复:"您的快递已经发出了,预计明天送达"

类比:AI 就像一个客服,他不能直接碰你们的系统,但他可以"喊"旁边的技术同事:"帮我查一下这个订单",查完之后他再用自然语言告诉客户。

在咱们项目里:第七章会详细讲怎么定义 Tool、怎么让 LLM 自动选择和调用工具。

3.12 Tool --- 工具

一句话解释:Function Call 的具体实现------把某个能力"包装"成一个 AI 可以调用的工具。

在 LangChain 里,一个 Tool 大概长这样:

python 复制代码
@tool
def query_order_status(order_id: str) -> str:
    """查询订单的物流状态"""
    # 去数据库查,返回结果
    return "快递已发出,预计明天到"

LLM 看到这个函数的名字、参数说明和文档字符串,就能判断什么时候该调用它、传什么参数。

在咱们项目里:我们会给客服 Agent 配备一组工具------查订单、查物流、查库存、退款处理等,让 AI 能真正"动手做事"而不是只会说。

3.13 MCP --- Model Context Protocol

一句话解释 :一个标准协议,让 AI 能通过统一的接口接入各种外部工具和数据源。

这是 Anthropic(Claude 的母公司)在 2024 年底提出来的开放标准。大家可以把 MCP 类比为"AI 领域的 USB 接口"------不管什么设备,只要符合 USB 标准,插上就能用。MCP 也是一样:不管什么工具(查数据库、调 API、读文件),只要实现了 MCP 协议,AI 就能用。

架构分三层:

复制代码
┌─────────────────────────────┐
│   AI 应用(LLM Host)        │  ← 比如咱们的客服 Agent
│   ChatGPT / Claude / 自建    │
└──────────┬──────────────────┘
           │ MCP 协议
┌──────────▼──────────────────┐
│   MCP Client                 │  ← 内置在 AI 应用里
│   负责跟 MCP Server 通信      │
└──────────┬──────────────────┘
           │
    ┌──────┼──────┬──────────┐
    ▼      ▼      ▼          ▼
┌──────┐┌──────┐┌──────┐┌──────┐
│Server││Server││Server││Server│
│数据库 ││文件  ││API   ││搜索  │
└──────┘└──────┘└──────┘└──────┘

为什么这很重要:以前每接一个新工具,都要写专门的适配代码。有了 MCP,工具提供方只要实现一次 MCP Server,所有支持 MCP 的 AI 应用就都能用了。相当于工具生态的一次"标准化"。

在咱们项目里:第十章会实现一个简单的 MCP Server,把客服常用工具(查订单、查知识库等)暴露为 MCP 接口。

3.14 Skills --- 技能

一句话解释 :把一组相关的 Tool + Prompt + 知识打包成一个"技能包",AI 可以按需加载。

大家玩过 RPG 游戏吧?角色有不同技能------"火球术""治疗术""潜行",每个技能是独立的一套能力。AI Agent 的 Skills 也是这个意思:

python 复制代码
skills = {
    "refund_skill": {
        "description": "处理退款相关请求",
        "tools": ["query_order", "process_refund", "send_notification"],
        "prompt": "你是退款专员...",
        "knowledge": "退款政策文档"
    },
    "tech_support_skill": {
        "description": "处理技术故障",
        "tools": ["query_device", "check_firmware", "create_repair_ticket"],
        "prompt": "你是技术支持...",
        "knowledge": "故障排查手册"
    }
}

跟 MCP 的关系:MCP 是底层通信协议,Skills 是上层的能力组织方式。MCP 解决的是"怎么连",Skills 解决的是"怎么管"。

在咱们项目里:第十章会把不同业务场景(退款、技术支持、物流查询)打包成不同 Skills,让客服 Agent 根据用户问题自动选择合适的技能包。

3.15 ReAct --- 推理与行动交织

一句话解释 :让 AI 边想边做------每一步都是"想一想该做什么→做了→看看结果→再想下一步"。

ReAct 是 Reasoning + Acting 的缩写,2022 年的一篇论文提出的,是目前最主流的 Agent 模式。核心循环长这样:

复制代码
Thought(思考):"用户要查订单,我需要先拿到订单号"
    → Action(行动):调用 query_order("ORD-001")
    → Observation(观察):查到了,订单已发货 3 天
    → Thought(再思考):"用户还说要退货,3 天在退货期内"
    → Action(再行动):调用 check_refund_policy(...)
    → Observation(再观察):7 天内可全额退
    → Answer(最终回答):"您的订单在退货期内,可以在..."

特点:没有提前规划,走一步看一步。好处是灵活,简单问题处理得快;坏处是复杂问题可能"绕弯路"------因为缺乏全局视角。

跟下一节 Plan-Execute-Replan 的关系:Plan-Execute-Replan 可以理解为 ReAct 的"升级版"------加了全局规划能力。简单问题用 ReAct 就够了,复杂问题用 Plan-Execute-Replan 更靠谱。第七章的 ToolAgent 本质上就是一个 ReAct 循环。

3.16 Plan-Execute-Replan --- 规划执行框架

一句话解释 :让 AI 自己先想好怎么做(Plan)→ 一步一步执行(Execute)→ 发现不对就调整(Replan)

这是解决复杂问题的一种经典思路。简单问题("查一下我的订单")一步就能搞定,但复杂问题需要多步:

复制代码
用户:"我买了两个耳机,一个有杂音一个连不上,都要退,但其中一个超了 7 天"

Plan 阶段(AI 自己规划):
  1. 查询两个订单的详细信息
  2. 分别判断是否在退货期内
  3. 对于在退货期内的:走正常退款流程
  4. 对于超出退货期的:查看是否有质保政策
  5. 生成两个工单,分别处理
  6. 汇总结果告知用户

Execute 阶段(逐步执行):
  执行第 1 步 → 查到订单 A(购于 5 天前)、订单 B(购于 12 天前)
  执行第 2 步 → A 在退货期内,B 超出 7 天

Replan 阶段(根据中间结果调整):
  发现 B 超出退货期 → 查质保政策 → 发现质保期 1 年,可以换新
  调整计划:A 走退款,B 走换新

最终汇总:告知用户两个订单的不同处理方案

在咱们项目里:第八章会用 LangGraph 实现这个 Plan-Execute-Replan 循环,让 AI 能自主处理这种需要多步推理的复杂客服场景。

3.17 Multi-Agent --- 多智能体协作

一句话解释 :不是一个 AI 包揽所有事,而是多个 AI 各司其职、互相配合

单 Agent 系统像一个"全能客服",什么都能做但什么都不精。Multi-Agent 系统像一个客服团队:

复制代码
                    ┌─────────────────┐
                    │   用户发来消息    │
                    └────────┬────────┘
                             │
                    ┌────────▼────────┐
                    │  接待 Agent      │  ← "前台"
                    │  初步理解、分流   │
                    └────────┬────────┘
                             │
              ┌──────────────┼──────────────┐
              │              │              │
     ┌────────▼──────┐┌─────▼────────┐┌───▼──────────┐
     │  售后 Agent    ││ 技术支持 Agent ││ 投诉处理 Agent │
     │  退款/退货/换新││ 故障排查/维修  ││ 升级/补偿/安抚│
     └────────┬──────┘└─────┬────────┘└───┬──────────┘
              │              │              │
              └──────────────┼──────────────┘
                             │
                    ┌────────▼────────┐
                    │  主管 Agent      │  ← 质量把控、最终决策
                    │  审核工单、分配   │
                    └─────────────────┘

每个 Agent 有自己的 Prompt、Tools 和 Skills,专注自己的领域。Agent 之间通过消息传递协调工作。

跟 Plan-Execute-Replan 的关系:Plan-Execute-Replan 是一个 Agent 内部的思考方式,Multi-Agent 是多个 Agent 之间的协作方式。复杂系统通常两者结合------每个 Agent 内部可以做规划,Agent 之间也可以互相派活。

在咱们项目里:第九章会实现一个 Multi-Agent 客服系统,接待 Agent 负责分流,专业 Agent 负责处理,主管 Agent 负责审核和兜底。


4. 这些概念怎么串起来

看完了名词解释,可能有人会觉得:"概念好多,它们之间什么关系?"

画个全景图帮大家串一下:

复制代码
                        ┌──────────────┐
                        │   用户消息     │
                        └──────┬───────┘
                               │
                        ┌──────▼───────┐
                        │    Agent     │  ← 整个系统的"指挥官"
                        │  (LangGraph) │     用 LangGraph 编排工作流
                        └──────┬───────┘
                               │
       ┌───────────┬───────────┼───────────┬──────────┐
       │           │           │           │          │
┌──────▼──────┐┌───▼───┐┌─────▼────┐┌────▼─────┐┌───▼──────┐
│   LLM 推理   ││  RAG  ││结构化输出 ││  Tools   ││  Agent  │
│  理解意图    ││查知识库││返回 JSON ││调用工具   ││  协作    │
└──────┬──────┘└───┬───┘└─────┬────┘└────┬─────┘└───┬──────┘
       │           │           │           │          │
       │    ┌──────▼─────┐    │    ┌──────▼──────┐   │
       │    │  Embedding │    │    │ MCP Server  │   │
       │    │  文字→向量  │    │    │ 标准化接口   │   │
       │    └──────┬─────┘    │    └─────────────┘   │
       │           │          │                      │
       │    ┌──────▼─────┐    │              ┌───────▼────────┐
       │    │  向量数据库  │    │              │  Multi-Agent   │
       │    │  (Milvus)  │    │              │  多智能体协作    │
       │    └────────────┘    │              └────────────────┘
       │                     │
       └──────────┬──────────┘
                  │
           ┌──────▼───────┐
           │  Prompt +    │
           │  Memory +    │  ← 每轮对话都有上下文
           │  Skills +    │     技能包按需加载
           │  Plan-Execute│     复杂问题先规划再执行
           └──────────────┘

整个项目就是围绕这张图来展开的:

概念 在哪章学
LLM、Prompt、Memory 第一章、第二章
Embedding、向量数据库、RAG 第三章
结构化输出 第四章(情绪识别)、第五章(工单生成)
Function Call、Tool Use、ReAct 第七章
Plan-Execute-Replan 第八章
Multi-Agent 多智能体协作 第九章
MCP 协议、Skills 技能体系 第十章
Agent 编排与系统集成 第十一章(完整集成)

5. 需要什么基础

大家最好有:

  • Python 基础:能写函数、能用 pip 装包、能理解类和对象就行
  • 基本的命令行操作:会 cd、会跑 python 脚本
  • 听说过 LLM:用过 ChatGPT 或类似产品,知道它能干什么

不需要:

  • 不需要 AI/机器学习背景
  • 不需要了解 Transformer、注意力机制这些底层原理
  • 不需要提前学过 LangChain

如果你能看懂 print("Hello World")pip install xxx,那就够了。


6. 课程怎么用

  • 跟着顺序来:从第一章到第十一章,每章都依赖前面的代码
  • 代码一定要跑:看懂 ≠ 跑过。建议边看文档边在本地跑,改改参数看效果
  • 结合实际场景思考:学到知识库,想想自己公司的文档能不能用;学到工单系统,想想现在的售后流程怎么优化;学到 Multi-Agent,想想团队里怎么分工
  • 遇到问题先查文档:每章的 README 下方有"常见问题",大部分坑都帮你踩过了

下一章

第一章:环境搭建与基础对话

下一章正式动手,搭环境、写代码、跑出第一个会说话的 AI 客服。


完整版合集、面试题库、项目实战,全网同名【图解 AI 系列】

相关推荐
网络工程小王1 小时前
【LCEL 链式调用详解】调用篇-2
java·服务器·前端·数据库·人工智能
BU摆烂会噶1 小时前
【LangGraph】运行时上下文(Runtime Context)
人工智能·python·langchain
一个处女座的程序猿O(∩_∩)O2 小时前
大模型决战2026:从百模大战到空间智能,AI Agent与推理架构的深度实战
人工智能·架构
第七种黄昏2 小时前
用AI一天做出一个完整App:VibeCoding全流程实战记录(小白也能复现)
人工智能
skilllite作者2 小时前
SkillLite 原生系统级沙箱功能代码导览
人工智能·chrome·后端·架构·rust
GISer_Jing2 小时前
AI Agent中游产业链全景拆解:智能体开发的核心生态与技术版图
前端·人工智能·后端
冬奇Lab2 小时前
RAG 系列(七):检索策略——如何找到最相关的内容
人工智能·llm·源码
薛定猫AI2 小时前
【深度解析】DeepSeek V4 + Cloud Code:构建低成本、高吞吐的混合 AI 编码工作流
人工智能·log4j