很多所谓 AI 信息系统,并没有解决信息筛选问题。它们只是把人工阅读的成本,改写成了模型调用的成本。
但我想到一个问题:今日头条早在 2012 年 8 月就上线了。此后十几年,我们又在支付宝、滴滴、浏览器和无数与资讯八竿子打不着的 App 里刷到了个性化信息流。
那个没有 LLM 的时代,到底是怎么做推荐的?
每天从 500 篇 RSS 文章里,捞出和几个固定主题相关的内容。
LLM 会把它理解成一个阅读理解题:读文章、读规则、推理、输出结论。
但它其实也可以被改写成一道几何题:这篇文章,离「科技向善」这个主题有多近?
Embedding 模型会把一段文本转换成一串固定长度的数字,也就是一个向量。你可以把它想象成一台「语义坐标转换器」:文章进去,出来的是它在语义空间中的坐标。
很多人第一次认识 Embedding,是在 RAG 里看它负责召回。这一代应用开发者大多从 LLM 时代进入 AI,起点又在应用层,很容易把 Embedding 当成 RAG 的固定配件:离开知识库问答,就想不起它还能干什么。
其实只要一个任务可以改写成「比较两段东西有多像」,Embedding 就能在许多场景单独派上用场。
Embedding 本身不是分类器。真正的分类器,是「Embedding + 主题锚点(范文) + 相似度 + 阈值」这四样东西拼起来的结果。
| 维度 | Embedding 分类 | LLM 分类 |
|---|---|---|
| 核心任务 | 计算语义距离 | 阅读、推理并生成结论 |
| 输出 | 固定长度向量 | 文本或 JSON |
| 多主题成本 | 文章向量可复用,主题向量可缓存 | 主题越多,Prompt 与判断负担越重 |
| 稳定性 | 相同模型和输入下结果稳定 | 受 Prompt、采样和模型版本影响 |
| 延迟 | 编码后直接返回,适合批处理 | 需要逐 Token 解码 |
| 可解释性 | 可以看到相似度、最佳范文和阈值 | 可以生成解释,但也可能事后合理化 |
| 擅长 | 主题匹配、召回、粗筛、聚类 | 复杂规则、跨文档推理、摘要与改写 |
| 本地部署 | 小模型即可,资源要求较低 | 通常需要更大模型和更多资源 |
| 日常边际成本 | 运行时接近 0 | 每次判断都继续消耗 Token |
左右滑动查看完整表格
但只判断「像不像」时,没必要调用一个会推理、会写作、会解释的大语言模型。
本文讲的内容匹配、向量相似度、关键词检索、聚类、去重和多样性重排,更像上一代推荐系统里的边角技术:它们用于冷启动、内容召回、特征补足、重复控制和排序校正,而不是单独扛起一个今日头条。
可个人日报恰好没有平台的条件。
你没有数亿用户,没有足够密集的 用户—文章行为 矩阵,也不需要预测陌生人下一秒会不会继续滑动。你只有一个人或一小群人的订阅源、几百篇文章,以及一个更朴素的目标:把真正值得看的东西先捞出来。
在这个尺度上,推荐系统的「边角技术」已经够用了。
对从 LLM 时代才进入算法与工程世界的 Vibe Coding 一代来说,这些旧技术值得补课。Embedding、余弦相似度、BM25、n-gram、SimHash、兴趣簇、MMR、FTRL,不如大模型性感,但便宜、稳定,出了问题也知道该从哪里查。
做 Harness 时,我现在会先问一句:这一步的“智能”真的需要 AI 吗?毕竟“智能”这个词早在这一轮 LLM 爆发之前,就已经出现在几乎各类软件和家用电器里了,也许我所需要的根本不是一个 AI 级别的智能。