RPA + AI 混合工作流实践:四条自动化管线从零搭建
目前我的服务器上跑着 7 个定时任务,覆盖四个方向:电商带货、数据分析、知识摄取、记忆整合。全部无人值守,出错了自动告警。
这篇文章不是"RPA 概念讲解"——是四条管线从零到投产的实录。每条都有具体架构、踩过的坑、以及为什么 RPA + AI 混合比纯 RPA 或纯 AI 都强。
为什么是 RPA + AI,不是二选一
先说一个朴素的观察:
- 纯 RPA 的问题:只能执行固定流程。一旦遇到"这个商品缺货了怎么办""这篇文章讲什么的要不要留"这类需要判断的场景,就得人介入。
- 纯 AI 的问题:能做判断,但没人给它安排"什么时候干活、干完怎么通知我"。就像请了个聪明但需要保姆的专家。
混合模式的核心逻辑:RPA 负责搬运和执行,AI 负责判断和创作。
一个直观的对比:
| 环节 | 纯 RPA | 纯 AI | RPA + AI 混合 |
|---|---|---|---|
| 触发 | 定时/事件 | 需要人喂 prompt | 定时触发,自动喂 prompt ✅ |
| 数据采集 | 爬取/API 调用 ✅ | 可以但费 token | RPA 先采,AI 后分析 ✅ |
| 筛选决策 | 规则硬编码,不会变通 | 能理解上下文 ✅ | RPA 初筛 + AI 终判 ✅ |
| 内容生成 | 模板填充,千篇一律 | 有创造力 ✅ | AI 生成 + RPA 发布 ✅ |
| 异常处理 | 静默失败 | 能诊断但不会自动重试 | 失败两次 → 推送告警 ✅ |
四条管线的架构全景
这是目前跑在我服务器上的完整作业表:
| 管线名称 | 频率 | RPA 做什么 | AI 做什么 |
|---|---|---|---|
| 📱 微信小家电热销榜 | 每日 09:00 | 搜京东商品、排序、转短链、生成封面图、创建草稿、发布 | 判断配件/耗材过滤、商品多样性平衡 |
| 📊 百度统计日报·早间 | 每日 09:00 | 调 API 拉 PV/UV/来源/页面分布 | 生成一句话结论(涨了/跌了/异常) |
| 📊 百度统计日报·晚间 | 每日 22:00 | 同上 + 拉两日数据对比 | 趋势分析 + 优化建议 |
| 📡 L1 RSS 知识抓取 | 每日 08:00/16:00 | 12 个 RSS 源全文提取并归档 | 分类、去重、筛选高价值内容 |
| 🧠 L3 向量知识摄取 | 每 6 小时 | 拉起 node 脚本做向量化入库 | AI 阅读原文 → 生成 2-3 句中文知识卡摘要 |
| 🧹 Chrome 内存清理 | 每日 04:00 | kill Chromium 进程 + free 回收 | — |
| 📝 L2 记忆定期整合 | 每 3 天 | 扫描每日日志文件 | 提取关键事件 → 更新 MEMORY.md + 场景块 |
注意看最右列:纯 RPA 做不了的事,AI 在补。AI 单干也干不了的事(定时触发、自动发布、异常告警),RPA 在补。这就是混合模式的价值。
拆解第一条管线:微信小家电每日发布
这是最早投产的管线,也是最典型的 RPA + AI 混合案例。完整流程:
Cron 触发 (09:00)
│
├─ ① RPA: 京东联盟搜索 8 个品类关键词
│ └─ 空气炸锅/破壁机/扫地机器人/吹风机/电饭煲/养生壶/微波炉/电磁炉
│
├─ ② AI: 过滤不合适的商品
│ └─ "这是配件不是主品""这个跟上一个重复了""销量太低"
│
├─ ③ RPA: 按近 30 天销量排序,每类最多取 2 件
│
├─ ④ RPA: 调用京东联盟转链 API(长链 → 短链)
│
├─ ⑤ AI: 生成封面图中的商品排列布局
│
├─ ⑥ RPA: Canvas 渲染封面图 + 微信公众号草稿创建 + 发布
│
└─ ⑦ 失败 2 次 → 推送微信告警
这里 RPA 和 AI 的边界划得很有意思:
- 重复性的数据操作(搜商品、调 API、排序、渲染图片)→ 交给 RPA
- 需要判断的决策(这个商品合不合适、怎么排布好看)→ 交给 AI
如果纯 RPA,过滤逻辑就得写死一堆规则:if (title.includes('配件') || title.includes('耗材')) skip()。问题是供应商的标题花样百出,规则永远追不上。AI 一句话就搞定:"过滤掉配件和耗材类商品"。
第二条:百度统计日报的双定时
这条管线展示了另一个混合模式的优势——AI 可以把"数据"变成"信息"。
早间版(09:00)只拉前一天数据,输出一句话结论:
💡 百度搜索占比提升,SEO 优化有起色。
晚间版(22:00)拉两天数据做对比,输出趋势分析:
热门页面:首页 > 博客/百度统计API接入 > 案例/微信产线
💡 博客流量回落属于正常,建议本周三再推一篇维持热度。
纯 RPA 能做到的是"每天早上 9 点发一封邮件,附件是昨天的 CSV 数据"。纯 AI 能做到的是"你把数据给我,我帮你分析"。混合模式做到的是"用户什么都不用做,每天早上看一眼消息就行"。
核心代码结构:
// scripts/baidu-tongji-report.js
const TOKEN = getAuthToken(); // RPA: JWT 鉴权
const data = await fetchBaiduAPI(TOKEN); // RPA: 拉数据
// AI 分析 —— 这部分在 cron job 的 prompt 里实现
// "分析以下数据,给出一句话结论和改进建议"
const report = formatReport(data); // RPA: 格式化输出
await sendToWeChat(report); // RPA: 推送到微信
第三条:RSS 知识摄取的三层漏斗
这条管线最复杂,也最能体现"RPA 跑量 + AI 提质"的威力。架构是这样的:
| 层级 | 执行者 | 输入 | 输出 | 量级 |
|---|---|---|---|---|
| L1 抓取 | RPA | 12 个 RSS 源 | 全文 Markdown 归档 | ~50 篇/天 |
| L2 筛选 | RPA + AI | 50 篇全文 | 分类 + 去重 + 标记高价值 | ~15 篇 |
| L3 精炼 | AI | 15 篇精选 | 2-3 句中文知识卡 + 向量入库 | ~10 张卡 |
这里的设计思路是关键:
- L1 交给 RPA:全量抓,不筛选。12 个 RSS 源的技术/科学/经济类文章,一天 50 篇全拉下来。
- L2 RPA + AI 协同:RPA 先做技术性去重(URL 已存在?标题相似度 > 90%?),AI 再做语义判断(这篇文章讲的是概念还是实践?有具体数据吗?值得精读吗?)
- L3 全交给 AI:对精选文章写 2-3 句中文摘要,存进 LanceDB 向量库,可被后续检索。同时生成知识卡——不是摘要机器翻译,是理解后的浓缩。
第四条:L2 记忆整合——AI 写的 AI 日记
这条管线最抽象也最独特。每 3 天,AI 读一遍这几天的每日日志(memory/YYYY-MM-DD.md),然后自己判断:哪些事件值得进入长时记忆(MEMORY.md),哪些需要更新到场景块。
这里 RPA 做的事情很少——只是把文件路径喂给 AI。但如果没有 RPA 的定时触发,这些每日日志就会趴在磁盘上,从来没人看。
核心逻辑:
# L2 整合的 Prompt 片段
1. 读取最近 3 天的每日日志
2. 比对当前 MEMORY.md 内容
3. 提取:
- 新的决策/偏好变更
- 项目状态变更
- 新的用户特征
- 待确认事项的新信息
4. 更新 MEMORY.md 对应章节
5. 删除已过时的条目
注意:只记录实质性变化,不填废话。
这个设计有一个反直觉的点:AI 在写"过去三天发生了什么"的时候,比人记得更清楚。因为它能同时读 3 天 × 几千字的日志、MEMORY.md 的完整内容、以及 8 个场景块的上下文——人类很难同时 hold 住这么多信息做摘要。
工程上的几个关键决策
1. Cron 不是 cron,是 OpenClaw 原生调度
我不用 Linux crontab,而是用 OpenClaw 内置的 cron 系统。一个配置长这样:
{
"name": "微信小家电热销TOP10每日发布",
"schedule": { "kind": "cron", "expr": "0 9 * * *", "tz": "Asia/Shanghai" },
"payload": {
"kind": "agentTurn",
"message": "执行每日小家电热销榜单自动发布: node scripts/wechat-mp/daily-publish.js",
"timeoutSeconds": 180
},
"failureAlert": {
"after": 2,
"channel": "wechat",
"cooldownMs": 3600000
}
}
这比 crontab 有几个优势:
- 失败告警开箱即用:不需要自己搭监控 + 通知链路
- 超时保护:管线卡死了不会永远占着进程
- payload 可以写自然语言:给 AI 发 prompt 和跑 shell 命令是同一种配置
- 状态可查:上一次跑了多久、成功还是超时、连续失败几次——都在
openclaw cron list里
2. 隔离会话,不污染主工作区
每个 cron job 跑在独立的 isolated 会话里。这意味着管线 A 在执行时不会往管线 B 的上下文里塞东西,也不会干扰我和 AI 的实时对话。
代价是一次跑 7 个作业会消耗额外的 token——但换来的是"每条管线独立排障"的能力。值。
3. 两段式失败处理
不是"失败就告警",而是"失败一次 → 自动重试 → 再失败 → 才告警"。因为网络抖动这种瞬时故障,绝大多数能在第二次重试时自己恢复。没必要每次失败都把人叫起来。
"failureAlert": { "after": 2, "cooldownMs": 3600000 }
翻译成人话:连续失败两次再通知,一小时内不重复轰炸。
什么不适合混合模式
诚实地说,不是所有场景都适合。以下几种情况就别折腾了:
- 纯确定性流程:每天备份数据库、清理日志——这些不需要 AI,crontab 一行搞定
- 实时性要求极高:AI 推理有延迟(几秒到几十秒),如果你的管线是"100ms 内必须响应",AI 段会成为瓶颈
- 预算极度敏感:每条 AI prompt 都有 token 成本。1000 条数据让 AI 逐个判断和让规则引擎过滤,成本差几个数量级
总结:RPA + AI 的真正威力
四条管线跑了快一个月,我的感受是——混合模式最厉害的地方不是"比纯 RPA 聪明"或"比纯 AI 便宜",而是:
它把"需要人判断的事"降到了最低,把"不需要人判断的事"做到了零人工。
每天 09:00,小家电榜单自动发公众号。每天 22:00,百度统计日报自动推。每 6 小时,知识管线自动收割外网内容。每 3 天,记忆系统自动整合。
我应该做的事是创造和决策——不是每天早上 9 点手动跑一遍脚本。
这才是自动化应该有的样子。
标签:RPA · AI Agent · 自动化管线 · 工作流设计 · OpenClaw · 定时任务
📱 关注公众号「星尘和光文化传媒」
每周推送 AI 实战技术文章、全栈开发案例和自动化管线拆解。
不写广告,只写踩坑录。