North Star — 这个系统在干什么¶
这是 retaintive 的产品本质 / 长期方向定义。所有 repo / 设计 doc / phase 计划都围绕这一段展开。
如果你只读 1 份 doc,读这份。 其他 system-design doc 是这一份的展开。
Updated: 2026-04-25
一句话¶
retaintive 是给所有用电话 + 短信做客户运营的连锁服务业(健身房、连锁按摩店、连锁警务、任何依赖语音通话+短信跟客户打交道的连锁机构)的 AI 客户运营系统。
把客户在所有通道(电话、短信、网上 lead、未来更多)留下的痕迹全自动汇到一个人身上,AI 看完所有信息后自动决定该让员工做什么 — 该跟进的 lead、该续费的会员、该挽留的流失、该接住的转介绍,全部自动开成任务。
员工不挖数据、不判断、只执行。
这套系统存在的目的 — 两件事,一体两面¶
1. 抓住客户身上每一个赚钱机会¶
每个进系统的客户身上,都有可能转钱的点。靠人工记忆 / 翻通话记录 / 翻短信 拼出来这些点 = 大量漏掉。
AI 替老板替员工把这些点全部抓住,不漏:
- 该跟进的 hot lead(刚问完价格还没决定)
- 该接住的预约转化(订了试课但没到的)
- 该提醒的续费(合约快到期的)
- 该挽留的流失风险(投诉过 / 不来上课 / 提取消的)
- 该接住的转介绍机会(满意会员说朋友也想来)
- 该召回的流失会员(之前停了想回来的)
- 该升级的现有会员(在问更高级套餐的)
2. 把员工的时间、精力、老板的钱用在该用的地方¶
员工 1 小时是有成本的。让员工花时间挖数据、翻记录、判断"这个客户该做啥" = 浪费。这些事 AI 能做。
让员工花时间在只有人能做的事上:打那个电话、聊那次试课、维系那段关系、解决那个投诉。
老板的钱用在 "客户 conversion + retention" 上,不用在养"专门做数据整理判断的人"上。
怎么做到的 — 全自动 AI Pipeline¶
不靠员工录入,不靠员工分类,不靠员工判断。所有信息进系统的瞬间,AI 就开始工作:
客户打电话 ─────► 录音存 S3 ────► AI 转录(Deepgram)─────┐
客户发短信 ─────► RC webhook ────────────────────────────┤
客户填 lead 表 ──► IMAP 邮件抓取 ─────────────────────────┤
▼
┌─────────────────────┐
│ AI 分析层(多个 │
│ analyzer 围着客户 │
│ 转) │
├─────────────────────┤
│ • 单通电话分析 │
│ (33 个 AI 字段) │
│ • 客户级综合分析 │
│ (拉客户全部历史) │
│ • 任务决策 │
│ (9 种 task type) │
└──────────┬──────────┘
│
▼
┌──────────────────────┐
│ 自动开/关/改任务清单 │
│ → 员工只看清单执行 │
└──────────────────────┘
核心引擎是多个 AI analyzer,不是单一 Lambda。围着每个客户转:
| Analyzer | 职责 |
|---|---|
transcribe-processor |
录音 → 文字 |
ai-analysis-processor |
单通电话 → 33 个 AI 字段(分类 / 情绪 / 意图 / 跟进类型...) |
contacts-analyzer |
一个客户全部历史(通话 + 短信 + lead + 现有任务) → AI 决策(开/关/改任务) |
message-processor |
短信进来 → 关联到客户 + 触发分析 |
lead-tracking poller |
lead 邮件 → 解析 → 关联客户 + 触发分析 |
每个 analyzer 都用 AI(OneRouter 路由 Grok 4.1 Fast Reasoning + DeepSeek V3.2,fallback 到 AWS Bedrock;转录用 Deepgram Nova-2-phonecall)。不是规则引擎,是 AI 决策引擎。
9 种任务类型 — 系统怎么把"赚钱机会"落地¶
AI 看完客户信息后,会做以下 9 种任务决策之一(或组合):
抓机会类(7 种):
| 任务类型 | 干啥 |
|---|---|
lead_outreach |
新 lead 第一次接触 |
lead_follow_up |
跟进还没转化的 lead |
booked_not_converted |
订了试课但没到 / 没转化的接住 |
upgrade |
现有会员有升级兴趣 |
renewal |
合约快到期续费 |
referral |
满意会员转介绍接住 |
win_back |
流失会员召回 |
止损类(2 种):
| 任务类型 | 干啥 |
|---|---|
cancellation_risk |
有取消意向的会员预警 |
retention |
挽留中(投诉 / 不满 / 服务问题处理) |
每一种都对应一个具体的赚钱点或止损点。AI 决定哪种 + 优先级(low / medium / high)+ 写出员工该做什么(suggestedActions)。
当前落地¶
现在跑的客户: OrangeTheory(健身房连锁,13 家店 / 8 个 RingCentral 账号 / 78 个电话号码)。
架构是通用的 — 系统 schema / Lambda / API 不绑定健身房。换成连锁按摩店 / 连锁警务,只要客户运营靠"电话+短信+lead 邮件",同一套系统能复用。当前产品的术语(member / class / franchise)是按 OrangeTheory 业务习惯填的,不是架构限制。
未来扩展(笼统提一下,具体方向后续填)¶
还会引入更多 AI 方式深化"抓机会 + 省力气"这两件事。可能的方向:
- 更精准的 lead scoring(每个 lead 的"赚钱可能性"打分,不只是规则)
- 更主动的 outbound 建议(AI 写出该说什么,不只是"该打谁")
- 跨客户群体分析(哪些 cohort 流失风险高 / 哪些行为预示流失)
- 更多通道接入(WhatsApp / 微信 / web chat / 视频通话 / 上门数据)
- 客户行为预测(转化概率 / 流失时间窗 / LTV 预测)
具体哪些做、按啥顺序做、为啥做 — 以后填这一段。
相关 doc(从顶到底)¶
- 这份 — 产品本质 / 北极星(为啥做)
backend-data-pipeline.md— 5 条数据线路怎么流(技术怎么做到)identity-fields.md— 8 identity 字段速查 + crosswalk(userId / storeid / accountid / franchise_id / ...)store-level-isolation.md— 店级数据隔离设计(终态)— 隔离改造 4 步走 已 archive(2026-04-26 phase 全 ship 完),如需追溯看store-id-migration-rollout.mddocs/archive/store-id-migration-rollout.mdwrite-matrix/index.md— 谁写哪张表哪个字段(实现契约)feature-map.md— 前端用户能看到什么(交付的功能)- 测试设计文已搬到 callytics-infrastructure repo(测试跟代码同 repo)
Updates — append-only¶
(后续产品本质 / AI 实现方式 / 落地客户 有变化时加新段)