一个人跑通内容自动化管线:5 个真实大坑,第 1 个我就踩了
摘要:这篇文章记录了我一个人用 WorkBuddy 搭内容自动化管线(采集→写稿→把关→发布→监测)的真实过程。不是教程,是踩坑实录。5 个坑里,第 1 个就让我返工了 3 次。如果你也在搭自动化流水线,先看完这 5 个坑再动手,能省下至少一个通宵。
最近这两天,我被一个数字整得有点上头。
55 秒。 从选题到一篇 3000 字的完整初稿,我的流水线现在只需要 55 秒。对,你没看错,不是 55 分钟,是 55 秒。
但你千万别急着羡慕。这个数字背后,是我连着三个晚上返工、踩了 5 个大坑才换来的。第 1 个坑,让我把同一条流水线从头搭了 3 遍。今天把这些坑原原本本写出来,一个都不藏。
如果你也在搭内容自动化管线,这篇文章能帮你避开至少 5 个通宵。
先说结论:我搭的是一条什么样的管线
我搭的这条管线,全链路 5 个环节,跟大多数做自媒体的朋友想做的事一模一样:
- 采集:联网搜索当日热门选题,关键词池固定(AI Agent、自动化流水线、RPA、浏览器自动化、跨境电商×AI)
- 写稿:用卡兹克文风 skill 生成初稿,任务书把格式钉死
- 把关:违禁词扫描,0 命中才放行
- 发布:CDP 驱动真实浏览器登录,推送到草稿箱
- 监测:每天检查草稿箱状态,人工点发布
听起来很顺对吧?但这 5 个环节,每个环节都埋了一个坑。 我把它们按「踩的先后顺序」排好了,第 1 个坑最容易踩,也最隐蔽。
第 1 个坑:任务书写成散文,AI 就给你自由发挥
这是我返工 3 次的那个坑。
一开始我写任务书是这样的:
帮我写一篇关于 AI 自动化的文章,要生动一点,有干货。
结果 AI 给我交上来一篇「在当今 AI 快速发展的时代,自动化技术正深刻改变着......」的八股文。开头两句话我就想删号重练。
问题不在 AI,在我的任务书。任务书写得越模糊,AI 的自由发挥空间就越大,翻车概率就越高。 我后来学乖了,把任务书改成了「可验收的规格说明书」:
markdown
# 写作任务书
- 目标平台:掘金(技术向,读者是来学东西的)
- 标题:带数字+收益钩子(如「5 个真实大坑」)
- 结构:至少 3 个 ## 小标题,每节开头一句话说清要点
- 风格:卡兹克文风(口语化、禁用冒号/破折号/双引号)
- 硬性元素:加粗关键句≥3 处、列表或表格≥1 个、代码块≥1 个
- 禁用词:说白了、本质上、这意味着、换句话说、不可否认
- 字数:3000-4000 字
- 验收标准:全文可一次过违禁词扫描,0 命中
改完任务书的当天,出稿质量直接上一个台阶。写清楚验收标准,AI 才知道什么叫「写完」。 这个坑的教训,一句话就能概括:把 AI 当外包,任务书就是你的合同。
第 2 个坑:API 返回 200,文章却没发出去
这个坑最阴。它发生在「发布」环节。
头一回跑通发布时,我看到终端输出 publish success、返回码 200,心里那叫一个爽,感觉自己已经是自动化大师了。结果打开掘金创作中心一看,草稿箱空空如也,一篇都没有。
API 返回成功,不等于事情真的办成了。 这是 API 假成功陷阱,做自动化的人十有八九都栽过。原因五花八门:
- 登录态过期了,接口返回 200 但其实是个错误响应体
- 参数格式不对,服务端静默吞掉了
- 限流被降级,返回了缓存结果
| 环节 | 我只信返回码 | 我后来加的真验证 |
|---|---|---|
| 发布 | 返回 200 就当成功 | 发布后主动拉取草稿列表,比对标题是否出现 |
| 写稿 | 文件生成了就当完成 | 校验字数、小标题数、禁用词扫描结果 |
| 采集 | 接口返回数据就当有料 | 检查结果条数是否 ≥1,空列表直接触发兜底搜索 |
自动化的核心不是让机器干活,是让机器证明它干成了活。 从那以后,我所有环节都加了一层「结果自证」,宁可多花几秒校验,也不信一个光秃秃的 200。
第 3 个坑:只信 JSON 不信人眼,版式崩了都不知道
这个坑跟第 2 个是连体婴。第 2 个坑是「文章没发出去」,这个坑是「发出去了但没法看」。
有次发布显示成功,草稿箱里也确实有文章,我心想这下稳了。结果第二天人工打开一看,Markdown 的表格全乱套了,代码块的高亮没了,图片全裂。
问题出在哪?我全程只看了脚本输出的 JSON,从没打开浏览器亲眼看过成品。 发布脚本验证的是「草稿存在」,但没验证「草稿长什么样」。
解决方案很朴素,也很直接:
- 发布后用 CDP 控制真实浏览器,打开草稿编辑页截图
- 把截图作为交付物之一,跟草稿 ID 一起归档
- 每天固定一个检查点,人眼过一遍截图再决定发不发
技术浓度越高的内容,越不能只信机器自检。 表格、代码块、图片,这些东西只有人眼扫一遍才放心。我的流水线再快,也保留了这个每天 5 分钟的人工检查点,雷打不动。
第 4 个坑:全链路一把梭,翻车了才发现
第 4 个坑是我自己作出来的。
当时我觉得 5 个环节都通了,就写了一个「一条龙」脚本,从采集一路跑到发布,中间没有任何停顿。跑通的那天我发了条朋友圈,配文是「全自动了,兄弟们」。
第二天就被打脸。写稿环节一次违禁词误伤,整个管线直接发布了一篇不合格的文章出去。全自动听着爽,翻车的时候也爽,只不过翻的是全盘。 单点故障 = 全线故障,这是全链路一把梭的代价。
我的补救措施,就是把「把关」从流水线里单独拎出来,做成硬卡点:
- 写稿完成 → 自动跑违禁词扫描,0 命中才允许进入下一环节
- 扫描通过 → 自动推送到草稿箱,停在这里,绝不再往前走
- 草稿推送成功 → 通知我人工预览、精修、点发布
自动化管线的核心原则:机器做得到 80%,剩下 20% 的人工判断绝不能省。 尤其是发布这种不可逆动作,永远留一个人工卡点。我的方案是把发布权限牢牢握在手里,机器只负责把文章送进草稿箱,最终点发布的那个人,永远是我。
第 5 个坑:没有重试和回退,一次失败全线卡死
最后一个坑,发生在某个周日的深夜。
当天采集环节的网络波动了一下,接口超时,然后整条流水线就像多米诺骨牌一样倒了,草稿箱空空如也,而我直到第二天早上才发现。一次失败直接卡死整条管线,这比失败本身更可怕。 我蹲在电脑前想了很久,结论是我把流水线想得太「线性」了,现实世界的网络、接口、登录态,没有一个是线性的。
修复方案是给每个环节都加上异常处理:
python
# 每个环节都套上这个骨架:重试 3 次,失败降级,最后兜底人工
def run_stage(name, fn, fallback=None, retries=3):
for attempt in range(retries):
try:
result = fn()
return result
except Exception as e:
print(f"[{name}] 第 {attempt + 1} 次失败: {e}")
time.sleep(attempt * 30) # 指数退避
if fallback:
print(f"[{name}] 重试耗尽,走兜底路径")
return fallback()
raise RuntimeError(f"[{name}] 全部失败,需要人工介入")
配套的三条铁律,我现在贴在工作区墙上:
- 失败降级:采集失败就换关键词池重搜,写稿失败就换备用任务书
- 定时监测:每天跑完自动检查草稿箱,空了就告警,不等到第二天
- 兜底人工:所有环节重试耗尽后,统一走「通知人工」出口,绝不让失败静默
一条健壮的流水线,不是永远不会失败,是失败了也知道怎么爬起来。 从那以后,我的管线再没出现过「第二天早上才发现昨晚挂了」的情况。
现在的流水线长这样:5 步搭法,照抄即可
说完了坑,把这套东西完整交给你。以下是当前实际在跑的结构,你完全可以照着搭一遍:
| 步骤 | 环节 | 用什么 | 关键动作 |
|---|---|---|---|
| 1 | 选题 | 联网搜索 + 选题库 | 关键词池固定,每日 16 条候选,取优先级靠前的 1 条 |
| 2 | 写稿 | 文风 skill + 任务书 | 任务书钉死格式,55 秒出 3000 字初稿 |
| 3 | 把关 | 违禁词扫描脚本 | 0 命中才放行,命中就地改稿重扫 |
| 4 | 发布 | CDP 驱动真实浏览器 | 只推草稿箱,截图留证,不直接发布 |
| 5 | 监测 | 每日检查任务 | 草稿状态确认,人工点发布,当日 1 篇 |
给你 3 条可以直接落地的建议:
- 任务书先写验收标准,再写内容要求。验收标准决定了 AI 的下限
- 发布永远走草稿箱,最终发布权留给自己。这是成本很低的人工卡点
- 每个环节加「结果自证」,校验过了才算跑完,不信返回码
这套东西的成本是多少?我算过一笔账:任务书 30 分钟写清楚,脚本半天调通,之后每天全自动,只需要留 5 分钟人工检查。55 秒出稿,5 分钟检查,剩下的时间都是你的。 而这套管线的逻辑不止能写文章,1688 图册、日报、周报复盘,只要是「采集→加工→输出」的活儿,都能套同一个架构。
说到底,自动化的意义从来不是取代人,是把人从重复劳动里解放出来,去做机器做不了的那 20% 的判断。
你对内容自动化有什么想聊的,或者想让我拆解哪条环节的细节,评论区见。下一篇我打算写「CDP 驱动真实浏览器的踩坑实录」,把登录态、验证码、反爬这几个硬骨头逐个拆开,感兴趣的朋友可以先点个关注。
以上,既然看到这里了,如果觉得不错,随手点个赞、在看、转发三连吧,如果想及时收到推送,也可以给我个星标⭐~ 谢谢你看我的文章,我们,下次再见。