🤖 第一章 Agent与RPA基础
📄 一句话概括

【怎么把 Agent 生成的东西稳稳地拿到手】是本课最技术的一节——四条路(接口 / 界面 / 文件 / 剪贴板)、一套解析方法(JSON 取字段、文本正则)、三条稳定性纪律(判空、超时、重试),合起来决定整条链路是【能演示】还是【能上线】。

📝 本节和前面几节的关系

1.6.1 讲了三种交互模式与接口四约定,本节专攻其中最关键的两条:怎么拿回结果、出错怎么办。这一节的内容会直接用在第 2 章起的所有案例里(尤其第 3 章【RPA 提交多轮对话信息并获取创作结果】)。

一、四条取结果的路径

路径 怎么拿 稳定性 适合
① 接口(API/Webhook) 调 HTTP 接口,返回 JSON ⭐⭐⭐ 最高 Agent 平台开放接口的场景(首选)
② 文件 Agent 把结果写成文件(JSON/CSV/Excel/txt),RPA 去读 ⭐⭐⭐ 高 平台支持导出、或中间落盘
③ 界面 从对话窗口里选中文字、复制、读取 ⭐⭐ 中 平台没有接口时的无奈之举
④ 剪贴板 自动复制+读剪贴板 ⭐ 低(易被干扰) 临时方案

优先级:接口 > 文件 > 界面 > 剪贴板。

这是 1.4.2【能用 API 就用 API】原则在 Agent 对接上的重演。 很多教程默认用【界面抓取】的方式取内容(去对话窗口里复制)——能跑通,但脆:窗口一改版、字一多就要重新调。

二、拿回来的东西长什么样:三种格式

① JSON(最常见)

{
  "title": "秋日润唇指南",
  "body": "天气一干,嘴唇就起皮……",
  "tags": ["润唇", "秋冬护肤", "好物分享"]
}

RPA 侧要做的:按字段名取(title 对应标题、body 对应正文)。多数平台有专门的【JSON 解析】组件,别用字符串截取——那是最容易出错的做法。

② 纯文本/Markdown

Agent 直接给一段带小标题的文字。RPA 要做的:按分隔符切段(比如按【## 标题】切、按【---】切)。前提是提示词里已经把格式写死了(1.2.2 反复强调的那一条在此兑现)。

③ 表格(CSV/Excel)

比如 Agent 输出一批关键词、一批标题。RPA 要做的:按行读取、逐行处理。

三、解析:两条规则 + 一个习惯

规则 1:能用结构化格式就用结构化格式。 让 Agent 输出 JSON,比让它输出一段自然语言再拿正则去抠,稳十倍。提示词里可以直接要求:请以 JSON 格式输出,字段为 title、body、tags。

规则 2:解析不出来要有兜底。 真实情况里,Agent 有时会在 JSON 外面裹一层解释文字(好的,以下是结果:{...})。所以:

习惯:永远保留【原始返回】。 把 Agent 的原始输出存一份(存进日志文件或数据库),出问题时你才有据可查。这一条能救你无数次。

四、稳定性三纪律(本节的重量级内容)

纪律 1:判空 任何取到的字段,用之前先判断有没有值。 典型事故:Agent 这次没生成 tags,RPA 直接往表格里写 → 写成空、或者把后面一列挤掉。

纪律 2:超时 Agent 生成是慢的(大段文案、配图可能要几十秒)。必须设超时上限,否则流程会【卡死在那里不动】——而且卡死的流程比报错的流程更可怕(没人知道它还在等)。

纪律 3:重试 + 上限 调用失败 → 等几秒 → 重试 → 最多重试 N 次 → 仍失败则记录并告警。 两个要点:① 重试之间要有间隔(立刻重试多半还是失败);② 一定要有次数上限(否则变成死循环,把额度烧光)。

再加一条:结果校验。 对拿回来的内容做最基本的检查【长度是否正常/是否包含必填字段/是否出现了明显的失败信息(如【抱歉,我无法…】)】。把 Agent 的【失败回答】当成成功内容发出去,是这类项目最经典的社死现场。

五、动手 Demo:调一个接口取 JSON 并写入 Excel

准备:影刀 + 一个返回 JSON 的公开接口(用于练习;也可以用扣子的 Bot 开放接口,如果账号支持)。

第一步——发请求:拖【HTTP 请求】组件: - 方法:GET - 地址:填一个公开的测试接口(返回 JSON 的那种)

第二步——看原始返回:先只运行这一步,在日志里看它返回了什么。这一步绝不能跳——你要先亲眼看到数据长什么样。

第三步——解析:拖【JSON 解析】类组件(或【提取数据】组件),从返回结果里按字段取(例如取一个文本字段)。

第四步——写入表格:拖【写入 Excel】,把解析出来的字段写到指定单元格/行。

第五步——加纪律: 1. 在解析后加一个【条件判断】:字段为空 → 写【获取失败】并跳过写入; 2. 给 HTTP 组件设置超时时间(如 30 秒)与失败重试 2 次。

看到什么算成功: 1. Excel 里出现了从接口真实取回的数据(不是手输的); 2. 故意把接口地址改错,再跑一次——流程不会崩,而是按你的设定重试、然后记录失败。

读结果: - 第一次成功证明【链路通了】; - 第二次失败证明【链路能扛错】——后者才是能上线的标志; - 对照本节四条路径:你刚才走的是路径 ①(接口),如果换成从对话窗口里复制文字,就是路径 ③,同样的任务,稳定性差一个量级。

30 秒实验

在任意对话式 AI 里输入:

请以 JSON 格式输出:三个适合秋天的护肤关键词。只输出 JSON,不要任何解释。

观察:大多数情况下它会给你一个干净的 JSON;但如果你把【只输出 JSON】那句删掉,它往往会加上【好的,以下是…】这样的开头。

结论:输出格式的稳定性【取决于你怎么要求】——这正是 1.2.2 的提示词四要素在工程上的直接回报。严格要求 + 兜底解析 = 可靠链路。

常见误区

  1. 【用字符串截取来解析 JSON】——字段顺序一变、多一层嵌套,立刻出错。用 JSON 解析组件。
  2. 【不设超时】——卡死的流程比崩溃的流程更危险:没人知道它在等,而它可能一直占着额度。
  3. 【重试不设上限】——变成死循环,把免费额度烧光、把账号跑挂。
  4. 【不校验内容】——把 Agent 的【抱歉,我无法…】当成正文发出去,是这类项目的经典事故。必须做最基础的内容校验。
  5. 【有问题再看日志】——日志要在做的时候就写进去。真实项目里,出问题时流程往往已经跑了三天,没有日志等于没有任何线索。
自测三问(点开对答案) 1. **取 Agent 结果的四条路径及优先级?** 接口(API/Webhook,最稳)> 文件(JSON/CSV/Excel)> 界面(从对话窗口抓文字)> 剪贴板(最脆、临时用)。**能用接口就用接口。** 2. **稳定性三纪律是什么?为什么还建议加【结果校验】?** 判空、超时、重试(带上限)。结果校验是因为:**Agent 可能返回【失败回答】(如【抱歉,我无法…】)**,如果直接当成功内容用,会造成对外发布的严重事故。 3. **为什么解析失败时【不能硬塞进表格】?** 因为**脏数据一旦进入下游,后面所有的统计和处理都会被污染**,而且很难回溯是哪一条出了问题。正确做法:**记录原始返回 + 告警 + 跳过这一条**。

相关笔记