全站入口
LUNA

第三篇 · 进阶系统与 AI 员工

第 25 章 自动化工作流怎样保持可靠

本章成果

把一条已经手动跑顺的流程,做成一个每天定时自动跑、出问题会停会告警、还能续跑的可靠任务——而不是"跑起来就不管了"。

贯穿案例:每天的选题聚合

这一章用一个做内容的经营者每天都要干的活贯穿始终:每天从好几个平台里,把当天值得写的选题捞出来。手动一个个翻,费时又容易漏。一个典型的需求长这样:

选题聚合任务 · 需求示例
我做 AI 商业 / 获客方向的内容,帮我找今天值得写的选题。
来源:
- 公众号近期爆款文章
- 全网热搜里的 AI 相关条目
- GitHub 今日热门 AI 项目
- 多引擎 AI 新闻聚合
- AI 热点追踪

手动跑一次,AI 员工会同时调这五个源,整合成一份当天的热点清单,供你快速筛。本章要解决的,是把这件"能跑一次"的事,变成"每天早上自动跑、还跑得住"。

手动跑一次的聚合结果
官方 WorkBuddy 蓝皮书配图 · 手动跑一次的聚合结果 · 仅作参考
聚合热点清单
官方 WorkBuddy 蓝皮书配图 · 聚合出的热点清单 · 仅作参考

自动运行不等于可靠

自动化只是减少你重复点击。它到底可不可靠,要看两件事:有没有在正确的时间用当前的资料,遇到缺口和冲突会不会停下来。跑得顺,不代表跑得对。

自动,省的是点击;可靠,靠的是它知道什么时候该停

自动化前的三个门槛

不是所有任务都适合马上自动化。过了这三关再上:

  • 同一套提示词已经手动跑过至少三次,输出的质量和格式基本稳定;
  • 触发条件、输入来源、验收标准都清楚:什么时候跑、依赖哪些源、输出什么格式;
  • owner、有告警、有停用方法:出错谁处理,怎么临时停掉又不影响别的流程。

频繁改提示词、或者数据源还不稳的任务,先手动跑,别急着自动化。另外有几类动作,哪怕自动化了也默认保留人工确认

可以先自动

生成底稿、整理提醒、汇总资料、准备草稿——这些做错了也容易改回来。

必须人工确认

内容发布、客户发送、价格变更、合同生成、权限调整——一旦发出去就收不回。

在 WorkBuddy 里设成定时任务

手动确认过效果之后,在同一个对话框里直接说一句:

设置定时任务 · 指令示例
把这个任务设成自动化,每天早上 9:00 跑,
结果发到 [指定飞书群 / 邮件 / 企微通知]。
设置定时任务界面
官方 WorkBuddy 蓝皮书配图 · 设置定时任务 · 仅作参考
定时任务配置
官方 WorkBuddy 蓝皮书配图 · 定时任务配置 · 仅作参考

它会把当前的提示词和数据源配置存成定时任务,到点自动执行。你打开通知,直接开始筛选,不用每天手动触发。

定时自动推送结果
官方 WorkBuddy 蓝皮书配图 · 每天定时自动推送的结果 · 仅作参考

把它设计成一台"状态机"

自动化不是"跑起来就行"。真实环境里,每次跑都可能撞上:某个源超时、当天没有相关热点、GitHub 被限流、推送目标连不上。所以要把任务拆成一个个状态,每个状态都有明确的"成功往哪走、失败往哪走":

关键一条:部分源失败,不该把整个任务卡死——标记缺失后继续;推送失败,要保住已生成的结果并告警,别把内容弄丢。

数据源就绪检查

定时到点,不等于数据源就绪。每次开跑前,先挨个检查各源可不可用:

数据源检查项不可用时
公众号爆款搜索搜索可达、返回非空标记缺失,继续其他源
全网热搜榜当日热搜列表可获取标记缺失,继续其他源
GitHub 热门API 未限流、热门列表正常退避重试一次,再失败则标记缺失
多引擎搜索搜索引擎可达标记缺失,继续其他源
AI 热点追踪热点服务正常标记缺失,继续其他源

