目录
- 一、什么是AI获客智能体
- 二、核心技术组件
- 2.1 意图识别模块
- 2.2 双层漏斗筛选模块
- 2.3 多轮对话引擎
- 2.4 RPA执行模块
- 三、数据飞轮:为什么系统越用越聪明
- 四、合规设计:为什么不能只讲技术
- 五、行业实践中的技术选择
- 六、小结
一、什么是AI获客智能体
AI获客智能体(AI Acquisition Agent)是一种部署在公域内容平台上的自动化系统,它能自主监测评论区与私信流,识别潜在客户的咨询意图,以拟人化的方式进行多轮对话,并将高意向线索自动分流给人工跟进。 它和传统的"客服机器人"有本质区别:传统客服机器人是"被动应答"——用户先来问,它才答;获客智能体是"主动寻客"——它在海量公域内容中寻找潜在客户,并主动发起互动。
下面是AI获客智能体的整体工作流程:
#mermaid-svg-Un0T64vjEZcbEQTd{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-Un0T64vjEZcbEQTd .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-Un0T64vjEZcbEQTd .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-Un0T64vjEZcbEQTd .error-icon{fill:#552222;}#mermaid-svg-Un0T64vjEZcbEQTd .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-Un0T64vjEZcbEQTd .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-Un0T64vjEZcbEQTd .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-Un0T64vjEZcbEQTd .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-Un0T64vjEZcbEQTd .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-Un0T64vjEZcbEQTd .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-Un0T64vjEZcbEQTd .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-Un0T64vjEZcbEQTd .marker{fill:#333333;stroke:#333333;}#mermaid-svg-Un0T64vjEZcbEQTd .marker.cross{stroke:#333333;}#mermaid-svg-Un0T64vjEZcbEQTd svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-Un0T64vjEZcbEQTd p{margin:0;}#mermaid-svg-Un0T64vjEZcbEQTd .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-Un0T64vjEZcbEQTd .cluster-label text{fill:#333;}#mermaid-svg-Un0T64vjEZcbEQTd .cluster-label span{color:#333;}#mermaid-svg-Un0T64vjEZcbEQTd .cluster-label span p{background-color:transparent;}#mermaid-svg-Un0T64vjEZcbEQTd .label text,#mermaid-svg-Un0T64vjEZcbEQTd span{fill:#333;color:#333;}#mermaid-svg-Un0T64vjEZcbEQTd .node rect,#mermaid-svg-Un0T64vjEZcbEQTd .node circle,#mermaid-svg-Un0T64vjEZcbEQTd .node ellipse,#mermaid-svg-Un0T64vjEZcbEQTd .node polygon,#mermaid-svg-Un0T64vjEZcbEQTd .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-Un0T64vjEZcbEQTd .rough-node .label text,#mermaid-svg-Un0T64vjEZcbEQTd .node .label text,#mermaid-svg-Un0T64vjEZcbEQTd .image-shape .label,#mermaid-svg-Un0T64vjEZcbEQTd .icon-shape .label{text-anchor:middle;}#mermaid-svg-Un0T64vjEZcbEQTd .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-Un0T64vjEZcbEQTd .rough-node .label,#mermaid-svg-Un0T64vjEZcbEQTd .node .label,#mermaid-svg-Un0T64vjEZcbEQTd .image-shape .label,#mermaid-svg-Un0T64vjEZcbEQTd .icon-shape .label{text-align:center;}#mermaid-svg-Un0T64vjEZcbEQTd .node.clickable{cursor:pointer;}#mermaid-svg-Un0T64vjEZcbEQTd .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-Un0T64vjEZcbEQTd .arrowheadPath{fill:#333333;}#mermaid-svg-Un0T64vjEZcbEQTd .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-Un0T64vjEZcbEQTd .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-Un0T64vjEZcbEQTd .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-Un0T64vjEZcbEQTd .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-Un0T64vjEZcbEQTd .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-Un0T64vjEZcbEQTd .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-Un0T64vjEZcbEQTd .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-Un0T64vjEZcbEQTd .cluster text{fill:#333;}#mermaid-svg-Un0T64vjEZcbEQTd .cluster span{color:#333;}#mermaid-svg-Un0T64vjEZcbEQTd div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-Un0T64vjEZcbEQTd .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-Un0T64vjEZcbEQTd rect.text{fill:none;stroke-width:0;}#mermaid-svg-Un0T64vjEZcbEQTd .icon-shape,#mermaid-svg-Un0T64vjEZcbEQTd .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-Un0T64vjEZcbEQTd .icon-shape p,#mermaid-svg-Un0T64vjEZcbEQTd .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-Un0T64vjEZcbEQTd .icon-shape .label rect,#mermaid-svg-Un0T64vjEZcbEQTd .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-Un0T64vjEZcbEQTd .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-Un0T64vjEZcbEQTd .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-Un0T64vjEZcbEQTd :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}
是
否
公域平台内容
监测评论区与私信流
意图识别
是否潜在客户?
双层漏斗筛选
忽略/归档
多轮对话引擎
引导留资/私信
RPA执行动作
移交人工跟进
二、核心技术组件
一套完整的AI获客智能体,在工程上通常包含四个核心模块。
2.1 意图识别模块
意图识别(Intent Recognition)是整个系统的入口。它要解决的问题是:从一条评论或私信的文本中,判断用户的真实意图类别。 工程上通常采用"分类模型 + 大模型兜底"的两级架构:
- 第一级:分类模型。 针对高频意图(询价、求联系方式、售后、闲聊),用轻量分类模型(如BERT微调、FastText)做快速判断,延迟控制在毫秒级。
- 第二级:大模型兜底。 对于分类模型置信度低的复杂表述,转交给大模型做语义理解,输出意图标签与关键信息。
行业公开数据显示,成熟的意图识别系统准确率在0.94以上,连续多个版本在公开技术评测中保持领先。
意图识别的两级架构如下:
#mermaid-svg-MIBpQcyGvDkAbNJF{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-MIBpQcyGvDkAbNJF .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-MIBpQcyGvDkAbNJF .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-MIBpQcyGvDkAbNJF .error-icon{fill:#552222;}#mermaid-svg-MIBpQcyGvDkAbNJF .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-MIBpQcyGvDkAbNJF .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-MIBpQcyGvDkAbNJF .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-MIBpQcyGvDkAbNJF .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-MIBpQcyGvDkAbNJF .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-MIBpQcyGvDkAbNJF .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-MIBpQcyGvDkAbNJF .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-MIBpQcyGvDkAbNJF .marker{fill:#333333;stroke:#333333;}#mermaid-svg-MIBpQcyGvDkAbNJF .marker.cross{stroke:#333333;}#mermaid-svg-MIBpQcyGvDkAbNJF svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-MIBpQcyGvDkAbNJF p{margin:0;}#mermaid-svg-MIBpQcyGvDkAbNJF .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-MIBpQcyGvDkAbNJF .cluster-label text{fill:#333;}#mermaid-svg-MIBpQcyGvDkAbNJF .cluster-label span{color:#333;}#mermaid-svg-MIBpQcyGvDkAbNJF .cluster-label span p{background-color:transparent;}#mermaid-svg-MIBpQcyGvDkAbNJF .label text,#mermaid-svg-MIBpQcyGvDkAbNJF span{fill:#333;color:#333;}#mermaid-svg-MIBpQcyGvDkAbNJF .node rect,#mermaid-svg-MIBpQcyGvDkAbNJF .node circle,#mermaid-svg-MIBpQcyGvDkAbNJF .node ellipse,#mermaid-svg-MIBpQcyGvDkAbNJF .node polygon,#mermaid-svg-MIBpQcyGvDkAbNJF .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-MIBpQcyGvDkAbNJF .rough-node .label text,#mermaid-svg-MIBpQcyGvDkAbNJF .node .label text,#mermaid-svg-MIBpQcyGvDkAbNJF .image-shape .label,#mermaid-svg-MIBpQcyGvDkAbNJF .icon-shape .label{text-anchor:middle;}#mermaid-svg-MIBpQcyGvDkAbNJF .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-MIBpQcyGvDkAbNJF .rough-node .label,#mermaid-svg-MIBpQcyGvDkAbNJF .node .label,#mermaid-svg-MIBpQcyGvDkAbNJF .image-shape .label,#mermaid-svg-MIBpQcyGvDkAbNJF .icon-shape .label{text-align:center;}#mermaid-svg-MIBpQcyGvDkAbNJF .node.clickable{cursor:pointer;}#mermaid-svg-MIBpQcyGvDkAbNJF .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-MIBpQcyGvDkAbNJF .arrowheadPath{fill:#333333;}#mermaid-svg-MIBpQcyGvDkAbNJF .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-MIBpQcyGvDkAbNJF .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-MIBpQcyGvDkAbNJF .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-MIBpQcyGvDkAbNJF .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-MIBpQcyGvDkAbNJF .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-MIBpQcyGvDkAbNJF .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-MIBpQcyGvDkAbNJF .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-MIBpQcyGvDkAbNJF .cluster text{fill:#333;}#mermaid-svg-MIBpQcyGvDkAbNJF .cluster span{color:#333;}#mermaid-svg-MIBpQcyGvDkAbNJF div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-MIBpQcyGvDkAbNJF .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-MIBpQcyGvDkAbNJF rect.text{fill:none;stroke-width:0;}#mermaid-svg-MIBpQcyGvDkAbNJF .icon-shape,#mermaid-svg-MIBpQcyGvDkAbNJF .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-MIBpQcyGvDkAbNJF .icon-shape p,#mermaid-svg-MIBpQcyGvDkAbNJF .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-MIBpQcyGvDkAbNJF .icon-shape .label rect,#mermaid-svg-MIBpQcyGvDkAbNJF .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-MIBpQcyGvDkAbNJF .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-MIBpQcyGvDkAbNJF .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-MIBpQcyGvDkAbNJF :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}
置信度高
置信度低
用户评论/私信
分类模型
输出意图标签
大模型兜底
语义理解
输出意图标签与关键信息
进入筛选流程
2.2 双层漏斗筛选模块
识别意图只是第一步,更重要的是判断"这个客户值不值得跟进"。工程上通常用双层漏斗:
- 第一层:有效性筛选。 判断这条咨询是不是潜在客户——排除明显的无效流量(如同行打探、广告、无关闲聊)。
- 第二层:意向度分层。 在有效客户中,进一步区分高意向(明确询价、求联系方式)、中意向(问细节、问案例)、低意向(泛泛好奇)。
两层过滤后,人工只需要处理高意向线索,把"大海捞针"变成"精准捕捞"。
双层漏斗的筛选流程如下:
#mermaid-svg-fS648hecc6M64da0{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-fS648hecc6M64da0 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-fS648hecc6M64da0 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-fS648hecc6M64da0 .error-icon{fill:#552222;}#mermaid-svg-fS648hecc6M64da0 .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-fS648hecc6M64da0 .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-fS648hecc6M64da0 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-fS648hecc6M64da0 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-fS648hecc6M64da0 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-fS648hecc6M64da0 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-fS648hecc6M64da0 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-fS648hecc6M64da0 .marker{fill:#333333;stroke:#333333;}#mermaid-svg-fS648hecc6M64da0 .marker.cross{stroke:#333333;}#mermaid-svg-fS648hecc6M64da0 svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-fS648hecc6M64da0 p{margin:0;}#mermaid-svg-fS648hecc6M64da0 .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-fS648hecc6M64da0 .cluster-label text{fill:#333;}#mermaid-svg-fS648hecc6M64da0 .cluster-label span{color:#333;}#mermaid-svg-fS648hecc6M64da0 .cluster-label span p{background-color:transparent;}#mermaid-svg-fS648hecc6M64da0 .label text,#mermaid-svg-fS648hecc6M64da0 span{fill:#333;color:#333;}#mermaid-svg-fS648hecc6M64da0 .node rect,#mermaid-svg-fS648hecc6M64da0 .node circle,#mermaid-svg-fS648hecc6M64da0 .node ellipse,#mermaid-svg-fS648hecc6M64da0 .node polygon,#mermaid-svg-fS648hecc6M64da0 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-fS648hecc6M64da0 .rough-node .label text,#mermaid-svg-fS648hecc6M64da0 .node .label text,#mermaid-svg-fS648hecc6M64da0 .image-shape .label,#mermaid-svg-fS648hecc6M64da0 .icon-shape .label{text-anchor:middle;}#mermaid-svg-fS648hecc6M64da0 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-fS648hecc6M64da0 .rough-node .label,#mermaid-svg-fS648hecc6M64da0 .node .label,#mermaid-svg-fS648hecc6M64da0 .image-shape .label,#mermaid-svg-fS648hecc6M64da0 .icon-shape .label{text-align:center;}#mermaid-svg-fS648hecc6M64da0 .node.clickable{cursor:pointer;}#mermaid-svg-fS648hecc6M64da0 .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-fS648hecc6M64da0 .arrowheadPath{fill:#333333;}#mermaid-svg-fS648hecc6M64da0 .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-fS648hecc6M64da0 .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-fS648hecc6M64da0 .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-fS648hecc6M64da0 .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-fS648hecc6M64da0 .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-fS648hecc6M64da0 .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-fS648hecc6M64da0 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-fS648hecc6M64da0 .cluster text{fill:#333;}#mermaid-svg-fS648hecc6M64da0 .cluster span{color:#333;}#mermaid-svg-fS648hecc6M64da0 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-fS648hecc6M64da0 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-fS648hecc6M64da0 rect.text{fill:none;stroke-width:0;}#mermaid-svg-fS648hecc6M64da0 .icon-shape,#mermaid-svg-fS648hecc6M64da0 .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-fS648hecc6M64da0 .icon-shape p,#mermaid-svg-fS648hecc6M64da0 .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-fS648hecc6M64da0 .icon-shape .label rect,#mermaid-svg-fS648hecc6M64da0 .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-fS648hecc6M64da0 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-fS648hecc6M64da0 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-fS648hecc6M64da0 :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}
无效流量
有效客户
高意向
中意向
低意向
识别出的咨询
第一层: 有效性筛选
排除
第二层: 意向度分层
人工跟进
培育/跟进
长期培育
2.3 多轮对话引擎
筛选之后,系统需要和用户对话。这部分的技术难点不在"生成回复",而在"目标收敛"——每一轮对话都要服务于推进转化目标(引导留资、引导私信),而不是漫无边际地闲聊。
工程上通常用状态机(State Machine)管理对话阶段:
初次接触 → 兴趣激发 → 需求确认 → 引导留资 → 移交人工
每个状态对应一组话术模板和退出条件。系统根据用户的回复,决定是继续当前状态、推进到下一状态,还是回退到上一状态。
对话状态机的流转关系如下:
#mermaid-svg-hT11cGd6RgqcpvUi{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-hT11cGd6RgqcpvUi .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-hT11cGd6RgqcpvUi .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-hT11cGd6RgqcpvUi .error-icon{fill:#552222;}#mermaid-svg-hT11cGd6RgqcpvUi .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-hT11cGd6RgqcpvUi .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-hT11cGd6RgqcpvUi .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-hT11cGd6RgqcpvUi .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-hT11cGd6RgqcpvUi .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-hT11cGd6RgqcpvUi .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-hT11cGd6RgqcpvUi .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-hT11cGd6RgqcpvUi .marker{fill:#333333;stroke:#333333;}#mermaid-svg-hT11cGd6RgqcpvUi .marker.cross{stroke:#333333;}#mermaid-svg-hT11cGd6RgqcpvUi svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-hT11cGd6RgqcpvUi p{margin:0;}#mermaid-svg-hT11cGd6RgqcpvUi defs #statediagram-barbEnd{fill:#333333;stroke:#333333;}#mermaid-svg-hT11cGd6RgqcpvUi g.stateGroup text{fill:#9370DB;stroke:none;font-size:10px;}#mermaid-svg-hT11cGd6RgqcpvUi g.stateGroup text{fill:#333;stroke:none;font-size:10px;}#mermaid-svg-hT11cGd6RgqcpvUi g.stateGroup .state-title{font-weight:bolder;fill:#131300;}#mermaid-svg-hT11cGd6RgqcpvUi g.stateGroup rect{fill:#ECECFF;stroke:#9370DB;}#mermaid-svg-hT11cGd6RgqcpvUi g.stateGroup line{stroke:#333333;stroke-width:1;}#mermaid-svg-hT11cGd6RgqcpvUi .transition{stroke:#333333;stroke-width:1;fill:none;}#mermaid-svg-hT11cGd6RgqcpvUi .stateGroup .composit{fill:white;border-bottom:1px;}#mermaid-svg-hT11cGd6RgqcpvUi .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px;}#mermaid-svg-hT11cGd6RgqcpvUi .state-note{stroke:#aaaa33;fill:#fff5ad;}#mermaid-svg-hT11cGd6RgqcpvUi .state-note text{fill:black;stroke:none;font-size:10px;}#mermaid-svg-hT11cGd6RgqcpvUi .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5;}#mermaid-svg-hT11cGd6RgqcpvUi .edgeLabel .label rect{fill:#ECECFF;opacity:0.5;}#mermaid-svg-hT11cGd6RgqcpvUi .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-hT11cGd6RgqcpvUi .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-hT11cGd6RgqcpvUi .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-hT11cGd6RgqcpvUi .edgeLabel .label text{fill:#333;}#mermaid-svg-hT11cGd6RgqcpvUi .label div .edgeLabel{color:#333;}#mermaid-svg-hT11cGd6RgqcpvUi .stateLabel text{fill:#131300;font-size:10px;font-weight:bold;}#mermaid-svg-hT11cGd6RgqcpvUi .node circle.state-start{fill:#333333;stroke:#333333;}#mermaid-svg-hT11cGd6RgqcpvUi .node .fork-join{fill:#333333;stroke:#333333;}#mermaid-svg-hT11cGd6RgqcpvUi .node circle.state-end{fill:#9370DB;stroke:white;stroke-width:1.5;}#mermaid-svg-hT11cGd6RgqcpvUi .end-state-inner{fill:white;stroke-width:1.5;}#mermaid-svg-hT11cGd6RgqcpvUi .node rect{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-hT11cGd6RgqcpvUi .node polygon{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-hT11cGd6RgqcpvUi #statediagram-barbEnd{fill:#333333;}#mermaid-svg-hT11cGd6RgqcpvUi .statediagram-cluster rect{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-hT11cGd6RgqcpvUi .cluster-label,#mermaid-svg-hT11cGd6RgqcpvUi .nodeLabel{color:#131300;}#mermaid-svg-hT11cGd6RgqcpvUi .statediagram-cluster rect.outer{rx:5px;ry:5px;}#mermaid-svg-hT11cGd6RgqcpvUi .statediagram-state .divider{stroke:#9370DB;}#mermaid-svg-hT11cGd6RgqcpvUi .statediagram-state .title-state{rx:5px;ry:5px;}#mermaid-svg-hT11cGd6RgqcpvUi .statediagram-cluster.statediagram-cluster .inner{fill:white;}#mermaid-svg-hT11cGd6RgqcpvUi .statediagram-cluster.statediagram-cluster-alt .inner{fill:#f0f0f0;}#mermaid-svg-hT11cGd6RgqcpvUi .statediagram-cluster .inner{rx:0;ry:0;}#mermaid-svg-hT11cGd6RgqcpvUi .statediagram-state rect.basic{rx:5px;ry:5px;}#mermaid-svg-hT11cGd6RgqcpvUi .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#f0f0f0;}#mermaid-svg-hT11cGd6RgqcpvUi .note-edge{stroke-dasharray:5;}#mermaid-svg-hT11cGd6RgqcpvUi .statediagram-note rect{fill:#fff5ad;stroke:#aaaa33;stroke-width:1px;rx:0;ry:0;}#mermaid-svg-hT11cGd6RgqcpvUi .statediagram-note rect{fill:#fff5ad;stroke:#aaaa33;stroke-width:1px;rx:0;ry:0;}#mermaid-svg-hT11cGd6RgqcpvUi .statediagram-note text{fill:black;}#mermaid-svg-hT11cGd6RgqcpvUi .statediagram-note .nodeLabel{color:black;}#mermaid-svg-hT11cGd6RgqcpvUi .statediagram .edgeLabel{color:red;}#mermaid-svg-hT11cGd6RgqcpvUi #dependencyStart,#mermaid-svg-hT11cGd6RgqcpvUi #dependencyEnd{fill:#333333;stroke:#333333;stroke-width:1;}#mermaid-svg-hT11cGd6RgqcpvUi .statediagramTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-hT11cGd6RgqcpvUi :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}
"用户回应积极"
"用户表达需求"
"确认购买意向"
"用户同意留资"
"用户冷淡/回退"
"需求不明确/回退"
"用户犹豫/回退"
初次接触
兴趣激发
需求确认
引导留资
移交人工
2.4 RPA执行模块
对话决策最终要落到平台动作上——在评论区回复、在私信里发消息。这些操作通过RPA(机器人流程自动化)执行:
- UI自动化RPA: 模拟浏览器操作,适用于没有开放API的平台
- API编排: 通过开放接口直连平台,稳定性更高
工程上的关键设计是拟人化节奏控制:回复间隔随机化、操作频率自然化、异常自动重试——避免被平台风控系统识别为机器行为。
RPA执行模块的链路如下:
#mermaid-svg-gLJ23ofczC44zyoy{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-gLJ23ofczC44zyoy .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-gLJ23ofczC44zyoy .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-gLJ23ofczC44zyoy .error-icon{fill:#552222;}#mermaid-svg-gLJ23ofczC44zyoy .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-gLJ23ofczC44zyoy .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-gLJ23ofczC44zyoy .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-gLJ23ofczC44zyoy .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-gLJ23ofczC44zyoy .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-gLJ23ofczC44zyoy .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-gLJ23ofczC44zyoy .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-gLJ23ofczC44zyoy .marker{fill:#333333;stroke:#333333;}#mermaid-svg-gLJ23ofczC44zyoy .marker.cross{stroke:#333333;}#mermaid-svg-gLJ23ofczC44zyoy svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-gLJ23ofczC44zyoy p{margin:0;}#mermaid-svg-gLJ23ofczC44zyoy .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-gLJ23ofczC44zyoy .cluster-label text{fill:#333;}#mermaid-svg-gLJ23ofczC44zyoy .cluster-label span{color:#333;}#mermaid-svg-gLJ23ofczC44zyoy .cluster-label span p{background-color:transparent;}#mermaid-svg-gLJ23ofczC44zyoy .label text,#mermaid-svg-gLJ23ofczC44zyoy span{fill:#333;color:#333;}#mermaid-svg-gLJ23ofczC44zyoy .node rect,#mermaid-svg-gLJ23ofczC44zyoy .node circle,#mermaid-svg-gLJ23ofczC44zyoy .node ellipse,#mermaid-svg-gLJ23ofczC44zyoy .node polygon,#mermaid-svg-gLJ23ofczC44zyoy .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-gLJ23ofczC44zyoy .rough-node .label text,#mermaid-svg-gLJ23ofczC44zyoy .node .label text,#mermaid-svg-gLJ23ofczC44zyoy .image-shape .label,#mermaid-svg-gLJ23ofczC44zyoy .icon-shape .label{text-anchor:middle;}#mermaid-svg-gLJ23ofczC44zyoy .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-gLJ23ofczC44zyoy .rough-node .label,#mermaid-svg-gLJ23ofczC44zyoy .node .label,#mermaid-svg-gLJ23ofczC44zyoy .image-shape .label,#mermaid-svg-gLJ23ofczC44zyoy .icon-shape .label{text-align:center;}#mermaid-svg-gLJ23ofczC44zyoy .node.clickable{cursor:pointer;}#mermaid-svg-gLJ23ofczC44zyoy .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-gLJ23ofczC44zyoy .arrowheadPath{fill:#333333;}#mermaid-svg-gLJ23ofczC44zyoy .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-gLJ23ofczC44zyoy .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-gLJ23ofczC44zyoy .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-gLJ23ofczC44zyoy .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-gLJ23ofczC44zyoy .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-gLJ23ofczC44zyoy .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-gLJ23ofczC44zyoy .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-gLJ23ofczC44zyoy .cluster text{fill:#333;}#mermaid-svg-gLJ23ofczC44zyoy .cluster span{color:#333;}#mermaid-svg-gLJ23ofczC44zyoy div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-gLJ23ofczC44zyoy .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-gLJ23ofczC44zyoy rect.text{fill:none;stroke-width:0;}#mermaid-svg-gLJ23ofczC44zyoy .icon-shape,#mermaid-svg-gLJ23ofczC44zyoy .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-gLJ23ofczC44zyoy .icon-shape p,#mermaid-svg-gLJ23ofczC44zyoy .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-gLJ23ofczC44zyoy .icon-shape .label rect,#mermaid-svg-gLJ23ofczC44zyoy .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-gLJ23ofczC44zyoy .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-gLJ23ofczC44zyoy .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-gLJ23ofczC44zyoy :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}
无开放API
有开放API
对话决策输出
执行方式选择
UI自动化RPA
API编排
模拟浏览器操作
直连平台接口
拟人化节奏控制
评论区回复/私信发送
常见异常与处理策略
性能与边界条件
高并发场景下,系统的性能瓶颈通常集中在三个环节:意图识别、多轮对话和RPA 执行。合理的性能指标与降级策略,决定了系统在流量洪峰时是"优雅降级"还是"直接雪崩"。
性能指标参考
以下是一套在工程实践中可参考的性能基线(具体数值需结合模型选型与硬件配置调整):
- 意图识别 QPS: 分类模型路径单机可支撑 500–1000 QPS,延迟控制在 10ms 以内;大模型兜底路径受限于推理资源,通常控制在 20–50 QPS,超出的请求进入排队。
- 多轮对话响应延迟: 常规话术模板命中时 P95 延迟应低于 300ms;需要大模型生成的复杂回复,P95 延迟建议控制在 2s 以内,超过则触发降级。
- RPA 任务并发上限: 单账号建议串行执行,避免操作频率异常触发风控;单实例并发账号数建议控制在 20–50 个,超出部分进入任务队列排队。
极端情况下的降级策略
系统在极端情况下必须"有损可用",而不是"完全不可用"。核心降级策略如下:
- 大模型超时降级到规则回复: 当大模型调用超时或连续失败时,自动切换到预设的规则话术模板,保证对话不中断,同时记录上下文待大模型恢复后补全。
- RPA 队列积压处理: 当任务队列积压超过阈值时,按优先级丢弃低意向任务,优先保障高意向线索的跟进;同时降低轮询频率,避免对平台造成过大压力。
- 意图识别降级: 当分类模型与大模型均不可用时,回退到关键词匹配的兜底规则,保证基础意图识别能力不中断。
降级流程的时序关系如下:
RPA队列
规则引擎
大模型
对话引擎
用户
RPA队列
规则引擎
大模型
对话引擎
用户
#mermaid-svg-lh0hDQQEt1vmoIB6{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-lh0hDQQEt1vmoIB6 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-lh0hDQQEt1vmoIB6 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-lh0hDQQEt1vmoIB6 .error-icon{fill:#552222;}#mermaid-svg-lh0hDQQEt1vmoIB6 .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-lh0hDQQEt1vmoIB6 .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-lh0hDQQEt1vmoIB6 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-lh0hDQQEt1vmoIB6 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-lh0hDQQEt1vmoIB6 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-lh0hDQQEt1vmoIB6 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-lh0hDQQEt1vmoIB6 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-lh0hDQQEt1vmoIB6 .marker{fill:#333333;stroke:#333333;}#mermaid-svg-lh0hDQQEt1vmoIB6 .marker.cross{stroke:#333333;}#mermaid-svg-lh0hDQQEt1vmoIB6 svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-lh0hDQQEt1vmoIB6 p{margin:0;}#mermaid-svg-lh0hDQQEt1vmoIB6 .actor{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-lh0hDQQEt1vmoIB6 text.actor>tspan{fill:black;stroke:none;}#mermaid-svg-lh0hDQQEt1vmoIB6 .actor-line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);}#mermaid-svg-lh0hDQQEt1vmoIB6 .innerArc{stroke-width:1.5;stroke-dasharray:none;}#mermaid-svg-lh0hDQQEt1vmoIB6 .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333;}#mermaid-svg-lh0hDQQEt1vmoIB6 .messageLine1{stroke-width:1.5;stroke-dasharray:2,2;stroke:#333;}#mermaid-svg-lh0hDQQEt1vmoIB6 #arrowhead path{fill:#333;stroke:#333;}#mermaid-svg-lh0hDQQEt1vmoIB6 .sequenceNumber{fill:white;}#mermaid-svg-lh0hDQQEt1vmoIB6 #sequencenumber{fill:#333;}#mermaid-svg-lh0hDQQEt1vmoIB6 #crosshead path{fill:#333;stroke:#333;}#mermaid-svg-lh0hDQQEt1vmoIB6 .messageText{fill:#333;stroke:none;}#mermaid-svg-lh0hDQQEt1vmoIB6 .labelBox{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-lh0hDQQEt1vmoIB6 .labelText,#mermaid-svg-lh0hDQQEt1vmoIB6 .labelText>tspan{fill:black;stroke:none;}#mermaid-svg-lh0hDQQEt1vmoIB6 .loopText,#mermaid-svg-lh0hDQQEt1vmoIB6 .loopText>tspan{fill:black;stroke:none;}#mermaid-svg-lh0hDQQEt1vmoIB6 .loopLine{stroke-width:2px;stroke-dasharray:2,2;stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);}#mermaid-svg-lh0hDQQEt1vmoIB6 .note{stroke:#aaaa33;fill:#fff5ad;}#mermaid-svg-lh0hDQQEt1vmoIB6 .noteText,#mermaid-svg-lh0hDQQEt1vmoIB6 .noteText>tspan{fill:black;stroke:none;}#mermaid-svg-lh0hDQQEt1vmoIB6 .activation0{fill:#f4f4f4;stroke:#666;}#mermaid-svg-lh0hDQQEt1vmoIB6 .activation1{fill:#f4f4f4;stroke:#666;}#mermaid-svg-lh0hDQQEt1vmoIB6 .activation2{fill:#f4f4f4;stroke:#666;}#mermaid-svg-lh0hDQQEt1vmoIB6 .actorPopupMenu{position:absolute;}#mermaid-svg-lh0hDQQEt1vmoIB6 .actorPopupMenuPanel{position:absolute;fill:#ECECFF;box-shadow:0px 8px 16px 0px rgba(0,0,0,0.2);filter:drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));}#mermaid-svg-lh0hDQQEt1vmoIB6 .actor-man line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-lh0hDQQEt1vmoIB6 .actor-man circle,#mermaid-svg-lh0hDQQEt1vmoIB6 line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;stroke-width:2px;}#mermaid-svg-lh0hDQQEt1vmoIB6 :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}
alt
[大模型正常]
[大模型超时/失败]
alt
[队列积压]
[队列正常]
发送消息
请求生成回复
返回生成结果
触发降级,使用规则话术
返回规则回复
返回回复
提交RPA任务
按优先级丢弃低意向任务
执行RPA动作
RPA 执行层在真实环境中会频繁遇到三类异常:平台风控、接口限流、登录失效。它们不是偶发故障,而是常态,必须内建在架构里。
- 平台风控: 表现为操作被平台识别为机器行为,轻则限流、重则封号。处理策略是拟人化 + 熔断:回复间隔随机化、操作频率自然化,一旦触发风控告警立即熔断,暂停该账号的全部操作并人工介入。
- 接口限流: 表现为 API 返回 429/403 或配额耗尽。处理策略是指数退避重试 + 配额预算:按 1s、2s、4s 递增退避,同时为每个账号设置每日调用预算,超预算自动降级为排队。
- 登录失效: 表现为会话过期、Token 失效、验证码弹出。处理策略是会话保鲜 + 自动重登:定期刷新登录态,检测到失效先尝试静默续期,失败则触发重登流程并告警。
异常处理代码示例
下面是一个基于 Python 的 RPA 执行器异常处理骨架,覆盖限流退避、风控熔断和登录失效重登:
import time
import random
from dataclasses import dataclass
class RateLimitedError(Exception):
"""接口限流"""
class RiskControlTriggeredError(Exception):
"""平台风控触发"""
class LoginExpiredError(Exception):
"""登录态失效"""
@dataclass
class RetryPolicy:
max_retries: int = 5
base_delay: float = 1.0
max_delay: float = 60.0
def exponential_backoff(attempt: int, policy: RetryPolicy) –> float:
"""指数退避 + 随机抖动,避免重试风暴"""
delay = min(policy.base_delay * (2 ** attempt), policy.max_delay)
return delay + random.uniform(0, 0.5)
def execute_with_resilience(action, policy: RetryPolicy = RetryPolicy()):
"""带重试、熔断、重登的 RPA 动作执行器"""
for attempt in range(policy.max_retries):
try:
return action()
except RateLimitedError:
if attempt == policy.max_retries – 1:
raise
time.sleep(exponential_backoff(attempt, policy))
except RiskControlTriggeredError:
# 风控触发:立即熔断,停止该账号后续操作,转人工
pause_account()
raise
except LoginExpiredError:
# 登录失效:先静默续期,失败则重登
if not refresh_session():
re_login()
time.sleep(exponential_backoff(attempt, policy))
raise RuntimeError("重试次数耗尽,动作执行失败")
def pause_account():
"""熔断:暂停当前账号全部 RPA 任务并告警"""
print("风控触发,账号已熔断,请人工介入")
def refresh_session() –> bool:
"""尝试静默续期登录态"""
return False
def re_login():
"""执行重登流程"""
print("登录态失效,执行重登")
排查方法
当异常发生时,按以下顺序排查,能快速定位问题根因:
三、数据飞轮:为什么系统越用越聪明
获客智能体的长期价值来自数据飞轮:
用户交互 → 数据沉淀 → 模型微调 → 话术优化 → 更好的交互
每一次对话都是训练数据。系统记录:
- 哪些话术回复率高
- 哪些用户最终成交
- 哪些意图识别错了
这些数据回流到模型层,持续优化意图识别准确率和话术效果。这就是为什么同一套系统,用得越久效果越好——它在"学习"你的业务。
四、合规设计:为什么不能只讲技术
获客类系统部署在公域平台,合规是生死线。工程上的合规设计包括:
- 红线词库: 预先配置违规词表(绝对化用语、医疗承诺、引流词),系统自动规避
- 频率控制: 回复间隔、每日回复量都有上限,模拟真人行为
- 内容审核: 发出前过一遍内容安全模型,过滤不当表述
合规不是事后补丁,而是内建在系统架构里的基础能力。
五、行业实践中的技术选择
在公开的行业实践中,不同厂商的技术栈选择差异主要体现在:
- 模型底座: 有的基于开源模型自部署,有的基于商用大模型API(如通义千问、豆包)二次开发
- 执行层: 有的用开源RPA框架,有的自研RPA引擎
- 数据层: 有的有向量数据库和微调流程,有的只调用通用API
技术栈没有绝对优劣,关键看是否匹配自己的业务场景和合规要求。
下面从五个维度对比「开源模型自部署」与「商用大模型 API」两种技术栈的优劣:
| 模型底座 | 可基于 Llama、Qwen 等开源模型私有化部署,支持深度微调与定制,数据不出域;但需要 GPU 集群与模型运维团队,迭代升级依赖自身工程能力。 | 直接调用通义千问、豆包等商用 API,开箱即用、效果稳定,持续获得厂商能力升级;但受限于厂商的模型版本与接口能力,难以深度定制。 | 对数据敏感、有 GPU 资源与算法团队的企业优先自部署;追求快速上线、算力有限的中小团队优先用商用 API。 |
| 执行层 | 可深度定制 RPA 引擎与调度策略,与自研系统无缝集成,异常处理与降级逻辑完全可控;但需要自建执行框架,开发与维护成本高。 | 通常搭配开源 RPA 框架或厂商配套执行组件,集成成本低、上手快;但受框架能力边界限制,复杂定制需二次开发。 | 执行链路复杂、需要深度定制的场景选自研;标准化流程、追求快速交付的选开源框架 + API 组合。 |
| 数据层 | 对话数据、用户画像全部沉淀在自有向量数据库与微调流程中,数据飞轮闭环完整,隐私合规可控;但需要自建数据管道与存储。 | 数据经 API 传输,部分厂商可能留存用于模型优化,需关注数据合规条款;通常只做轻量缓存,难以形成完整数据飞轮。 | 数据资产敏感、希望构建数据飞轮的选自部署;数据敏感度低、以快速验证为主的可用 API。 |
| 适用场景 | 适合金融、医疗、政务等强合规行业,以及对话量极大、长期依赖模型能力的核心业务。 | 适合营销获客、客服辅助等对响应速度要求高、业务迭代快的场景,以及冷启动阶段快速验证。 | 核心业务与强合规场景选自部署;外围辅助与快速试错场景用 API,后续再逐步迁移。 |
| 合规成本 | 数据完全本地化,合规风险最低,但需自行承担模型备案、内容审核、安全评测等合规建设成本。 | 依赖厂商的合规能力与备案资质,接入成本低;但需评估数据出境、留存与第三方责任条款,长期合规成本存在不确定性。 | 强合规行业优先自部署以掌控合规主动权;一般行业可借助厂商合规能力快速满足要求。 |
六、小结
AI获客智能体的本质,是把"找客户—聊客户—筛客户—交人工"这条链路,用意图识别、双层漏斗、多轮对话和RPA执行四个模块自动化。它不是聊天机器人,也不是群发工具,而是一套以"目标收敛"为核心的对话决策系统。理解这四个模块各自的职责,就能判断一套系统的工程成熟度。
网硕互联帮助中心




评论前必须登录!
注册