AI(人工智能)领域的信息更新太快,真正麻烦的不是没有信息,而是同一件事会在不同渠道反复出现。一个模型降价,可能同时出现在 AIbase、AI HOT、RSS(简易信息聚合)频道、Hacker News、GitHub Trending 甚至各种转发源里。标题不同,内容相近,用户却需要一遍遍判断:这是不是刚才已经看过的那件事?
「伯乐」要解决的就是这个问题。它是一个开源 AI 热点聚合 Skill,可以每 30 分钟从 40 多个信息源获取内容,经过过滤、去重、翻译、打分之后发布到网页上。项目地址是:
https://github.com/LearnPrompt/ai-news-radar
它的核心目标不是把所有信息都塞进时间线,而是把“值得看的 AI 事件”整理出来,让人少看重复内容,让 Agent(智能体)也能复用同一套规则去解析新的信息源。
它解决的不是抓取问题,而是信息过载问题
普通信息聚合工具通常会按时间倒序展示内容,最多做一层标题去重。例如两个标题完全一致,就删掉其中一个。但 AI 热点信息有一个典型特点:同一事件经常被改写成很多标题。
比如同一个价格调整事件,可能出现这些说法:
| 来源 | 标题示例 | 实际事件 |
|---|---|---|
| AIbase | DeepSeek V4 Pro 降价 | DeepSeek 某模型价格调整 |
| AI HOT | V4 Pro 价格大跳水 | DeepSeek 某模型价格调整 |
| RSS 频道 | DeepSeek API 价格调整 | DeepSeek 某模型价格调整 |
| Hacker News | Developers discuss DeepSeek pricing | DeepSeek 某模型价格调整 |
| GitHub Trending | 相关 SDK 或工具突然升温 | DeepSeek 某模型价格调整引发讨论 |
如果只看标题字符串,这些内容不一定会被判定为重复。用户看到的仍然是多张卡片,区别只是标题不同。
「伯乐」新增的「伯乐精选」视图,重点就在于把“标题去重”升级成“事件合并”。它会尝试判断多条信息是不是指向同一件事,再把它们合并成一个事件节点,并在卡片上展示命中了哪些高分来源。
整体处理流程
「伯乐」的信息处理可以拆成四层:信息源健康检查、内容抓取与规范化、AI 相关性过滤、事件合并与可信度打分。
flowchart LR
A[公开信息源<br/>AI HOT / Hacker News / GitHub Trending / AIbase] --> C[抓取与解析]
B[个人订阅源<br/>Telegram / Discord / 邮件 / 日历 / 群组] --> C
C --> D[信息源健康记录<br/>成功 / 失败 / 最近更新时间]
C --> E[内容规范化<br/>标题 / 链接 / 来源 / 时间 / 摘要]
E --> F[AI 相关性过滤]
F --> G[事件合并<br/>把同一事件聚成一个节点]
G --> H[可信度与优先级打分]
H --> I[时间线视图]
H --> J[伯乐精选视图]
J --> K[网页发布]
I --> K
这套流程的关键点是:抓取只是入口,真正影响阅读体验的是后面的过滤、合并和排序。
信息源分成公开源和个人源
不是所有信息源都适合放进公共页面。公共页面应该收录适合多数人看的 AI 动态,比如模型发布、开发工具、AI 产品更新、基础设施变化、高讨论度项目等。个人源则更适合放本地,只服务自己的阅读流。
| 类型 | 适合放什么 | 是否适合公开展示 |
|---|---|---|
| 公开默认源 | AI HOT、Hacker News 高讨论内容、GitHub Trending Today、AIbase、Follow Builders 等 | 适合 |
| 个人订阅源 | Telegram 频道、Discord 频道、邮件、飞书日历、群组整理文档 | 通常不适合 |
| 临时观察源 | 某个产品发布页、某个项目更新页、某个社区榜单 | 视内容质量而定 |
这样的分层有两个好处。
一是公共页面不会被个人化内容污染。比如某个团队内部群组的更新,可能对个人有用,但对大多数读者没有价值。
二是 Agent 可以复用同一套 Skill 处理私有信息流。只要个人订阅源能被整理成结构化文本、网页、RSS 或类似格式,就可以进入本地信息流,再走过滤和事件合并流程。
第一层:信息源健康检查
很多聚合工具容易遇到一个隐性问题:某个源已经失效很久,但页面上没有任何提示。用户看到的信息少了,却不知道是因为当天没更新,还是抓取任务失败。
「伯乐」在每次生成数据时都会记录信息源状态,例如:
| 字段 | 作用 |
|---|---|
| source_name | 信息源名称 |
| status | 本次抓取成功还是失败 |
| last_success_at | 最近一次成功抓取时间 |
| error_message | 失败原因,便于排查 |
| item_count | 本次抓到多少条内容 |
有了这些记录,系统就能区分两种情况:
flowchart TD
A[某个信息源没有新内容] --> B{抓取是否成功}
B -->|成功| C[源正常<br/>只是暂时没有更新]
B -->|失败| D[源异常<br/>需要检查链接、解析规则或网络]
这一步不会直接提升内容质量,但会提升系统可维护性。信息源越多,健康检查越重要;否则几十个源里坏掉几个,很难靠肉眼发现。
第二层:AI 相关性过滤
抓回来的内容并不一定都和 AI 强相关。尤其是综合社区或趋势榜单,可能混入大量泛科技、商业新闻、普通开源项目和营销内容。
「伯乐」会根据标题、来源和关键词判断内容是否足够接近 AI 主题,优先保留这些长期有效的信息:
| 内容类型 | 示例 |
|---|---|
| 模型发布 | 新模型、新版本、能力更新、价格调整 |
| Agent 工作流 | 智能体框架、自动化流程、多智能体协作 |
| 开发工具 | SDK(软件开发工具包)、命令行工具、调试工具、代码生成工具 |
| AI 产品更新 | 产品新功能、插件、企业版能力、应用场景变化 |
| 基础设施 | 推理服务、向量数据库、模型部署、算力平台 |
过滤的重点不是追求“只要有 AI 两个字就收录”,而是减少短期噪声。比如标题里写了 AI,但内容只是泛泛的营销稿,这类信息进入精选视图的价值很低。
可以把过滤逻辑理解成一个多条件判断:
flowchart TD
A[一条新信息] --> B{来源是否可信}
B -->|否| C[降低优先级或丢弃]
B -->|是| D{标题和摘要是否包含 AI 强相关信号}
D -->|否| C
D -->|是| E{是否属于长期有效主题}
E -->|否| F[进入普通时间线或降低权重]
E -->|是| G[进入候选事件池]
这一步之后,系统得到的不是最终卡片,而是一批“可能值得关注”的候选内容。
第三层:从标题去重升级为事件合并
标题去重只能处理非常简单的重复,例如两条内容标题完全相同,或者只有少量标点差异。但现实里的重复更多是“表达不同,事件相同”。
事件合并关注的是这几个问题:
| 判断维度 | 说明 |
|---|---|
| 主体 | 谁发生了变化,比如 DeepSeek、OpenAI、Anthropic、某个 GitHub 项目 |
| 动作 | 发布、降价、开源、融资、上线、下架、修复、升级 |
| 对象 | 哪个模型、产品、接口、工具、版本 |
| 时间 | 是否发生在相近时间窗口内 |
| 来源 | 是否来自多个不同渠道,还是同一渠道重复转发 |
以“DeepSeek V4 Pro 降价”为例,几条标题可以被合并成同一个事件节点:
flowchart LR
A[DeepSeek V4 Pro 降价] --> E[事件节点<br/>DeepSeek V4 Pro 价格调整]
B[V4 Pro 价格大跳水] --> E
C[DeepSeek API 价格调整] --> E
D[开发者讨论 DeepSeek pricing] --> E
E --> F[展示一个精选卡片]
E --> G[列出命中的高分来源]
合并之后,用户看到的是一个事件,而不是四条看起来相似的消息。卡片可以展示多个来源,让用户知道这不是孤立信息,而是被不同渠道同时捕捉到的热点。
第四层:可信度与优先级打分
事件合并之后,还需要决定哪些内容进入精选视图,哪些只留在普通时间线里。这里的分数可以从两个方向理解:AI 相关性和来源交叉验证。
AI 相关性关注内容是不是贴近核心主题。模型发布、Agent 工作流、开发工具、产品更新、基础设施这些内容,一般比泛泛的行业评论更适合进入精选。
来源交叉验证关注同一事件是否出现在多个不同类型的信息源里。比如 AI HOT 更像 AI 圈精选,Hacker News 更偏开发者讨论,GitHub Trending 反映代码和项目动向。一个事件如果同时被这些来源捕捉到,说明它不是单点噪声。
一个简化的评分模型可以这样理解:
事件分数 = AI 相关性分数 + 来源质量分数 + 多源命中加分 - 重复转发惩罚
不同来源的价值不完全一样:
| 来源类型 | 主要信号 |
|---|---|
| AI 垂直精选源 | AI 圈内关注度 |
| Hacker News | 开发者讨论热度 |
| GitHub Trending | 项目和代码趋势 |
| 产品官方更新 | 一手产品变化 |
| RSS 聚合频道 | 覆盖面和补充信息 |
多源命中不是简单地“数量越多越好”。如果 10 条内容都来自同一个搬运链路,价值不如 3 条来自不同类型渠道的信息。真正有用的是来源之间的差异性:产品源说明事情发生了,开发者社区说明有人讨论,代码趋势说明可能出现了实际工具或生态变化。
为什么日常运行不依赖 API 额度
很多信息整理系统会把大模型放在运行链路里:每抓到一条内容,就调用 LLM(大语言模型)判断分类、摘要、去重和排序。这样做灵活,但有几个问题:
| 问题 | 影响 |
|---|---|
| 调用成本 | 信息源越多,API(应用程序编程接口)费用越高 |
| 稳定性 | 模型服务不可用时,整个流水线容易中断 |
| 延迟 | 每条内容都调用模型,会拖慢生成速度 |
| 可复现性 | 同样输入在不同时间可能得到略有差异的结果 |
「伯乐」的思路是让大模型参与规则设计,而不是把大模型放进每次运行的关键路径。也就是说,规则可以借助大模型生成和迭代,但日常抓取、过滤、合并、打分尽量由规则执行。
这种设计更适合长期无人值守运行:
flowchart LR
A[人工维护信息源] --> B[借助大模型整理规则]
B --> C[生成可执行规则]
C --> D[定时任务运行]
D --> E[抓取 / 过滤 / 合并 / 打分]
E --> F[发布网页]
代价也很明确:规则需要持续维护。AI 圈的新名词、新产品、新项目增长很快,如果规则长期不更新,过滤和合并效果会下降。好处是日常运行成本低,不容易被 API 额度、模型延迟或服务波动卡住。
「伯乐精选」和普通时间线的区别
普通时间线适合看完整更新流,精选视图适合快速了解真正重要的事件。
| 视图 | 展示逻辑 | 适合场景 |
|---|---|---|
| 普通时间线 | 按时间展示经过基础过滤的信息 | 想看最近 24 小时有哪些更新 |
| 伯乐精选 | 按事件合并、来源命中和可信度打分展示 | 想快速看高价值 AI 热点 |
| 个人订阅流 | 只在本地生效,混入个人渠道 | 想把私有频道、邮件、群组也纳入整理 |
精选视图的价值在信息源变多之后会更明显。源越多,重复越多;重复越多,事件合并就越重要。
新增信息源时要注意什么
信息源不是越多越好。一个新源进入系统之前,至少要看三个问题。
| 问题 | 判断方式 |
|---|---|
| 内容是否稳定 | 是否持续更新,还是偶尔更新一次 |
| 噪声是否可控 | AI 强相关内容占比高不高 |
| 是否提供独特信号 | 是否只是搬运其他源,还是有一手信息或高质量筛选 |
如果一个源每天产出很多内容,但大部分都是低质量转发,它会增加过滤压力,也会让事件合并变复杂。更好的源通常具备一个特点:虽然更新量不一定大,但能提供明确、稳定、可解释的信号。
一个信息源配置通常需要关注这些字段:
name: example-ai-source
type: rss
url: https://example.com/feed.xml
language: zh
scope: public
topics:
- model-release
- ai-product
- developer-tool
priority: high
其中 scope 很重要。适合大家看的源放到 public,只服务个人的源放到本地订阅,不要混进公共页面。
适合使用的场景
「伯乐」适合需要持续跟踪 AI 动态的人或系统,尤其适合下面这些场景:
| 场景 | 为什么适合 |
|---|---|
| 个人 AI 信息流 | 把多个渠道集中起来,减少重复阅读 |
| 团队技术雷达 | 关注模型、工具、基础设施、产品变化 |
| Agent 信息输入 | 让智能体使用整理后的结构化热点 |
| 开源项目观察 | 结合 GitHub Trending 发现项目动向 |
| AI 产品跟踪 | 通过多源命中发现产品更新是否被讨论 |
不太适合的场景也很清楚:
| 场景 | 原因 |
|---|---|
| 需要严格实时预警 | 30 分钟级别更新不等于秒级监控 |
| 需要完整收录全网新闻 | 它更强调精选和去重,不追求全量 |
| 需要强事实核验 | 多源命中能提高可信度,但不能替代人工核验 |
| 需要深度长文分析 | 它解决的是信息发现和事件聚合,不负责长篇研究 |
上手思路
使用这个项目可以按三个层次展开。
一是直接查看公开页面,把它当作 AI 热点雷达使用。这个层次不需要改规则,也不需要维护信息源。
二是增加个人订阅源,把 Telegram、Discord、邮件、飞书日历或群组整理出来的内容接入本地信息流。这样可以把公开热点和个人关注源放在同一个处理框架里。
三是维护新的公开源,让更多高质量 AI 信息进入默认源。新增公开源时,不只要看能不能抓到内容,还要看它是否稳定、是否重复搬运、是否能提供独特信号。
基础操作从仓库开始:
git clone https://github.com/LearnPrompt/ai-news-radar.git
cd ai-news-radar
之后根据仓库内的配置说明添加信息源、调整规则,并让定时任务按固定周期生成页面即可。重点不在于一次性接入很多源,而是让每个源都能被健康检查、过滤规则和事件合并流程稳定处理。
一个可持续的信息雷达应该长什么样
AI 信息聚合的难点已经从“能不能抓到”变成了“抓到之后怎么整理”。只按时间排序会让人反复看到同一事件,只做标题去重又挡不住改写和转发。
「伯乐」采用的结构更接近一个信息处理流水线:
flowchart LR
A[更多信息源] --> B[更高重复率]
B --> C[事件合并]
C --> D[更少重复卡片]
D --> E[更快理解 AI 热点]
A --> F[更高故障概率]
F --> G[信息源健康检查]
G --> H[及时发现失效源]
信息源继续增加时,真正重要的是三件事:知道哪些源还活着,知道哪些内容和 AI 强相关,知道哪些标题其实指向同一个事件。只要这三层稳定,AI 热点流就不会变成噪声流。