AI 摘要
AI
正在生成摘要...

出于想要 openclaw 帮我查找论文的想法,在 openclaw 的仓库中折腾了很久,实际上的体验并不好,所以我基于 findpapers(Jonatas Grosman 的开源项目)和自己写的 RSS 推送工具搓了一个。

技术逻辑

整体链条很简单:

TEXT
config.yaml 配 N 条 query → findpapers 搜 7 个库 → 去重 → 配额分配 → DeepSeek 摘要 → 飞书卡片

findpapers 这个库挺有意思的。它包装了 arXiv、OpenAlex、Semantic Scholar、PubMed、IEEE 等 7 个学术搜索引擎(我实际只开了 arXiv 和 OpenAlex),一套 DSL 自动翻译到各家的原生查询语法。意思是你在 config 里写一条 [TinyML] AND [edge inference],它帮你同时去 arXiv、OpenAlex、Semantic Scholar 各搜一遍,回来再去重合并。

推送逻辑直接复用了之前写的 rss-ai-reader(RSS 推送工具)。每轮最多 8 篇,按分组配额轮询分配,多了进 pending 队列下次补出。每篇论文过 DeepSeek 生成结构化中文摘要——标题翻译、一句话贡献、推荐理由、关键要点、适合谁读——然后推一张飞书卡片,带原文链接和 PDF 下载按钮。

另外还做了一个对话式查询的流程:python query.py --search "[LLM] AND [agent]",结果直接做成飞书列表卡,用户看到编号后 --push-item 3,7 挑几篇要 AI 摘要。一个类似"搜索 → 浏览 → 精读"的两步式体验。

效果其实一般

坦诚地说,跑了一段时间,查询质量和直接让 openclaw 调用 OpenAlex 查差别不大,甚至不如——不是同一个数据源比精度的问题,而是自动化批处理的天花板就在那:关键词匹配的 recall 质量,拼不过来回迭代的对话式搜索。

findpapers 虽然支持 7 个库,但论文这事儿本质上是个 recall 问题。一个 [TinyML] AND [edge] 出来几十篇,里面一半是八竿子打不着的。findpapers 的 DSL 表达能力有限,不支持语义搜索,只做关键词匹配。而 opencalw 可以直接说"帮我找 TinyML 边缘推理方向最近的重要工作,排除纯硬件优化的那种",它会理解你的意图。

而且 findpapers 搜回来的论文按 API 返回质量参差不齐:arXiv 的摘要倒是完整,OpenAlex 的很多论文没有 abstract,Semantic Scholar 在国内访问还经常超时。LLM 拿到一段残缺的 abstract,生成的摘要也只能是"看起来像那么回事"的水平。

说白了这就是个玩具。新鲜感来自"自动跑 + 推送到手机"的新鲜感,真正想了解某个方向的最新进展,我直接和 chatgpt 聊一圈效率更高。

不过话说回来,虽然它在我手里效果不怎么好,但比 openclaw 仓库上的 skill 还是强太多了。很多 skill 处理的边界是匮乏的,连个像样的工程化都没有。至少我有一条完整的链路能跑通、有去重、有配额管理、有 pending 队列、有 reflection 修正——算是个能用的东西,只是适用场景没那么大。

推送还是能看到点东西

推送这个形式本身是成立的。每天早晨飞书收到 3-5 张论文卡片,扫一眼标题和一句话贡献,感兴趣的再点开原文。这个"被动投喂"的姿势比主动搜索省力——你不需要每天想着"今天该查什么",推送帮你维持了一个最低限度的信息接触。

像 tinyml 方向确实有些有意思的工作:量化的新方法、农业病害检测的边缘部署方案、知识蒸馏在 MCU 上的落地。这些如果纯靠主动搜索我可能一周才查一次,推送让我每天都能瞟一眼。

但如果目的是"不错过重要论文",老实说订阅几个大佬的 Twitter/LinkedIn、或者每周让 chatgpt 帮你总结一次,效果更好。这个工具的价值不在于搜索结果本身,而在于你把它挂在那它就自己跑——一种低成本的"保持接触"的姿势。

代码

底层搜索库:findpapers(Jonatas Grosman 的开源项目,非本人作品)

本人作品:


评论