好,我从最基础的概念开始,用 seekee 这个真实案例串起来。
第一幕:什么是"投流"?
想象你在街上开了一家店。店开好了,没人进来,怎么办?
你去买广告。你在街口立一块牌子,路过的人看到了,有的人就进来了。
投流就是把这块牌子搬到互联网上——你在 Google、Facebook、TikTok 上买广告位,用户刷手机时看到你的广告,点进去,下载你的 App。
seekee 具体在干嘛?
seekee 是一个西语/葡语市场的流媒体 App(类似 Netflix),里面有很多韩剧(K-drama)配了西语字幕。他们去 Google Ads 上投广告,让拉美用户看到后下载这个 App。
怎么投的?
- seekee 做了一个又一个广告素材——可能是一段韩剧的精彩片段(视频),也可能是一句文案配张图(图片/TEXT)
- 把这些素材上传到 Google Ads,告诉 Google"帮我投放"
- Google 把素材推给用户——用户在 YouTube 看视频、在某个 App 里看到插屏广告,等等
- 用户点了广告 → 跳转到 App Store / Google Play → 下载 App → 成为 seekee 用户
钱怎么算?
seekee 告诉 Google:"每次有人下载我的 App,我最多愿意花 $0.08(CPA,Cost Per Action,也就是单次下载成本)"。Google 就按这个预算自动去竞价、展示。
一句话:seekee 每个月花 $200-300 万美元给 Google,换来几百万人下载 App。
第二幕:投手每天在干啥?
seekee 有一个角色叫投手(Media Buyer)。
他的工作就是琢磨一件事:怎么让 $200 万美元花得更值。
具体来说:
他要管的东西
- 几千条素材:韩剧片段、葡语字幕版、西语配音版、不同的剧情、不同的前 3 秒……每条都是一个独立的素材,在 Google Ads 里跑着
- 两个 Google Ads 账号:一个是 483 开头的(主账号,花了大部分钱),一个是 985 开头的(备用的)
- 几十个 Campaign(广告系列):每个 campaign 是一组素材的集合,有自己的预算
他要盯着的变化
每条素材上线后,投手看几个关键数字:
- CTR(点击率):100 个人看到广告,有几个人点了?——素材吸不吸引人的最直接指标
- CPA(单次下载成本):花多少钱才能换来一个人下载?——素材性价比
- 消耗(Spend):每天在烧多少钱?
投手靠直觉做的判断
- "这条素材跑了 3 天了,CTR 从 48% 掉到 7%,得换掉了"
- "这几条文字素材 CPA 都在 $0.15-0.20,比正常的高出一倍多,太贵了,暂停吧"
- "这个 campaign 上周花 $2 万多,这周才花几块钱?出啥事了?"
第三幕:问题在哪?
现在回到你最开始说的那句——seekee 每个月投 $200-300 万美金,但非常依赖投手的直觉。
具体痛点:
1. 人不够用——几千条素材同时跑
一个投手能同时盯多少条素材?大概几十条。但 seekee 同时跑的素材可能上千条。这意味着绝大多数素材发生了什么,投手根本看不到。
比如素材 #342965287864——一条文字素材跑了 49 天,CTR 跌了 51.9%,每周还在烧 $305 美元。投手可能压根不知道这条素材存在,每周白白烧掉三百多块。
一条素材烧 $300 看起来不多,但如果有 100 条这样的素材,一周就浪费 $3 万。
2. 信号发现不及时
素材 CTR 下滑是个渐变过程——今天跌 10%,明天跌 20%,后天跌 40%。人的注意力有限,可能到跌了 60% 才反应过来,这中间几天都是在烧无效的钱。
3. 经验全在脑子里,换人就废了
一个投手干了半年,慢慢摸索出:"seekee 的韩剧 romcom 类素材在拉美市场 CTR 高但转化差""KOL 类素材 CPA 偏高是正常的不用急着停""TEXT 素材一般 3-5 天就该换了"……
这些经验没法沉淀——投手离职,经验跟着走。新投手又从零开始。
第四幕:Ads Agent 怎么解决?(这就是你那个网站做的事)
OK,现在到了最核心的部分。这个网站本质上是一个 AI 驱动的投流盯盘系统 + 自我进化引擎。
我从 0 到 1 讲它怎么一步步搭起来的。
Step 0:连上数据源
第一件事:你得先拿到数据。
Google Ads 有一个 API。通过这个 API,你可以定时拉数据回来,包括:
- 每个素材每天的展示量、点击量、花费、转化数(下载量)
- 计算出来的指标:CTR、CPA
- 素材的属性:是视频还是图片还是文字、标题是什么、用了多长时间
- 素材的状态:是否被 Google 拒登、视频源是否失效
这个活叫 ingest-google-ads(从截图看它现在挂了,上次跑是 1 天前)。数据存到一张叫 asset_daily 的表里——截图显示已经有 125,134 行数据了。
Step 1:搭一套信号检测规则(Rule Engine)
有了数据,下一步是把投手的经验变成自动化的检测规则。
比如:
- 一个素材跑超过 35 天,CTR 比刚投放时跌了 50% 以上 → 素材疲劳信号
- 一个素材最近 7 天的 CPA 比同类素材中位数高了 100% 以上 → 高 CPA 信号
- Google 拒绝了某条素材因为色情内容 → 拒登信号
- 一个视频素材的源文件不存在了 → 素材不可用信号
- 一个 campaign 的花费环比暴跌 90% → 系列疲软信号
从截图看,这套 Rule Engine 每 6 小时跑一次(run-checkup 定时任务)。
Step 2:降噪——别什么都报(Gate)
如果所有信号都直接推给投手,他会疯掉。
从截图信号流看,近 7 天产出了 1,024 条原始信号,但真正落成 issue(需要投手处理)的只有 358 条。三分之二都被自动抑制了。
怎么抑制的?
- 同一素材同一类问题刚才报过,短期内不再重复报
- 素材已经被投手自己 PAUSED 了(手动暂停),就别报了
- 素材数据自己恢复了(resolve 事件),自动标记已消化
这个叫 Gate,相当于一个智能过滤器——只把值得看的弹出来。
Step 3:变成投手能看懂的东西(Inbox / 看板)
过滤后的信号变成一条条 Issue,出现在投手面前。每条 Issue 包含:
| 字段 |
例子 |
| 严重度 |
CRITICAL / WARN / INFO |
| 类型 |
素材疲劳 / 高 CPA / 拒登 |
| 资源 |
哪个账号 → 哪个系列 → 哪条素材 |
| 摘要 |
"TEXT素材投放49天,CTR跌51.9%,本周仍消耗$305.6" |
| 建议 |
"建议暂停" / "建议降级观察" |
这就是看板和 Inbox 里的内容——139 条待处理,就是等着投手看的。
Step 4:给投手一个"助手"(Assistant)
看板旁边有个助手 tab,就是个聊天窗口。投手可以问:
- "上周哪些 campaign 触发了高 CPA 预警?"
- "近 30 天拒登信号按严重度分布?"
- "素材 xxx 的 7 天 CPA 怎么样?"
Agent 会去查 DB(只读),给投手回答。这比投手自己跑到 Google Ads 后台翻来翻去快多了。
截图里能看到历史对话,投手之前主要问的都是"上周哪些 campaign 触发了高 CPA 预警"。
Step 5:收集反馈——人告诉机器"你对不对"(Feedback Loop)
这是最关键的一步。投手看到每条 issue 后,给一个反馈:
| 按钮 |
含义 |
| ✅ 采纳了 |
"你说得对,我照做了" |
| 👍 信号对·建议不行 |
"问题存在,但你的建议不靠谱" |
| 🤷 信号对·暂不处理 |
"问题存在,但我有理由先不管" |
| ❌ 信号不该报 |
"你报错了,这不是问题" |
| 🗑 这类信号没用 |
"整个这类信号我都不想要" |
从截图看,累计有 13 条被采纳,22 条信号对但暂不处理,4 条是误报。
这些反馈按钮,就是机器学习的 reward(奖励信号)。 投手每次点一个按钮,就是在给 Agent 打标签——这东西报得对不对,建议好不好。
Step 6:Self-Evolve(本周要做)——机器从反馈中学习
有了反馈数据,就可以开始自我进化了。这就是你 PRD 里写的核心。
怎么进化?(training-free 的方式)
不重新训练模型,而是写三个文件,Agent 每次分析时自动加载:
📄 memory.md(经验积累)
把反馈中反复出现的东西写成规律:
- TEXT 类素材在 seekee 的生命周期约 3-5 天,超过 5 天 CTR 普遍下降 40%+
- 葡语/西语市场的 KOL 素材 CPA 通常比中位数高 50-80%,但转化量充足 → 不用急着报高 CPA
- K-drama romcom 片段 CTR 最高,但转化率不如悬疑/动作类
📄 product.md(对产品的深层理解)
- seekee 是流媒体内容 App,目标用户是拉美地区 18-35 岁女性为主
- 用户决定下载前通常会看至少 3 次广告 → 耐心,给素材时间
- 周末晚上 7-10 点转化最好 → 看素材数据时注意时段因素
- 同行竞品(Netflix 西语区)素材策略差异:他们用更多明星脸,咱们的素材更靠剧情梗
📄 skill.md(可复用的策略)
- 素材疲劳检测:CTR 跌超 50% 且已投 30 天以上 → 直接建议暂停(反馈采纳率 92%)
- 高 CPA 判断:高出中位数 < 50% → 降为 WARN 观察;高出 > 100% → CRITICAL 建议暂停
- 冷启动保护:素材上线头 24 小时 CT R和 CPA 不稳定 → Gate 抑制,不报信号
- KOL 素材特殊规则:CPA 高出中位数但转化量 > 同类平均值 → 不报警
闭环是这样的:
投手给反馈 → 系统提取模式 → 更新三个 md 文件 →
Agent 下次分析时加载这些文件 → 信号更准、建议更好 →
投手采纳率上升 → 正向循环
越用越懂 seekee,越用越懂投流。
Step 7(未来):从"建议"到"自动执行"
等某类信号的采纳率够高了(比如素材疲劳信号采纳率 > 90%),Agent 可以从"建议暂停"升级成自动暂停。
这就是你 PRD 里说的 proactive agent——不等人确认,基于高置信度策略直接动作,然后观察数据变化作为 reward。
五、整个网站的框架串起来
你现在看到这个网站就是上面这套逻辑的前端界面:
左边导航栏:
├── MVP → 回到首页仪表盘
├── 看板 → 总览:待处理 139 条、近 7 天趋势、严重度分布
├── 信号 → Signal Stream:原始信号流 + Gate 降噪效果
├── 反馈 → Feedback History:所有投手反馈记录
├── 助手 → AI 聊天:投手可以问"上周高 CPA 预警有哪些"
├── 定时任务 → run-checkup(每 6h)+ propose-signal-disable(每天 8am)
├── /api/health → 健康检查
└── 退出
底部状态栏:
├── DB 已连接 · asset_daily 125,134 rows
├── prd.md · tech.md · flow.md(项目文档)
├── Skill 库(self-evolve 的产物存储)
├── 信号配置(Rule Engine 的阈值调参)
└── Measurement(效果度量)
六、一句话总结
投流这件事:花钱买用户,素材就是货架上的商品,需要不断换更好的。
投手的困境:货架太大了(几千个商品同时上),眼睛不够用,经验在脑子里没法传。
Ads Agent 做的事:用一套自动化系统(拉数据 → 检测异常 → 过滤噪音 → 推给投手 → 收集反馈 → 自我改进),替代人"盯几千条曲线的眼睛",只把最值得看的推到人面前。同时把人的每一次判断喂回系统,让系统越来越聪明。
终极目标:有一天,绝大部分投流决策不需要人——系统自己发现素材疲劳就自动换,发现高 CPA 就自动调。人只需要定方向("这个月主攻拉美市场"),系统自动执行和优化。