五个源里至少三个正常,才输出清单;全挂了就进"阻塞"、推送告警、次日重来。

内容质量门禁

源可达,不代表内容有效。聚合完还要过一道筛:

  • 相关性:真的属于你的方向吗(排掉泛科技噪音);
  • 时效性:是当天的吗(别把过期热点又推一遍);
  • 重复性:同一件事在多个源都出现,合并展示;
  • 最低数量:有效条目少于 5 条,就当"今天热点不足",在输出里标注。

于是每次跑完有三种质量状态:pass(正常输出)、warning(部分源缺失,在顶部说明)、blocked(有效条目不足,不推正文、只推说明)。

输出结构固定下来

聚合完,输出一份格式固定的清单,你才能扫一眼就判断,而不是每次重新理格式:

选题日报 · 输出格式示例
📋 AI 选题日报 — 2026-07-10
【今日概况】有效条目:18 条 | 来源:5/5 | 运行时间:09:02

🔥 高热度(适合快速蹭)
1. [模型名] 发布,[核心能力] — 来源:AI热点 + GitHub
   热度:★★★★★ | 建议角度:功能测评 / 使用教程

📈 潜力方向(适合深度分析)
2. [话题] 引发讨论 — 来源:公众号
   热度:★★★ | 建议角度:观点分析 / 案例拆解

⚠️ 来源说明:热搜正常 | GitHub 正常 | 公众号正常 | 多引擎正常 | AI热点正常

— 上面的条数、时间、星级只是格式示意,不是实测数据。

推送目标与"不重复推"

每次的输出要推到固定位置。常见几种,各有注意点:

推送目标适用注意
飞书群消息团队共享选题记 message ID,避免重复推
个人飞书通知自己用同上
飞书文档(追加)留历史、方便回溯每日一条按日期追加,不覆盖历史
邮件跨平台通知记发件 ID

不重复推原则:如果某次因为推送失败而重试,别把已经推成功的又发一遍。每次跑生成一个唯一批次 ID(如 选题-2026-07-10),推成功就记状态,重试时跳过已完成的步骤。

超时和重试策略

失败类型重试吗策略
数据源超时等 10 秒重试一次,再失败则标记缺失
GitHub 被限流(429)按返回的等待时间退避,最多等 2 次
认证失效(401/403)转人工处理,不自动重试
推送目标连不上指数退避重试 2 次,失败则告警并保留结果
聚合结果为空进"阻塞",推说明,次日重来

重试只针对临时性故障;输入错了、配置错了,不该靠重试硬撞。

断点续跑

每次跑生成一个状态文件,记下已经完成到哪一步、产出了什么:

运行状态文件 · 示例
{
  "批次": "选题-2026-07-10",
  "触发时间": "09:00",
  "当前状态": "推送中",
  "已完成": ["抓取", "聚合", "筛选"],
  "各源状态": { "公众号":"ok","热搜":"ok","GitHub":"ok","多引擎":"ok","AI热点":"ok" },
  "有效条目": 18,
  "最后错误": null
}

推送失败后重试,从"推送中"这一步接着跑,不重新抓取和聚合

告警要"可行动"

任务失败时,告警里得有足够信息,让收到的人立刻知道怎么办——"任务失败,请查看"这种没用:

可行动的告警 · 示例
⚠️ 选题任务告警
批次:选题-2026-07-10 | 状态:阻塞 | 触发:09:00
失败原因:所有数据源均返回空或超时
影响:今日清单未生成、未推送
建议处理:
1. 检查各数据源状态
2. 若是临时故障,手动触发一次重跑
3. 若今天跳过,确认后标记已处理
恢复入口:自动化任务 → 手动运行

降级交付

部分源挂了,不该干等全部就绪再输出,而是按可用数量降级,并显式标清楚:

  • 3 个及以上源正常 → 输出清单,顶部标注哪些源缺失;
  • 2 个源正常 → 输出简化清单,标注"数据不完整";
  • 1 个或 0 个正常 → 不输出正文,只推说明和告警。

