🤖 第二章 应用实战:小红书运营增效助手
📄 一句话概括

这条流程只干两件事:从表里挑出【待创作】的行,把它们提交给 Agent;技术本身很浅(读表、循环、发一次请求),难点全在顺序与隔离上——先改状态再调用(防重复提交)、单行失败不影响整批(错误隔离)、参数每次传全(不靠记忆)。

📝 本节和前面几节的关系

2.3 造完了 Agent(会想),从这里起进入本章的下半场:RPA 侧(会做)。三节正好对应流程图上的 N2、N5、N7——提交、取回、填发布页。本节是链条上第一次让两个平台握手,也是 1.6.1【RPA 调 Agent】模式的第一次实操。

一、这条流程干什么

项 内容
触发者 人(手动点运行)或定时任务
输入 素材表里状态=待创作的行
动作 逐行:改状态 → 调 Agent 工作流接口 → 收结果
输出 表里对应行被填上 Agent 返回的内容,状态变成【待审】
不做 不发布任何东西、不碰任何评论与私信

二、流程骨架:七步

① 打开素材表(Excel 或在线表格)
        │
        ▼
② 读取整张表(拿到所有行)
        │
        ▼
③ 循环每一行
        │
        ├── ④ 判断:状态 ≠ 待创作? → 跳过,进入下一行
        │
        ├── ⑤ 把该行状态改成【生成中】,立刻保存
        │
        ├── ⑥ 发 HTTP 请求调用 Agent 工作流(传 4 个参数)
        │
        └── ⑦ 收到结果 → 交给 2.4.2 的解析逻辑写回表
        │
        ▼
   日志:本批共处理 N 行,成功 M 行,异常 K 行

这七步里,④⑤⑦ 三步是【防翻车】的三道闸门,比 ①⑥ 重要得多。

三、④ 判断:为什么必须有这一步

RPA 的循环最危险的地方是【它不认路,只会按顺序走】。 如果循环里没有判断,你第二次运行时会把已经处理过的行再处理一遍——重复提交既浪费额度,又可能把已经审好的内容覆盖掉。

判断的写法(一句话就够):

如果 当前行.状态 不等于 "待创作":
    写日志【跳过第 N 行,状态为 xxx】
    进入下一行

另外两个值得加的跳过条件:

条件 为什么
选题为空 空行不该被提交(表里常有空行)
备注里有【人工处理中】 你手动标过的行,机器别动

四、⑤ 先改状态,还是先干活

这是一个顺序问题,两种做法都对,但适用场景不同:

做法 顺序 优点 缺点
A:先改状态再调用 改成【生成中】→ 调 Agent 防重复提交 调用失败会留下【生成中】的悬行,需要人处理
B:先调用再改状态 调 Agent → 成功后改成【待审】 失败不留悬行 中途崩溃时会重复提交

本案例选 A。 理由:

⚠️ 用 A 就必须配一条【悬行清理】的习惯

每次跑完,扫一眼有没有【生成中】的行。有的话,看备注里的错误原因——是超时、还是接口报错。这不是额外工作,是这套顺序的配套动作。

五、⑦ 错误隔离:一行坏,不能带倒一整批

循环里最容易犯的错,是【一个错误直接中断整个流程】。 一旦第 3 行报错,第 4 到第 30 行全部不跑——而你往往要等十几分钟后才发现。

正确结构:

循环每一行:
    尝试:
        改状态 → 调接口 → 解析 → 写回
    捕获异常:
        把该行状态改成【异常】
        把错误原因写进备注列
        写日志
        继续下一行          ◄── 关键在这一句

同时配两条纪律:

纪律 具体做法
重试有上限 同一个接口最多重试 2 次,间隔几秒;再失败就标异常
全批有汇总 跑完在日志里写【本批 N 行,成功 M,异常 K】,并把异常行的 id 列出来

六、表格即接口:提交时传什么

参数要传全,一次说清。 对应 2.2 那张表的四个输入字段:

表格字段 传给 Agent 的变量 示例值
选题 topic 小户型玄关收纳
关键词 keywords 玄关收纳,小户型,收纳好物
风格 style 亲切干货
目标字数 words 400
📝 为什么一次传全,而不是让它去记忆里找

因为记忆会变,参数不会。自动化的判据是【同样的输入得到同样的输出】——参数每次传全,结果才可复现(2.3.3 第五节已经讲过这一条,这里是它在代码里的落地)。

