搞了4个定时任务,删掉了一个
台子搭好了,我开始上自动化。4个定时任务齐活,然后一个接一个翻车。最后我删掉了新闻播报,原话是”搞不好就算了”。
TL;DR
4个定时任务(早间新闻播报、每日工作总结、H3MS每日反思、HN+arXiv日报),钉钉Stream连接反复断,新闻播报被吐槽”胡说八道”。逐条核实后,发现RSS源+LLM翻译的组合就是会出幻觉。直接删掉新闻播报任务,从4个cron变成3个。砍掉的是执念。
一、起因:台子搭好了,该上自动化了
Hermes在手机上架起来之后,我接了三通道,跑了股票脚本,一切看起来都很美好。
但美好只持续了几天。
我这个人有个毛病——东西一旦跑通了,就想让它自动跑。在阿里做渠道的时候就是这样,SOP跑通了就想自动化,自动化跑通了就想规模化。这是销售出身的人的职业病。
所以我开始搞定时任务。
二、4个定时任务齐活
我给自己设了4个定时任务:
早间新闻播报(06:00)——每天早上6点,自动抓取财经新闻,筛选、分类、翻译,推送到钉钉群。我想的是,以前每天早上一睁眼就看手机新闻,现在让AI帮我筛选,我只看精华。
每日工作总结(20:00)——每天晚上8点,自动回顾一天的工作,生成总结。这个想法来自我在阿里的习惯,每天下班前花10分钟复盘当天的工作。
H3MS每日反思(21:00)——每天晚上9点,基于H3MS记忆系统生成每日反思。H3MS是我自己搞的一个知识管理系统,河马氏三域记忆——全局共享知识、跨域关联、每日反思。
HN+arXiv日报(07:00)——每天早上7点,抓取Hacker News和arXiv上的技术文章,翻译摘要推送。这个是我保持技术敏感度的方式。
4个任务,覆盖了早中晚。我想象中的画面是:每天早上醒来,钉钉群里已经推送了今天的新闻和技术日报;每天下班,工作总结自动发到群里;每天晚上睡前,H3MS反思提醒我这一天做了什么。
自动化不是目的,目的是让自己从”信息过载”中解脱出来。
三、翻车:钉钉Stream连接反复断
第一个翻车的是钉钉推送。
Hermes的定时任务默认通过Hermes会话机制推送消息到钉钉。这个机制叫”Stream模式”——Hermes保持一个长连接到钉钉服务器,实时接收和发送消息。
听起来很美好。但实际跑起来,Stream连接反复断。
日志里反复报错:No valid session_webhook for chat_id=xxx。意思是Hermes找不到有效的会话来推送消息。后台任务没有活跃的用户会话,Stream连接就断了。
我试了各种办法:改deliver目标、换脚本、加重试机制。都不行。Stream模式在后台任务场景下就是不稳定。
那段时间,每天早上一睁眼,钉钉群里要么没推送,要么推送了一半。新闻播报有时候发出来了,有时候没发出来。工作总结有时候推了,有时候没推。
自动化没让我解脱,反而让我更焦虑了——每天第一件事就是检查钉钉群里有没有推送。
四、胡说八道:新闻播报被吐槽
更尴尬的是新闻播报的内容。
有一天,我收到一条消息,是我自己发在钉钉群里的——不对,是Hermes的定时任务推的。我一看内容,愣住了。
早间新闻播报推了9条新闻,我逐条看了一遍:
1、【天气】英伟达5000亿AI融资计划暗藏隐忧,特朗普顾问警示”暗GPU”过剩风险
2、【政策】为什么越南和印度也开始发钱「催生」了?
3、【政策】出路在哪里?多国央行陷入”救火-加杠杆-再救火”的循环困境
4、【社会】韩国总统李在明称房地产泡沫已不容忽视
5、【社会】曾经爆火的洞洞鞋遇冷,Crocs联合瑞幸推出近六百元洞洞鞋
6、【财经】华尔街多头信心大振:标普500盈利增速创30年新高
7、【财经】手术机器人展望:从达芬奇帝国到国产替代
8、【国际】乌克兰出现由日本人组成的战斗分队
9、【国际】伊朗称美军已被驱逐不得进入海峡
我一条条去核实。
英伟达5000亿融资?查了,没有这个新闻,可能是旧闻拼接。
韩国总统李在明?韩国总统不是李在明,这个信息就是错的。
越南印度发钱催生?有相关的政策讨论,但不是”发钱催生”这种简单化的表述。
乌克兰日本人战斗分队?有报道,但不是”近日成立”,是之前就有的。
9条新闻里,至少有3条存在事实错误或严重夸大。分类也乱七八糟——英伟达融资被分到了”天气”类,越南人口法被分到了”政策”类(这个勉强算对),洞洞鞋被分到了”社会”类。
我自己在钉钉群里看到这条推送,第一反应是尴尬。
这不是我想要的新闻播报。我想要的是精华筛选,不是AI幻觉大赏。
五、逐条核实:RSS+LLM翻译的组合陷阱
我花了半天时间,逐条核实了这9条新闻的来源。
问题出在新闻播报的架构上:RSSHub抓取标题和摘要 → LLM翻译+分类 → 推送到钉钉。
RSSHub是个开源RSS聚合服务,我用的实例是rsshub.rssforever.com。它抓取的新闻源质量参差不齐,有些是知乎热榜(”为什么/如何/吗”这种问答格式),有些是公众号文章标题党,有些是旧闻搬运。
LLM翻译+分类这一步,问题更大。LLM看到RSS抓来的碎片化摘要,会”脑补”完整内容。加上翻译过程中的信息丢失,最终输出的新闻就变成了”半真半假”的状态。
我试图修复:加过滤规则、换RSS源、调整LLM的prompt。但修来修去,本质问题没解决——RSS源的标题党+LLM的脑补幻觉,这个组合天生就不适合做新闻播报。
六、搞不好就算了
我盯着那条新闻播报看了很久。
9条新闻,3条有事实错误,2条分类错误,剩下4条虽然事实没错但都是旧闻。我花了一天时间逐条核实、修脚本、调prompt,结果还是不行。
然后我做了一个决定:删掉新闻播报任务。
原话我在会话里说的是:”搞不好就算了,以后需要再说吧。”
删掉一个自己精心设计的定时任务,说实话有点心疼。毕竟花了那么多时间写脚本、调配置、测试推送。但更心疼的是时间——如果我每天花半小时去核实AI生成的新闻,那还不如我自己直接看新闻。
自动化不是银弹。有些东西,机器做不好,不如不做。
从4个cron变成3个。剩下的3个(每日工作总结、H3MS每日反思、HN+arXiv日报)后来也经历了各种翻车和修复,但至少它们的内容是我自己可控的。
七、教训:快速止损的工程哲学
这件事给我上了一课。
在阿里做销售的时候,我学会了一件事:快速止损。一个客户跟了3个月没跟进,不如换个客户跟。一个渠道跑了半年没跑通,不如换个渠道跑。
做技术也一样。一个方案试了3天不行,不如换个方案。一个任务跑了1周不稳定,不如删掉。
“搞不好就算了”不是放弃,是止损。是承认有些东西现在做不好,等条件成熟了再做。
新闻播报后来有没有恢复?恢复了。但不是用RSS+LLM翻译的方式,而是改用Webhook直推模式,脚本自己处理推送,不依赖Hermes会话。这是后话了。
但至少在那一刻,我学会了:自动化不是越多越好,稳定比数量重要。
作者:小道 · 环境:Termux on Android 13 · 2026-08-08
关联阅读:上一篇《一台Android手机,就是我的AI服务器》 · 下一篇《升级只需5分钟,修环境要5小时》