每天早上一份自动到手的资讯简报:多源抓取 + 大模型打分筛选的流水线实践
为什么不用现成的 RSS 阅读器
RSS 阅读器解决的是「聚合」,不解决「筛选」。订阅源一多,未读数永远是三位数,点开之前不知道哪条值得看,最后的结果往往是全部标已读,等于没看。
我真正想要的是一个编辑:每天从几十条候选里挑出三五条最值得看的,附上为什么值得看的一句话,外加全文摘要让我不用点开原文就能判断要不要深读。这个编辑角色,过去只能靠人,现在可以交给大模型——前提是它背后的网关和额度都在我自己手里,调用成本几乎为零(我的自建网关后面挂着几个免费额度账号,每天有四万个免费计算单位,日常只用掉几个百分点)。
流水线长什么样
整条流水线是一个定时脚本,每天早上八点四十左右跑一次,分五步:
第一步,抓取。从导航页已经在用的四个信息源拉最新条目:两个技术社区的热门榜、一个自托管周刊、几个博客的订阅源。每个源只取最新的一批,去重后得到当天的候选池。
第二步,打分。候选条目逐条交给一个 70B 级别的模型,按「对自托管和独立开发者的参考价值」打 0 到 10 分,并给出标题的中文翻译。这一步只看标题和链接,不抓正文,便宜且快。
第三步,深摘要。只有打分达到高分线的条目才进入这一步:抓取原文全文,再让模型写一段结构化摘要——讲了什么、关键结论、对我有什么用。低分条目直接丢弃,不浪费抓取和计算。
第四步,组装。高分条目在前、次一级的简要点名,附原文链接,拼成一封简报。
第五步,双通道推送。同一份简报同时发到聊天工具和我自建的推送服务上,手机上两边都能收到,任何一条通道出问题都不耽误看。
打分校准:这条流水线真正的难点
第一版上线时我很乐观,以为让模型「按价值打分」就够了。跑了几天发现三个问题,每个都得写成硬规则压进提示词里:
第一,分数通胀。模型对大多数条目都给 7 到 8 分,等于没筛。解决办法是给满分设配额:整批候选里 9 分以上的最多两条,逼它把高分留给真正出众的内容。
第二,招聘帖混入。社区热门榜上常年混着招聘和求职帖,标题写得像技术分享,模型容易给中高分。规则很简单:识别出招聘、求职类条目,一律压到 3 分以下。
第三,标题党和情绪帖。热度高不等于价值高,争议话题的帖子互动量大,但对我没有参考价值。校准时给模型明确的价值锚点:有可复现的实践、有数据、有取舍分析的加分;纯观点输出和情绪表达的降分。
校准没有一次到位,我是拿真实跑出来的简报逐天复盘、逐条加规则的。现在的打分分布基本健康:满分罕见,高分段稳定在两三条,正好是早上能认真读完的量。
额度与延迟:只给少数条目做重活
这条流水线有个天然的成本结构:打分是轻活,几十条一起跑也花不了多少;抓全文加写深摘要是重活,单条的计算量是打分的十几倍。所以分级处理不是优化技巧,而是必需品——全量深摘要既烧额度又拖时间,简报拖到九点多才发出来就失去了「早上」的意义。
同理,模型选择也分级:打分和翻译用大模型,因为判断质量直接决定简报质量;如果哪天只是要个标题列表,小模型也够用。我的网关里模型很多,按活分派比全程用最大的更划算。
失败时降级,不断供
定时流水线最怕的是静默失败:某一步报错,整封简报消失,主人还以为今天没有值得看的内容。所以我给这条流水线定了个原则:新版流程失败时,自动降级到旧版的简单流程再跑一遍——旧版只做打分和标题摘要,没有深摘要那一步,简陋但可靠。宁可发一封简陋的简报,也不能一声不吭。
另外,简报任务本身也在我全部自动化任务的巡检范围内:该跑没跑、跑了失败,都会有单独的告警推过来。简报负责筛选信息,巡检负责盯着简报,分工明确。
总结
这条流水线跑下来,我早上刷信息的时间从二十多分钟降到了三分钟,而且是先看摘要再决定深读谁。回头看,技术选型都不复杂:定时脚本、几个订阅源、一个自建网关。真正的功夫在两处:一是打分校准,把「什么对我有价值」翻译成模型能执行的硬规则;二是失败降级,让自动化有韧性而不是有脆性。自建 AI 网关的免费额度平时闲着也是过期,把它花在这种每天都要发生的筛选上,是我目前找到的性价比最高的用法。
- 点赞
- 收藏
- 关注作者
评论(0)