七、⚙️ 2026 现状:影刀上的这几件事

⚠️ 凭据是密码,不是配置

接口地址里的授权凭据(Token/Key)等同于密码:不要写进笔记、不要截图发群里、不要提交到公开仓库。做法:放在影刀的环境变量或凭据管理里,流程里只引用变量名。

八、动手 Demo:读 3 行,提交 1 行

准备:一张素材表(4 列输入 + 状态列),3 行测试数据;一条已经发布、能拿到接口地址的 Agent 工作流。

id  选题            关键词              风格     字数  状态
001 小户型玄关收纳   玄关收纳,小户型      亲切干货  400   待创作
002 露营装备清单     露营,装备,新手      清单体    500   待创作
003 (空行)         (空)              (空)    (空) 待创作

第一步——读表:用【读取表格】指令把整表读进一个变量,先打印行数,确认 3 行都读到了。

第二步——建循环:循环每一行,第一件事就是打印当前行的 id 与状态(这一步能省掉大量调试时间)。

第三步——加判断:状态不是【待创作】、或者选题为空 → 跳过并写日志。(按上面的数据,003 应该被跳过。)

第四步——改状态:把 001 的状态改成【生成中】,立刻保存表格。

第五步——发请求:用【HTTP 请求】指令调用 Agent 工作流,四个参数从当前行取。

第六步——看返回:把返回的原始文本存进备注列(先不解析,本节只验证【能拿到】)。

第七步——跑一次看日志:应该看到【处理 3 行 → 跳过 1 行(空选题)→ 成功 1 行】。

看到什么算成功:

  1. 空行被跳过了,没有报错、也没有被提交;
  2. 返回的原始文本里能看出四个字段的名称(说明 Agent 正常回话了);
  3. 表里的状态确实变了(001 变成【生成中】或【待审】);
  4. 再点一次运行:001 已经不是【待创作】,它不会再被提交一遍——这就是第四节那道闸门生效的证据。

读结果:本节只做到【能拿到返回的原始文本】。把它变成表里整齐的四列,是下一节 2.4.2 的事。 分两步走的理由和 2.3.1 一样:一次只解决一个问题,出错时才能定位。

30 秒实验

在循环里故意制造一次失败——把接口地址的最后一位改掉,然后运行。

结论:自动化流程的价值不体现在【顺利时跑得快】,而体现在【出问题时坏得住】。 一个没有错误隔离的批量流程,跑 30 行和跑 3 行是一样的风险。

常见误区

  1. 【循环里不判断状态,反正我只跑一次】——错。 你一定会跑第二次、第三次。没有判断的循环,第二次运行就是在重复提交。
  2. 【失败了就整体中断,回头再跑一遍】——错。 整体重跑会把已经成功的那部分再做一遍。正确做法是错误隔离 + 只重跑异常行。
  3. 【先调用、成功了再改状态,避免留悬行】——不是错,但本案例不采用。 它换来的是【中途崩溃就重复提交】。重复提交会覆盖已审内容,比留一个看得见的悬行严重。
  4. 【把授权凭据写在流程里方便看】——错。 凭据等于密码,放环境变量或凭据管理,流程里只引用变量名。
  5. 【表格里多几个空行无所谓】——错。 空行会被当作【待创作】提交,白白消耗额度,还会在 Agent 那边产生莫名其妙的输出。用【选题为空就跳过】挡掉。
自测三问(点开对答案) 1. **为什么循环的第一步必须先判断【状态是不是待创作】?** 因为 RPA 的循环**只会按顺序走、不认路**。第二次运行时,没有判断就会把已处理过的行再提交一遍——**既浪费额度,又可能覆盖已经审好的内容**。 2. **【先改状态再调用】和【先调用再改状态】各有什么代价?本案例为什么选前者?** 前者**防重复提交**,但失败会留下【生成中】的悬行;后者不留悬行,但中途崩溃会**重复提交**。本案例选前者,因为**重复提交会覆盖已审内容,而悬行是看得见、好处理的**——看不见的错误更危险。 3. **错误隔离的三步是什么?为什么【继续下一行】是其中最关键的?** ① 捕获异常;② 把该行标成【异常】并把原因写进备注;③ **继续下一行**。第三步最关键:**没有它,第 3 行出错会让第 4 到第 30 行全部不跑**,而你要等很久才会发现。

相关笔记