
1. 一份日报的诞生从信息洪流到结构化输出每天早上七点我的手机里会准时弹出一条自己写的脚本推送——一份名为“AI日报”的Markdown文件。它不是什么大厂出品也没有编辑团队就是一个人、一台常年不关的迷你主机、几个定时任务加上一套我打磨了快两年的信息筛选逻辑。2026年10月1日这一期恰好是这套系统跑满第600天的节点我想借这个日子把整套“个人AI日报”的生产流程完整拆一遍。先说清楚它是什么。这份日报每天固定包含五个板块模型与产品动态、开源项目速览、行业落地案例、值得读的长文/论文、以及一条“今日冷思考”。每条内容都带来源链接和一句话点评总长度控制在1500字以内手机上一屏能扫完。它解决的问题很具体AI领域信息过载公众号、社交平台、论文库、代码托管平台每天产出海量内容靠人工刷根本刷不完而且刷到的往往是二手甚至三手信息。适合谁来参考任何想用最低成本维持行业信息敏感度的开发者、产品经理、独立研究者哪怕你只会一点Python和cron都能照着搭一套自己的版本。我见过太多人做“信息聚合”最后变成“信息垃圾场”——抓一堆RSS往群里一丢没人看。区别在于日报的核心不是“抓取”而是“筛选”和“压缩”。抓取是体力活筛选才是脑力活。下面我按实际搭建顺序把每个环节的取舍逻辑、踩过的坑、以及2026年当下还适用的方案一条条讲透。2. 信息源分级为什么我只留了11个入口2.1 从“越多越好”到“少而准”的转变刚开始做的时候我恨不得把能找到的AI相关RSS全塞进去最多的时候有60多个源。结果是什么每天抓回来300多条光去重和扫标题就要花40分钟而且大量内容重复——同一个模型发布十几家媒体转同一篇通稿。后来我做了一次大砍按“一手性”和“信噪比”两个维度给所有源打分只留下11个。一手性指的是这个源是原始发布方还是二手转述比如模型发布官方博客和代码仓库是一手科技媒体是二手社交平台上的转发是三手。信噪比指的是这个源里有多少比例的内容是真正值得看的有些聚合站一天推50条可能只有2条有用信噪比极低。我最终保留的11个入口大致分四类官方发布渠道3个、代码托管平台趋势榜2个、高质量论文列表2个、垂直领域深度博客4个。注意这里我没有列具体平台名因为平台会变但分类逻辑是稳定的。你可以按这个框架去替换自己领域里的对应源。2.2 每个入口的抓取策略差异不同源的结构不一样抓取方式也得区别对待。官方博客通常有标准RSS直接订阅最省事代码托管平台趋势榜没有RSS得走API或者页面解析论文列表有邮件订阅但邮件解析麻烦我改用了一个轻量的列表页抓取。这里有个关键细节抓取频率不要一刀切。官方博客一天更新一次你每小时抓一次就是浪费趋势榜变化快可以每两小时抓一次论文列表每天固定时间更新一天抓一次足够。我早期所有源都设成每小时抓结果被某个源限流封了IP排查了半天才发现是频率问题。后来改成差异化频率稳定跑了快两年没再出过事。提示抓取频率的设置原则是“源更新频率的1.5倍左右”。比如某源平均6小时更新一次你就设9小时抓一次既不会漏也不会给对方服务器造成压力。2.3 去重与合并的实操细节11个源抓回来去重是必须的。我的去重分两层第一层是URL精确去重这个简单用集合就行第二层是标题相似度去重因为同一件事不同源的标题措辞不同但说的是同一件事。标题相似度我用的是简单的字符级Jaccard相似度阈值设在0.6。实测下来这个阈值能过滤掉大部分重复又不会误杀。比如“某模型发布新版本”和“某模型迎来重大更新”相似度大概在0.5左右不会被合并但“某模型发布新版本”和“某模型新版本正式发布”相似度0.75以上会被合并。合并时保留一手性最高的那个源的链接。这里有个坑中文标题和英文标题的相似度计算不能直接用字符Jaccard。我一开始没注意导致中英文报道同一件事时去重失效。后来加了一个判断如果两个标题的语言不同就先做关键词提取用关键词重合度来判断。这个改动让去重准确率提升了不少。3. 筛选逻辑日报的灵魂不在抓取在“砍”3.1 三层过滤漏斗的设计抓回来去重之后每天大概还有80到120条。我的目标是最终留下8到12条。这中间要经过三层过滤。第一层是硬规则过滤用关键词黑名单和白名单。黑名单比如“招聘”“课程广告”“活动报名”这类明显不是资讯的内容直接扔掉。白名单是必须保留的比如“开源”“发布”“论文”“融资”这些信号词。这一层能砍掉大概40%。第二层是来源权重排序。每个源有一个权重分一手源权重高二手源权重低。同一事件如果一手源已经收录二手源的条目直接降权或丢弃。这一层再砍掉30%左右。第三层是人工规则轻量模型打分。这一步是最关键的。我训练了一个很小的文本分类模型输入是标题加摘要输出是一个0到1的“值得读”分数。训练数据是我过去一年手动标注的——每天从候选里标出“必读”“可读”“不读”三档积累了大概8000条标注。模型不大用字符级特征加一个简单的全连接网络就够了推理速度极快。3.2 为什么不用大模型做筛选你可能会问2026年了为什么不直接调一个大模型API来做筛选我试过效果确实好但有两个问题。一是成本每天100条候选每条都要调一次一个月下来费用不低二是延迟大模型推理有延迟日报是定时任务延迟会导致整个流程拖长。小模型在本地跑毫秒级出结果成本几乎为零。当然小模型也有局限。它只能做粗筛不能做深度理解。所以我的策略是小模型负责把候选从100条压到20条然后我自己花5分钟扫一眼这20条手动挑出最终的8到12条。这5分钟的人工介入是日报质量的最后一道保障也是我认为目前AI还替代不了的部分。3.3 打分模型的迭代记录这个打分模型我迭代了四个版本。v1是纯规则准确率大概60%v2加了TF-IDF特征到72%v3换成字符级神经网络到81%v4加了来源权重作为额外特征到86%。86%是什么概念就是100条候选里有86条的打分和我的判断一致。剩下14条的不一致大部分是边界情况比如某个冷门但重要的论文模型给分低了我手动捞回来。这里分享一个经验标注数据比模型结构重要得多。我试过换更复杂的网络结构提升不到2个点但持续标注了两个月新数据提升了5个点。所以如果你也想做类似的筛选系统先把标注流程跑起来模型用什么反而不急。4. 日报的组装与排版让人愿意读下去4.1 五个板块的固定结构筛选出最终条目后组装成日报。我的日报固定五个板块顺序也是固定的模型与产品动态、开源项目速览、行业落地案例、值得读的长文/论文、今日冷思考。为什么顺序固定因为读者的阅读习惯是固定的。早上扫日报的人最关心的是“昨天发生了什么大事”所以模型与产品动态放最前面。开源项目速览是给动手派看的放第二。行业落地案例是给产品和管理岗看的放第三。长文和论文需要深度阅读放第四读者可以收藏了慢慢看。最后的冷思考是我自己写的一句话点评放在最后算是个人色彩。每个板块内部的条目也有固定格式标题加链接加一句话点评。点评不超过50字只说我为什么觉得这条值得看不重复内容本身。比如“这个开源项目的亮点在于把推理成本压到了原来的三分之一代码很干净适合直接拿来改”。4.2 排版上的几个小心机排版这事看着小但直接影响阅读完成率。我试过纯文本、Markdown、HTML邮件三种格式最后选了Markdown因为它在手机和电脑上都能渲染得不错而且方便我直接存成文件归档。几个具体做法板块之间用分割线隔开视觉上清晰每条内容的标题加粗链接用行内代码格式包起来这样在有些渲染器里会显示成可点击的样式点评用引用块和正文区分开。另外我刻意控制了每段的长度手机上一屏大概能显示三到四条不会让人有“刷不到头”的疲惫感。还有一个细节日报的标题格式。我用的是“AI日报年月日”没有花哨的修饰。为什么因为归档的时候按文件名排序日期格式统一找起来方便。我见过有人用“今日AI速览”“AI大事记”这种标题归档后排序乱七八糟想找某一天的得翻半天。4.3 推送渠道的选择日报生成后怎么送到我手上我试过三种方式邮件、即时通讯机器人、静态网页。最后保留的是即时通讯机器人加静态网页双通道。机器人推送一条摘要加链接点链接跳到静态网页看全文。这样既不会在聊天窗口刷屏又能随时回看。静态网页我用的是最简方案生成一个HTML文件扔到一台低配云主机上用Nginx托管。整个页面没有JavaScript纯静态加载速度极快。归档页面按月份分目录方便回溯。这套方案跑了一年多除了偶尔忘记续费主机没出过问题。注意如果你也打算用云主机托管静态页面记得设置好缓存策略。日报页面每天更新但历史页面不变所以可以对历史页面设长缓存对当天页面设短缓存。这个细节能显著降低主机负载。5. 定时任务与容错让系统自己跑起来5.1 任务编排的实际方案整套流程我用的是最朴素的方案一个主脚本加cron定时任务。主脚本按顺序执行抓取、去重、筛选、组装、推送五个步骤每个步骤的输出存成中间文件方便出错时排查。为什么不用Airflow或者类似的编排工具因为我的场景太简单了就一条流水线每天跑一次用不上复杂的依赖管理和重试机制。cron加一个shell脚本足够而且出问题时排查链路短一眼就能看出是哪一步挂了。cron的设置是每天早上六点触发主脚本六点半之前完成推送。实测下来整个流程跑完大概需要8到12分钟主要时间花在抓取和模型推理上。如果某天某个源响应慢可能会拖到15分钟但从来没超过六点半。5.2 常见故障与处理跑了600天遇到的故障大概分三类。第一类是源站结构变化。某个源改了页面结构解析规则失效抓回来是空数据。这种故障最隐蔽因为脚本不会报错只是某天的日报里少了那个源的内容。我的应对方法是加了一个“源健康检查”每次抓取后统计每个源返回的条目数如果连续两天为0就发告警提醒我去检查。第二类是网络超时。某个源响应慢或者临时不可达导致整个流程卡住。我的处理是给每个抓取请求设了超时时间超时后跳过该源继续跑后面的。日报里会标注“今日某源未获取到内容”不影响整体。第三类是模型推理异常。有一次小模型文件损坏推理时直接报错整个筛选步骤挂了。后来我加了一个降级逻辑如果模型推理失败就退回到纯规则筛选虽然质量下降但至少日报能出来。5.3 数据归档与回溯每天的日报我除了推送还会存一份Markdown源文件和一份HTML文件按“年/月/日”的目录结构归档。归档的意义在于回溯。比如我想查某个模型是什么时候发布的直接搜归档目录就行比在网上搜快得多。归档还有一个好处可以定期做复盘。我每个月会花半小时翻一遍这个月的日报看看哪些条目当时觉得重要、现在看其实一般哪些当时漏掉了、后来发现很重要。这个复盘反过来优化我的筛选规则和源权重。600天下来这套系统就是这么一点点磨出来的。6. 600天跑下来的几点真实体会6.1 自动化解决的是“量”人工解决的是“质”这套系统最大的价值不是帮我省了多少时间而是帮我建立了一个稳定的信息输入节奏。以前是想起才刷刷到什么算什么现在是每天早上固定接收一份经过筛选的摘要信息摄入变得规律且可控。但我也很清楚它的边界。自动化能处理的是“从100条里挑出20条”这种量的工作但“从20条里挑出10条”这种质的判断还是得靠人。我试过完全自动化结果日报里混进了不少标题党或者低质内容阅读体验直线下降。所以我现在的心态是把机器当助手不当替身。6.2 筛选规则要跟着领域变化走AI领域变化快半年前重要的信号词现在可能已经过时了。比如“大模型”这个词2024年还是热词2026年已经成了基础设施不再是一个值得单独标注的信号。我的白名单和黑名单大概每季度会调整一次模型也会用新数据重新训练。这里有个经验不要追求一劳永逸的规则。我见过有人想设计一套“永久有效”的筛选规则结果三个月后就失效了。正确的做法是接受规则会过时然后建立一个低成本的迭代机制。我的迭代成本很低改几个关键词、重新标注一两百条数据、跑一次训练半天就能完成。6.3 日报的“个人化”是它最大的竞争力市面上有很多AI资讯聚合产品功能比我这个强大得多。但我的日报有一个它们没有的东西它完全按我的口味筛选。我知道自己关心什么、不关心什么模型也是按我的标注训练的。这种个人化的匹配度是通用产品做不到的。所以如果你也想做类似的东西我的建议是不要追求大而全先想清楚你自己最关心哪三类信息然后围绕这三类去建源、定规则、训模型。小而准比大而全有用得多。6.4 一个具体的冷启动建议如果你现在想从零开始搭我建议第一周先别写代码。拿一个记事本每天手动记录你刷到的AI资讯记下来源、标题、以及你为什么不读或为什么读。记一周你大概就能看出自己的信息偏好和常用来源。第二周再开始写抓取脚本这时候你已经有明确的源列表和筛选直觉了写出来的规则会靠谱得多。直接上来就写代码的人往往抓了一堆自己根本不看的内容跑几天就放弃了。先手动跑通流程再自动化这个顺序不能反。6.5 关于“冷思考”板块的坚持日报最后一个板块“今日冷思考”是我每天花时间最多的部分。它不是资讯是我对当天某条内容的一句话延伸思考。比如某天看到一个新模型发布我会写一句“这个模型的定价策略值得注意它把推理成本压到了竞品的一半可能会引发一轮价格调整”。这种思考不追求正确只追求真实——是我当下真实的反应。600天下来这个板块成了日报里我最珍视的部分。翻回去看能清晰看到自己对行业的认知是怎么一步步变化的。如果你也做日报我强烈建议加一个类似的个人化板块哪怕只有一句话。它会让你的日报从“信息搬运”变成“信息加工”价值完全不一样。最后分享一个我最近在试的小改进把每天的“冷思考”按月汇总月底生成一份“月度思考摘要”。这样既能回顾自己的认知轨迹也能作为下个月筛选规则的参考。目前试了两个月感觉比单纯看日报更有收获。这个做法还在迭代中等跑满半年再回来补充分享。