← 返回案例列表
电商(DTC 品牌)2026-09-29

电商全渠道 AI 销售智能体:从客服问答到售前成交

多模型路由RAGFunction CallingShopify Admin APIWhatsApp Business APIPostgreSQL
✓ 一个 Agent 接管全渠道对话:89% 发生在购买前、约 2/3 在非营业时间,查库存/开退货单/发券等动作直接在商家系统内执行(2,500+ 品牌)

电商全渠道 AI 销售智能体:从客服问答到售前成交

# Agent

一、需求分析

业务背景

电商的客服量,长期被当成「售后成本」来管:退货、物流、尺码、发票。但真实数据讲的是另一件事——某电商 AI 智能体服务商在其 2,500+ 客户品牌的混合对话数据中披露:89% 的对话发生在购买之前,而其中约 三分之二 落在商家团队的非营业时间。

这两个数字合起来说明一件事:购买决策发生在没人值班的时刻,而商家最贵的资源(人)恰好不在。

痛点现状描述量化影响
售前无人值守团队在线时段与消费者咨询高峰错位约 2/3 的对话发生在非营业时间
渠道割裂站内聊天、商品页问答、WhatsApp、社媒私信、邮件各用一套工具与人同一客户在不同渠道重复描述,一换渠道就从头开始
只答不做客服能解释退货政策,但不能开退货单客户拿到解释仍要自己走完流程,流失在最后一步
知识碎片政策文档、商品目录、库存分散在几个系统里答案口径不一致,全靠人记

需求的两个层次

问商家「你要什么」,得到的通常是第一层:

「客户问什么,你帮我答什么,快一点就行。」

复盘流失路径,真正的痛点在第二层:购买前那段犹豫,没有被当成一个可经营的漏斗。「这件有没有 M 码」「明天能到吗」「和我手上的旧款兼容吗」——每一个问题都是一次可能成交的机会,却被打包成了工单。

这两层的区别直接决定系统形态:第一层做出来是问答机器人(RAG + FAQ);第二层做出来是销售智能体——它得知道客户是谁、能查真实库存与履约、能在商家系统里把动作做完。

为什么不是「把 FAQ 塞进 RAG」

