Akke · 企微通道 · 技术图解

客户发来一句话
AI 替销售接住

客户在企业微信上给销售发消息,几十秒后收到回复——回复其实来自 AI。它用哪位销售的身份就是哪位,记得客户说过的每个数字,聊 50 轮不忘事。这页讲清楚:一条消息进来,到回复发出去,中间经过哪几站。

// 对外讲解口径 · 只讲机制,不含运营数据

云电脑 GUI 自动化 视觉模型读屏 云端大脑 · LLM 三层记忆 拟人护栏 ×10+ 全链路成本追踪
SCROLL / 向下滚动
01
Architecture · Three Stations

三站接力:眼手在云电脑,大脑在云端

企业微信官方不给「好友单聊代发」的 API,所以整条链路是像人一样操作企微客户端:一台云电脑挂着登录好的企微,看屏幕、打字;真正「想怎么回」的全在云端。

眼 + 手云电脑

Windows GUI 自动化

阿里无影 · 桌面版企微常驻

截屏发现新消息 → 让视觉模型「读」出对话 → 把云端给的回复逐字打进输入框发出去。只做输入输出,一行业务逻辑都不放这。

Python · 像素 diff + VL 读屏 + SendInput
中转Fly.io

东京中转站

国内云电脑连不上 Vercel

云电脑的出口访问不了海外部署的大脑,也访问不了大模型服务——所以两类请求都经东京的中转服务器转发,纯透传不落数据。

FastAPI · 一个 secret 换目标即可切换/回滚
大脑Vercel

回复决策引擎

记忆 · 判断 · 生成 · 落库

收到「客户说了什么」,过五道闸、拼三层记忆、判话术阶段,让 LLM 以对应销售的身份写回复,全过程留痕可追账。

Next.js · Supabase 共库 · Langfuse 全链路
分工铁律

云电脑只做「看」和「打字」,所有判断都在云端——想改话术、换模型、调规则,改云端就行,云电脑一行代码不用动。

02
Message Journey · End to End

一条消息的完整旅程

从「客户按下发送」到「客户收到回复」,七步。紫色在云电脑上发生,蓝色在云端大脑里发生。

发现 云电脑每隔 25~70 秒随机醒一次:正开着的会话盯像素变化,其它会话扫左侧红点,沉默客户由召回任务主动唤起
读屏 截屏交给视觉模型只做两件事:抄字、判左右;「哪条最新」「什么顺序」全由代码按坐标算,不让模型猜
分流 全新好友 → 打招呼;最后一条是客户 → 把他连发的几条合并成一次提问;最后一条是自己 → 什么也不做
过闸 大脑先查五道闸:是不是真客户、这句是不是已经答过、是不是自己的话术被误读回来了、这个会话是不是已转人工
回忆 拼上客户画像 + 跨渠道记忆 + 滚动摘要 + 最近 40 条对话——在抖音聊过的人,绝不再问一遍「您家多少平」
生成 判断该用培育话术还是临门话术(每轮重算),LLM 以对应销售的身份写一条「您」字口吻的单气泡回复,再清洗掉一切机器痕迹
发送 按文案长度停 5~20 秒模拟打字,逐字敲进输入框发出;真发出去了才回传确认落库,计入当日额度

// 关键设计:每一步都能安全地什么都不做——读不准、拿不稳、闸没过,宁可这轮跳过下轮再来,绝不硬发。

03
The Eye · Discover & Read

眼睛:怎么发现、怎么读

读屏是全链路最脆的一环——视觉模型会看走眼。解法不是换更强的模型,而是把容易看错的判断从模型手里拿走

通道一 · 当前会话像素侦察

正在聊的会话来新消息不会出红点,只能盯着看。两次截屏做几何差分:没变化就不劳驾大模型,变了才把变化的小块喂给它——省钱且不会漏。

通道二 · 其它会话红点巡逻

视觉模型只看左侧列表窄条找红色未读圆点,每轮最多开 3 个。带「@微信」标记的外部客户永不进抑制名单——客户消息零漏接。

通道三 · 主动出击七天召回

沉默 7 天的好友,每天派一个新话题主动唤回,连推 7 天。派单节奏由云端定时任务控制,与被动回复共用同一双手、排队不抢窗口。

读屏哲学

视觉模型只做它从不失败的事:抄字、判左右。「哪条最新」「是不是红点」「谁说的」这类容易看走眼的判断,全部交还给代码做几何计算——顺序按纵坐标排、身份按横坐标定、新旧按像素差分判。

04
The Brain · Decide & Generate

大脑:回什么、怎么回

生成回复只是最后一小步。前面先过闸、再回忆、再定话术阶段——大部分逻辑在决定「要不要回」和「以什么姿态回」

Gate · 五道前置闸没有新话就不说话

