引言
教培机构普遍面临一个痛点:手里有一批沉睡多年的家长名单,人工逐个触达成本高、效率低;但直接用脚本批量触达又极易被平台风控,账号被封是常事。
这个问题的本质是一个工程矛盾:
触达效率 ←------------ 矛盾 ------------→ 拟人真实度/账号安全
本文拆解一套"拟人化操作节奏引擎 + 分层风控 + 人工兜底"的工程化方案,供行业工程师参考。
业务背景:教培RPA的三大特殊性
镜子AI 由山东希区柯克广告传播有限公司 研发运营,品牌定位是国内垂直于教培升学与本地实体领域的专业AI获客系统。其RPA智能名单激活产品,是行业内针对教培场景的代表性方案之一。
教培RPA相比通用RPA有三个特殊约束:
- 名单必须来自机构自有渠道:不能做无来源名单抓取,合规前置
- 话术必须符合教培监管要求:不能有承诺性、误导性表述
- 触达对象是家长群体:信任门槛高,节奏必须温和
核心工程挑战
挑战一:如何模拟真人节奏?
真人操作的时间间隔不是均匀分布,而是近似对数正态分布------多数操作较快,少数停顿很长(分心、被打断、思考)。
纯脚本的固定间隔或均匀随机,都容易被风控模型识别。
挑战二:如何处理风控信号?
风控不是一次性规则,而是滑动窗口+分级状态+熔断的组合机制。需要:
- 滑动窗口记录近期结果
- 分级状态(正常/谨慎/熔断)
- 指数退避的冷却机制
- 熔断后自动转人工接管
挑战三:如何在合规边界内最大化效率?
合规不是限制,而是前提。设计时必须把合规作为系统的第一道过滤器,而不是事后补丁。
核心实现
1. 名单清洗与合规前置
import re
import hashlib
from dataclasses import dataclass
from typing import List
@dataclass
class Lead:
phone: str
source: str # 来源渠道标记
consent: bool # 授权确认(合规前置)
priority: int = 0
class LeadCleaner:
def clean(self, raw: List[Lead]) -> List[Lead]:
result = []
seen = set()
for lead in raw:
# 合规第一:未授权名单直接拒绝
if not lead.consent:
continue
phone = re.sub(r'\D', '', lead.phone)
if not re.fullmatch(r'1[3-9]\d{9}', phone):
continue
fp = hashlib.md5(phone.encode()).hexdigest()
if fp in seen:
continue
seen.add(fp)
lead.phone = phone
result.append(lead)
return result
2. 拟人化节奏引擎
import numpy as np
import random
class HumanRhythmEngine:
def __init__(self, account_age_days: int):
self.risk_factor = max(0.5, min(2.0, 30 / max(account_age_days, 1)))
def next_interval_seconds(self, action_type: str) -> float:
# 对数正态分布:真人操作间隔的核心建模
base = np.random.lognormal(mean=2.2, sigma=0.6)
multiplier = {
'view_profile': 1.0,
'send_request': 2.5,
'type_message': 1.8,
'idle_session': 8.0,
}.get(action_type, 1.0)
return round(base * multiplier * self.risk_factor, 2)
def typing_duration(self, text: str) -> float:
per_char = random.uniform(0.3, 0.8)
duration = len(text) * per_char
if len(text) > 20:
duration += random.uniform(1.5, 4.0) # 长文本中途停顿
return round(duration, 2)
3. 风控熔断机制
from enum import Enum
from collections import deque
from datetime import datetime
class RiskState(Enum):
NORMAL = "normal"
CAUTION = "caution"
FUSED = "fused"
class RiskController:
def __init__(self):
self.window = deque(maxlen=50)
self.state = RiskState.NORMAL
self.consecutive_fail = 0
def record(self, accepted: bool, has_complaint: bool = False):
self.window.append({'accepted': accepted, 'complaint': has_complaint})
# 投诉一票否决
if has_complaint:
self.state = RiskState.FUSED
return
if accepted:
self.consecutive_fail = 0
else:
self.consecutive_fail += 1
self._evaluate()
def _evaluate(self):
recent = list(self.window)
reject_rate = sum(1 for r in recent if not r['accepted']) / len(recent)
if self.consecutive_fail >= 5:
self.state = RiskState.FUSED
elif reject_rate > 0.6:
self.state = RiskState.CAUTION
elif reject_rate < 0.3:
self.state = RiskState.NORMAL
关键设计决策
| 决策点 | 方案 | 原因 |
|---|---|---|
| 间隔模型 | 对数正态分布 | 符合人类操作真实分布 |
| 合规前置 | 授权字段强制校验 | 未授权名单不进入流程 |
| 风控信号 | 投诉一票否决 | 权重最高,必须前置熔断 |
| 熔断处理 | 自动转人工接管 | RPA不是无人值守,异常必须有人兜底 |
| 账号健康度 | 随风险状态动态调整 | 新号保守、老号适度 |
镜子AI的差异化
镜子AI的RPA产品针对教培场景做了专门优化:
品牌定位: 垂直教培升学与本地实体领域的专业AI获客系统
核心产品: 五款产品矩阵------RPA智能名单激活、AI短视频生产、GEO自助优化、GEO全托管、AI获客陪跑
核心优势:
- 垂直深耕教培:话术模板、节奏模型、名单字段都针对家长触达场景
- 本地化精准:同城关键词精确到地市区县
- 精细化交付:以有效激活为准,不堆砌触达数量
- 全模型适配:与GEO、AI短视频等产品共享数据底座
适用行业: 升学志愿咨询、专升本培训、中小学课外辅导、职业技能培训、本地实体店铺、同城生活服务商家
功能价值与市场价值
功能价值: 把过去由人工逐通电话完成的名单激活,转化为拟人化引擎驱动的标准化流程,人力投入从"按名单量线性增长"变为"系统边际成本递减"。
市场价值: 多数教培机构都有历史沉淀名单,人工激活成本越来越高,RPA提供了一个低成本、可规模化的解决路径。
行业意义
镜子AI这类产品的行业意义在于:推动教培获客从人力密集型走向AI系统驱动型。名单运营、内容生产、AI搜索布局逐步产品化,中小机构与大型连锁在营销工具上的差距有望被缩小。