Hotdry.

Article

构建跨平台研究代理:多源数据聚合与引证合成实战

解析 last30days-skill 的 v3 引擎架构,从实体解析、跨源聚类到引证合成,提供可落地的多源研究代理配置参数与数据源分层策略。

2026-06-08ai-systems

信息过载时代,传统搜索引擎的编辑排序机制已难以满足实时决策需求。last30days-skill 提出了一种以社交信号为核心的研究范式:聚合 Reddit、X、YouTube、Hacker News、Polymarket 等平台的真实用户参与度数据,通过 AI 代理实现基于引证的摘要合成。本文将从技术架构角度解析其 v3 引擎的实现机制,并提供可落地的配置参数。

核心架构:从关键词搜索到实体感知

v3 引擎的最大突破在于预研究阶段的实体解析能力。传统搜索直接匹配关键词,而 last30days-skill 会在发起任何 API 调用前,先理解主题并解析出关键实体。输入 "OpenClaw" 时,引擎会自动解析出 @steipete(项目创始人)、r/openclaw(Reddit 社区)、openclaw/openclaw(GitHub 仓库)以及相关 YouTube 频道和 TikTok 标签。这种双向解析能力(人名→公司→产品→GitHub 个人主页)确保搜索命中的是正确的人群和社区,而非泛泛的关键词匹配。

实体解析的实现依赖于一个 Python 预研究大脑模块,它维护着人名、公司、产品之间的映射关系。当检测到输入为人名时,引擎会自动切换至 GitHub 个人模式:不再搜索 "谁在 issue 正文中提到这个名字",而是查询 "此人正在发布什么代码、PR 合并率如何"。这种作者范围查询能够捕获 22 个跨 3 个仓库的已合并 PR、85% 的合并率等深度信号,远胜于简单的文本匹配。

跨源聚类与去重机制

同一事件在不同平台的表述往往差异显著。v3 引擎引入了基于实体的重叠检测算法,当 Reddit 讨论、X 帖子、YouTube 视频讲述同一故事时,系统会将它们合并为单一聚类,而非展示三个独立条目。这种跨源聚类合并基于实体识别而非标题匹配,即使不同平台使用完全不同的词汇描述同一事件,也能被正确关联。

聚类算法的另一个优化是单遍比较(single-pass comparisons)。传统实现中,"CLI vs MCP" 这类对比查询需要串行执行三次完整搜索(耗时 12 分钟以上),而 v3 通过实体感知子查询机制,在单次遍历中同时处理多个对比对象,将耗时压缩至 3 分钟左右,同时保持相同的搜索深度。

引证合成与信号评分

last30days-skill 的合成输出与传统摘要工具的根本区别在于其严格的引证机制。每个声明都必须锚定到具体的数据源,且合成结果按 "人们实际参与度" 排序,而非 SEO 相关性。系统采集的信号包括:Reddit 帖子的 upvote 数、X 帖子的点赞数、YouTube 视频的观看量、TikTok 的传播数据、HN 帖子的分数和评论数、GitHub 仓库的 star 数,以及 Polymarket 的赔率数据。

Polymarket 的引入尤为关键 —— 它提供的不是观点,而是真金白银支撑的预测概率。当系统显示 "某事件发生的赔率为 74%" 时,背后可能是数万美元的投注量。这种信号比专家猜测更难辩驳。同样,一个获得 1,500 upvotes 的 Reddit 线程,其信号强度远超无人阅读的博客文章;一条获得 360 万播放的 TikTok 视频,其文化相关性信号强于官方新闻稿。

合成过程还引入了 "最佳观点"(Best Takes)评分维度。除了相关性,系统会额外评估内容的幽默度、机智度和病毒传播潜力,确保那些 clever 的 Reddit 神回复、病毒式传播的 X 金句不会被埋没在算法排序中。

可落地的配置参数

部署 last30days-skill 时,建议采用分层数据源策略:

零配置层(立即可用):Reddit(含评论)、Hacker News、Polymarket、GitHub。Reddit 通过公共 JSON 接口获取线程和 top 评论,无需 API key;HN 同理;Polymarket 提供赔率数据;GitHub 支持个人模式代码活动追踪。

轻量配置层:X/Twitter(需浏览器登录会话)、YouTube(需安装 yt-dlp)、Bluesky(需 app password)。X 的数据通过用户自有浏览器 session 获取,规避了官方 API 限制;YouTube 通过 yt-dlp 提取视频转录文本,支持在 45 分钟深度内容中定位关键引用句。

付费增强层:TikTok、Instagram、Threads、Pinterest、YouTube 评论。这些平台通过 ScrapeCreators API 接入,采用按调用付费模式(100 次免费额度后按量计费)。建议通过环境变量 EXCLUDE_SOURCES=tiktok,instagram 按需禁用,避免意外账单。

搜索增强层:Perplexity Sonar(需 OpenRouter API key)、Brave Search(2,000 次免费查询 / 月)。Perplexity 提供带引证的网页搜索,作为社交信号的补充验证。

关键阈值建议:设置 per-author cap=3,防止单一声音主导简报;启用 cross-source cluster merging 避免重复叙事;对于人物研究,务必启用 --github-user 参数激活个人模式。

输出格式与集成

v3 支持多种输出格式。默认生成 Markdown 简报,存储于 ~/Documents/Last30Days/{topic}-raw.md。添加 --emit=html 可生成自包含的 HTML 简报,内联 CSS、支持深色模式、打印友好,可直接拖入 Slack、邮件或 Notion。HTML 格式无 JavaScript,支持离线查看,适合对外分享。

对于持续监控场景,启用 --store 可将结果持久化至 SQLite 数据库,配合 watchlist.py 脚本实现定时运行(支持 Slack/Webhook 新发现通知),以及 briefing.py 实现每日 / 每周摘要推送。

局限与风险

多源聚合架构的脆弱性在于依赖矩阵的复杂度。X、TikTok 等平台的 API 政策可能随时变更,ScrapeCreators 等第三方服务的可用性直接影响数据覆盖。建议实施熔断机制:当某数据源连续失败时自动降级,确保核心功能(Reddit/HN/Polymarket)始终可用。此外,社交信号并非绝对真理 —— 高 upvote 内容可能代表群体偏见而非事实准确性,Polymarket 赔率反映的是市场预期而非必然结果。合成输出应被视为 "社区共识的快照",而非终审判决。


资料来源

  • mvanhorn/last30days-skill GitHub 仓库 README 与 SKILL.md 文档

ai-systems

内容声明:本文无广告投放、无付费植入。

如有事实性问题,欢迎发送勘误至 i@hotdrydog.com