客户没说新内容不回;自己的话术被读屏误认成客户消息时认出来不接;机器人和同事账号闭麦;已转人工的会话绝不抢答,客户冷静期后主动再来才自动接回。

Stage · 话术阶段培育还是临门,每轮重算

客户话里露出「订金 / 到店 / 什么时候有空」这类决策信号就切临门话术;下一轮信号没了就退回日常培育口吻——只看客户说的话判断,不被自己的话术污染。

Persona · 身份壳客户加的是谁,AI 就是谁

每位销售一个独立身份壳,AI 代回沿用该销售的名字与口吻;不同销售的客户即使同名也各自独立记忆,绝不串号、绝不穿帮。

Sanitize · 输出清洗抹掉一切机器痕迹

剥掉模型偶尔泄漏的内部协议字节、舞台指示、「[图片]」占位标记——宁可短一点,也不能让客户看到一丝生成痕迹。配图三选一互斥,一轮只发一类。

05
The Hand · Send Like a Human

手:怎么发得不像机器人

最像机器人的从来不是文案,是节奏和失误方式。发送端所有护栏都不依赖视觉模型的判断——全是确定性代码。

Rhythm · 拟人节奏随机醒、慢慢打、只在白天

25~70 秒随机醒一次;按文案长度停 5~20 秒再打字;回复最多切 3 段不刷屏;只在 9 点到 21 点干活;每客户、每天都有条数上限。

Anti-Echo · 自问自答闸读错也回不到自己头上

自己近期发过的话存一份指纹缓存,读屏偶尔把我方消息误判成客户消息时,模糊比对认出来直接丢弃——「自己跟自己聊起来」这种事故被焊死。

Ledger · 回复台账答过的话逐行剔除

每个客户一本「已回复过什么」的台账,客户消息哪怕被拼进新一轮,也会逐行剔掉答过的部分——同一个问题绝不答两遍。

Focus Guard · 失焦中止绝不打进别的窗口

每打一段字前都校验企微还在前台,被人抢走窗口立刻停手、下轮重试;连续异常 3 次整个停机等人来看——出错时的姿态是「停」,不是「猛试」。

06
Memory · 50 Turns Without Forgetting

记忆:聊 50 轮不忘事

大模型一次只能看有限的上下文,聊久了会「失忆」——复读、重问、忘记报过的价。解法是三层记忆叠加,轮数从此没有上限

第一层 · 会话内画像硬字段确定性抽取

每次回复后,后台由代码触发把客户说的面积、预算、城市、户型等 8 个硬字段抽进画像——不指望聊天模型「自觉记笔记」,实测它不会。

第二层 · 滚动摘要窗口外的旧对话不丢

模型每轮只看最近 40 条;更早的对话按水位线增量压缩成一段 900 字内的摘要随行注入。报过的价格数字一字不差照抄,新信息压过旧信息。

第三层 · 跨渠道记忆抖音聊过的不重问

认出「企微上这位就是抖音上聊过的那位」,把历史会话的画像事实合并过来——只搬结论不搬聊天原文,既省 token 又不串味。

为什么客户最反感重问

「像个机器人」的最大投诉不是话术生硬,而是换个渠道就把您忘了。三层记忆的目标只有一个:客户说过一遍的事,永远不需要说第二遍。

07
Orbit · Scheduled Jobs

外围:五个定时任务在旁边转

实时回复链路之外,五个云端定时任务负责通知、召回和统计——不碰回复主链路,挂了也不影响回消息。

任务频率干什么
好友通过通知每 15 分钟新客户通过好友申请 → 推卡片到内部群,销售第一时间知道
加人日战报每 30 分钟某销售当日加人达到阈值 → 推战报(已通过 / 等通过 / 搜不到 / 死号)
七天召回派单每 2 小时挑出沉默好友写入召回队列,云电脑按额度取走主动发话题
抖音↔企微搭桥每天一次从抖音私信里抽手机号建索引——企微加上人后能认出「就是抖音那位」
对话漏斗日报每天一次开口 → 聊满 3 句 → 6 句 → 进临门期 → 约到店,五档漏斗推群
08
Design Principles

三条设计取向

模型只做擅长的

视觉模型抄字判左右,语言模型写话术——顺序、身份、去重、限频这些有确定答案的判断,一律交给代码。看走眼的空间被压到最小。

宁可不发,不可发错

读不准、拿不稳、闸没过——每一步都能安全地什么都不做,下轮再来。连续异常直接停机等人。错发一条的代价远大于晚回十分钟。

全程留痕可追账

每一次模型调用都有 trace,每一分成本都能算到通道和任务头上;每条 AI 回复真发出去了才落库——统计里的每个数字都对应真实发生过的事。

一句话总括:一台云电脑当眼和手,云端大脑负责,三层记忆负责——把「容易出错的判断」从模型手里拿走交给代码,把「宁可不发」焊进每一步,AI 才能长期稳定地替销售接住每一条消息。