降级结果必须显式标记来源覆盖情况,不能伪装成一次完整运行。

日志:记什么、不记什么

每次跑,记这几项,方便回头排错和看趋势:

  • 批次 ID、触发方式(定时 / 手动);
  • 各源的响应状态和耗时;
  • 聚合条数、筛选后条数;
  • 推送目标和结果(成功 / 失败 / message ID);
  • 总耗时、错误信息、这次的运行成本。

日志不记热点正文(避免越滚越大)。

给它设个成本预算

自动跑的东西,成本主要来自这几块:调用次数、外部 API 调用、模型推理、推送服务。

成本项说明
调用次数每次跑要调几个源,按平台计费规则算
外部 APIGitHub、热搜等数据源的调用费
模型推理聚合和筛选阶段的推理
推送服务飞书等推送接口的调用

设个预算上限:单次超过就记告警、这次照跑完,但下次跑之前要人确认。

把它写成一张"任务定义卡"

把整条自动化任务,落成一张说清楚的定义卡,交接、排错、复用都靠它:

自动化任务定义卡 · 直接复制填空
任务名称:AI 选题日报
触发方式:每天 09:00(工作日)
触发条件:无前置检查,定时直接跑
提示词:[完整提示词文本]
数据源:公众号 / 热搜 / GitHub / 多引擎 / AI热点
质量门禁:有效条目 ≥ 5;可用源 ≥ 3
输出格式:结构化清单(含来源、热度、建议角度)
推送目标:[飞书群 / 个人通知 / 飞书文档追加]
不重复推:批次 ID = 选题-{日期},推成功后标记
重试策略:源超时重试 1 次;推送失败退避 2 次;其他转人工
告警接收:[个人飞书通知]
owner:[你本人]
停用方式:自动化任务管理页 → 暂停

上线前先演练几种"出事"

正式开定时之前,手动模拟几种糟糕情况,确认它的反应跟你预期一致:

模拟场景预期行为
所有源正常输出完整清单,推送成功
GitHub 被限流退避重试,仍失败则标记缺失、继续其他源
当天没有相关热点有效条目不足,输出说明,不推空清单
推送目标连不上重试 2 次,失败则告警并保留结果
手动和定时同时触发检测批次 ID,跳过重复执行

都演练通过了,再开定时。

稳定后要盯的运行指标

  • 按时触发率:9:00 是不是准时触发;
  • 一次成功率:不用重试就成功的比例;
  • 各源可用率:每个源单独的可用比例;
  • 有效条目趋势:热点信息量的波动;
  • 推送成功率单次运行成本 的趋势。

某个指标持续下滑,就去查对应的源或推送配置是不是变了。

从"个人自动化"到"团队服务"

个人任务跑稳了,可以扩成团队共享——但要补几样东西:

维度个人使用团队服务
推送目标个人通知团队飞书群
选题方向单一方向多方向分类推送
审核流程个人判断主编确认后分发
故障处理自己处理有 owner 和备份处理人
自动化的高级形态,不是完全没有人,而是——正常路径少打扰人,异常路径能及时找到对的人

上线不是终点,要持续迭代

任务上线后,按真实使用反馈接着调:

  • 提示词:看哪类条目真被你采用、哪类被忽略,调整筛选维度;
  • 数据源:某个源长期质量差 / 可用率低,就换掉或降权重;
  • 输出格式:按你的筛选习惯改(比如加"本周已覆盖"标记,避免重复选题);
  • 触发时间:按你的作息挪(比如改 8:30 或 10:00)。

每次改动都走"改 → 手动验证三次 → 重新保存",别直接在定时任务上做实验。

完成检查

  • 这条流程手动至少跑顺过三次,输出稳定;
  • 设计成了状态机:每个状态都有成功条件和失败出口;
  • 做了数据源就绪检查 + 内容质量门禁(pass / warning / blocked);
  • 有批次 ID 防重复、有断点续跑、有可行动的告警;
  • 高风险动作仍然人工确认;
  • 写了任务定义卡,上线前演练过几种"出事"场景。