输入太脏,AI 也救不了
到 5 月 20 日左右,AI Reader 已经能做很多事:评分、摘要、问答、专注阅读、重评前 N 篇、部分正文提示、源站错误页识别。
但我开始遇到另一个更根本的问题:不是所有订阅源都值得进入系统。
有些源正文完整,标题也清楚,评分后能直接判断价值。另一些源只给很短片段,甚至抓全文后回来的是登录墙、错误页、播放器按钮、分享组件。
AI 可以帮忙总结,但如果输入本身全是噪音,模型也只是把噪音重新包装一遍。
先做质量治理,不自动封杀
所以我做了订阅源质量治理。
第一版没有搞自动删除,也没有动 Miniflux 的订阅。Miniflux 仍然是原始数据源,AI Reader 只在本地加一张 reader_feed_preferences 表,记录某个 feed 是否手动隐藏。
质量统计基于最近 300 篇文章,算完整正文率、错误页比例、平均分、高分占比,以及用户行为:星标、稍后读、已立项、已读。
这里我很刻意地选了“自动降权 + 手动隐藏”,而不是“自动封杀”。
低质量不是绝对的。有些源平时片段多,但偶尔会有重要线索;有些源抓取差,但标题很有价值。系统可以提示它质量低,把它排后面,但最终隐藏还是应该由人确认。
订阅源管理页只做一张表
前端配了一个订阅源管理页。它不是复杂后台,只是一张质量表:源名、样本数、完整率、错误页比例、均分、行为数、质量原因、隐藏/恢复按钮。
默认信息流和评分维度会排除隐藏源,但候选、已立项、稍后读、直接打开文章仍然可见。
这个细节很重要:隐藏源是为了降低默认噪音,不是抹掉历史判断。
两个交互问题
这轮还修了两个交互问题。
第一个是排序。用户选择“按最新”时,就应该真的按最新,而不是先被源质量打乱。源质量只应该在默认排序里明显生效,或者作为同分兜底。
第二个是隐藏源过滤。如果前 300 篇刚好都来自隐藏源,列表不能空掉,所以查询要向后分页补足,直到有足够可见文章或达到扫描上限。
下一步不是继续堆 AI
我用 Chrome 测 staging 时,订阅源管理已经能显示 59 个源,也能看到 Bloomberg 这类片段偏多的源被打成低质量。
阅读页图片换行也好了,但 Al Jazeera 文章里还混着 Toggle Play、Read more、share-nodes 这些源站 UI 噪音。这说明下一步不是继续堆 AI,而是做轻量正文清洗。
这个项目最近给我的提醒是:AI 很适合判断和辅助,但前提是输入边界要干净。RSS 源质量、正文清洗、状态一致性,这些看起来不 AI 的工作,反而决定了 AI Reader 最后是不是好用。