因为电商的绝大多数售前问题不是语义相似度问题,而是约束满足问题:

  • 「这件有 M 码吗」→ 库存表里的一行
  • 「明天能到阿姆斯特丹吗」→ 履约规则 + 当前时间 + 邮编
  • 「这瓶精华能不能和我正在用的酸类一起用」→ 成分表 + 使用约束
  • 把商品描述向量化,模型能「聊得像」,但答不了这三类问题。语义检索解决「像不像」,电商要的是「是或不是」。

    二、技术方案

    前置判断:三类能力必须分开

    动工前先把「Agent 要会的东西」拆成三类,因为它们的实现路径不同、失败代价更不同:

    能力技术路径失败代价
    知道(政策、成分、尺码建议)检索 + 生成说错话,客户换一家
    记得(这个客户是谁、聊到哪了)统一客户档案 + 会话状态客户重复描述,体验崩
    动手(查库存、开退货单、发券、改地址)工具调用(系统 API)做错事,要赔钱
    **能说的和能做的,不能用同一套约束管。** 说错话可以道歉,做错事要赔钱——所以「知道」可以放开让模型生成,「动手」必须走权限分层与幂等。

    系统架构

    渠道接入层
      ├─ 站内搜索栏 / 商品页问答 / 站内聊天
      ├─ WhatsApp / 社媒私信 / 邮件 / 工单台
      └─ 统一接入网关(渠道适配器 + 身份归并)
            │
    会话与身份层
      ├─ Identity Resolution:渠道 ID → 统一 customer_id
      ├─ 会话状态(当前意图 / 已收集信息 / 待兑现动作)
      └─ 客户档案(历史订单 / 偏好 / 语言 / 历史对话摘要)
            │
    智能体编排层
      ├─ 意图路由:售前咨询 / 履约查询 / 售后动作 / 转人工
      ├─ 检索(政策与知识)
      ├─ 结构化查询(商品 / 库存 / 订单 / 物流)—— 工具调用 + 权限分层
      └─ 生成(答案 + 依据引用 + 下一步动作)
            │
    执行与合规层
      ├─ 动作白名单 / 阈值(退款、改价、折扣)
      ├─ 幂等键(订单 + 动作类型 + 会话)
      ├─ 审计日志(谁触发 / 模型给的依据 / 系统返回)
      └─ 转人工(无依据、超阈值、连续失败)
            │
    商家系统(Shopify / Magento / SFCC / BigCommerce / 自研 Admin API)

    技术栈

    推理      多模型路由(按任务复杂度与成本分配,商业模型与自托管混合)
    检索      政策向量库 + 商品目录结构化查询(两套并行,不通胀成一套)
    接入      Shopify / Shopify Plus 原生;Magento / Adobe Commerce /
              Salesforce Commerce Cloud / BigCommerce / 自研 Admin API + 前端一段 snippet
    渠道      WhatsApp Business API / 邮件 / 社媒 DM / 工单台 webhook
    数据      PostgreSQL(客户档案 / 会话状态 / 审计日志)
    前端      嵌入式组件(搜索栏、商品页问答、聊天窗与 checkout 同页)

    三、实现细节

    1. 训练一次、全渠道复用:把「渠道会话」和「客户实体」解耦

    全渠道最常见的失败形态,是每个渠道各训一份知识、各存一份上下文——于是客户在 WhatsApp 里报过订单号,回到网站还得再说一遍。解法是把渠道降级成接入层,主键换成客户实体:

    python
    def resolve_identity(channel_id, channel, hints) -> str:
        """
        渠道 ID → 统一 customer_id
        hints: 邮箱 / 手机号 / 订单号 / 登录会话
        """
        # 1) 强标识:登录会话或订单号 → 直接命中
        if hints.get("customer_id"):
            return hints["customer_id"]
        # 2) 弱标识:邮箱 / 手机号(跨渠道常见,需去重与冲突处理)
        for key in ("email", "phone"):
            if hints.get(key):
                cid = lookup_customer(key, hints[key])
                if cid:
                    link_channel(channel_id, channel, cid)   # 记住这条映射
                    return cid
        # 3) 无法归并 → 匿名会话(只保留会话级上下文)
        return create_anonymous_session(channel_id, channel)

    会话状态挂 customer_id,不挂渠道:

    会话上下文(示例)
      customer_id : C-88213
      channel     : whatsapp → web(已切换)
      当前意图     : 售前 / 尺码
      已收集       : 肤色=暖调;关注成分=酸类
      待兑现动作   : 无
      → 客户换渠道后上下文继续,不需要重述

    要点:知识只训一次(政策 + 目录),上下文只存一份(客户级)。扩渠道 = 加一个适配器,不是重训一遍。

    2. 让 Agent「动手」:权限分层 + 幂等

    Agent 的价值一半在「能动手」,风险也全在这里。参考实现按三层分级:

    层级动作示例处置
    L1 只读查订单、查库存、查物流、查政策自动执行,不走审批
    L2 可逆写改收货地址、开退货单、发预付标签、发优惠券自动执行 + 审计日志 + 通知客户
    L3 涉钱 / 不可逆退款、改价、超阈值折扣、取消已发货订单阈值内自动 + 幂等;超阈值挂起等人工

    幂等在这里是硬要求,因为模型会重试、渠道会重投:

    python
    def execute_action(action_type, order_id, session_id, payload):
        idem_key = f"{action_type}:{order_id}:{session_id}"
        if seen(idem_key):                        # 同一动作在同一会话内只执行一次
            return cached_result(idem_key)
        result = dispatch(action_type, payload)   # 真正调用商家系统 API
        record(idem_key, result)                  # 落审计:谁触发 / 依据 / 返回
        return result

    一段被压缩到 2 分钟的退货对话(格式示意):

    客户:鞋码不对,想退了。
    Agent:查到订单 #8421(周五送达)。退货已开,预付标签已发到你的邮箱,
           货到即原路退款。
           [Return 8421 opened] [Prepaid label emailed] [Refund set on arrival]

    这条链上做了三件「事」:开单、发标签、设退款。这是回答和执行的差别,也是「智能体」和「聊天机器人」的差别。

    3. 商品知识不是文档,是结构化目录

    把商品全量向量化,很容易在「有货吗」这类问题上给出自信的错误答案。参考实现把商品侧拆成两套:

  • 目录查询(结构化):SKU、库存、尺码、兼容性、履约时效 → 直接查 API,返回字段,不做生成
  • 知识检索(语义):政策、成分说明、使用建议、护理要求 → 向量检索 + 生成
  • 模型在中间负责的是决定查什么,而不是编答案:

    输入:这件有 M 码吗?我明天要飞到里斯本。
    
    ① 意图      → 售前 / 库存
    ② 结构化查询 → catalog.sku("SILK-FDN-2W") → {stock: true, size: "M"}
                 → shipping.eta(postcode="1000-001", asof=now) → 2 个工作日
    ③ 生成       → 「M 码有货;按里斯本的时效,标准配送要 2 个工作日,赶不上你明天出发。
                   可以走次日达(下单截止 18:00)。」

    (以上数值为格式示意。)

    判据:答案里出现的每个「是/否/数字」,都必须能指回一条结构化返回值或一条政策原文——指不回去,就转人工。

    4. 非营业时段占三分之二:无人值守时的三条兜底

    约 2/3 的对话发生在没人值班的时刻,这决定了系统不能只在「一切正常」时工作:

    1. 不许编:任何无法指回依据的回答,改成「这个我需要确认,已为你转人工,明早 9 点前回复」+ 记下待办。宁可少答,不可错答。

    2. 高风险动作挂起:L3 动作在无人时段进审批队列,而不是自动放行——留一分钟的人工,比赔一笔退款便宜。

    3. 降级要可感知:工具调用失败(库存接口超时等)时明确告知「暂时查不到库存」,而不是用一句听起来很确定的猜测糊过去。

    四、项目成果

    业务指标

    指标数据口径
    覆盖品牌数2,500+ 电商品牌(DTC 到企业级零售)服务商官网(2026-09)
    售前对话占比89%跨 2,500+ 品牌混合口径
    非营业时间处理约 2/3 的对话同上
    月处理对话量约 70 万次受访方自述
    收入体量月收入约 16.7 万美元,接近 200 万美元 ARR受访方自述
    增长周环比约 10%受访方自述
    上线周期自助客户当天;企业客户 1–4 周服务商官网(2026-09)

    (上表混合服务商官网口径与受访方自述口径,逐行已标注,未做二次核验。)

    一个结构性变化:从成本中心到成交侧

    这个项目最值得对照的不是模型选型,而是它把 AI 客服的落点从「省人力」搬到了「抢成交」。一旦售前对话被算成收入,一切指标都换了:

    维度成本视角的客服收入视角的销售智能体
    核心指标人均接待量、人工介入率售前转化率、单次对话带单金额
    考核时段工作时间24 小时(约 2/3 在非营业时段)
    动作边界只答,不动系统开单、发券、改地址、设退款
    归因会话数订单归因到产生它的那次对话

    最后一条是分水岭:当系统能把订单归因到对话,它就从「成本项」变成了「有 ROI 的渠道」——预算的审批逻辑随之完全不同。

    获客侧:没有魔法,只有组合

    案例方公开的增长动作,没有一项是增长黑客:

    渠道做法
    应用市场ASO 优化 + 引导好评(平台内搜索本身就是主要流量入口)
    SEO / GEO面向搜索引擎与大语言模型引用的双优化
    内容与个人品牌创始人全员在 X / LinkedIn 持续输出;YouTube 只做对电商人有真实价值的内容
    冷邮件规模化触达,数据源来自公开的店铺情报(Store Leads / Similarweb)
    生态嵌入把「技能」嵌进其他商家应用,借别人的流量
    付费测试AppSumo / Facebook / Google 广告,能跑就测,不 work 就换
    「没有任何增长黑客,就是慢慢磨,不停磨。唯一不变的是:永远不要停止发布和售卖。」

    五、可复用的经验

    1. 先问「谁在什么时刻替客户做决定」,再谈模型。 89% 的对话发生在购买前、约 2/3 在非营业时间——这两个数字决定了系统必须无人值守可用,也决定了它的价值锚点是成交而不是工单。

    2. 渠道是接入层,客户是主键。 全渠道做不好的根因,几乎都是把上下文挂在了渠道上。训练一次、复用多次的前提是身份归并,不是知识库的数量。

    3. 说的和做的分开管。 语义生成可以放开,系统动作必须走权限分级 + 幂等 + 审计。三样缺一,事故迟早发生。

    4. 能用结构化查询的地方,不要用生成。 库存、价格、时效这类问题,「查出来」永远比「说得好」可靠。

    5. 无人值守的系统,价值在兜底而不在聪明。 不许编、高风险挂起、降级可感知——这三条比多答对 5% 的问题更能决定它能不能上线。

    写在最后

    把客服当成成本,你会得到一个更省人的应答器;把售前当成漏斗,你才会得到一个能动手的销售智能体。
    探索智能,酷在前沿

    本案例素材来自该服务商官网公开信息(2026-09 抓取)与一篇公开发布的项目报道(2026-09);商务数据引自受访方自述与官网披露口径,技术方案与实现细节为 coolseek 依据该场景归纳的参考实现。