【怎么把 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 外面裹一层解释文字(好的,以下是结果:{...})。所以:
- 先尝试按 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 的提示词四要素在工程上的直接回报。严格要求 + 兜底解析 = 可靠链路。
常见误区
- 【用字符串截取来解析 JSON】——字段顺序一变、多一层嵌套,立刻出错。用 JSON 解析组件。
- 【不设超时】——卡死的流程比崩溃的流程更危险:没人知道它在等,而它可能一直占着额度。
- 【重试不设上限】——变成死循环,把免费额度烧光、把账号跑挂。
- 【不校验内容】——把 Agent 的【抱歉,我无法…】当成正文发出去,是这类项目的经典事故。必须做最基础的内容校验。
- 【有问题再看日志】——日志要在做的时候就写进去。真实项目里,出问题时流程往往已经跑了三天,没有日志等于没有任何线索。
自测三问(点开对答案)
1. **取 Agent 结果的四条路径及优先级?** 接口(API/Webhook,最稳)> 文件(JSON/CSV/Excel)> 界面(从对话窗口抓文字)> 剪贴板(最脆、临时用)。**能用接口就用接口。** 2. **稳定性三纪律是什么?为什么还建议加【结果校验】?** 判空、超时、重试(带上限)。结果校验是因为:**Agent 可能返回【失败回答】(如【抱歉,我无法…】)**,如果直接当成功内容用,会造成对外发布的严重事故。 3. **为什么解析失败时【不能硬塞进表格】?** 因为**脏数据一旦进入下游,后面所有的统计和处理都会被污染**,而且很难回溯是哪一条出了问题。正确做法:**记录原始返回 + 告警 + 跳过这一条**。- ☐ 下一节(1.6.3 技术融合价值)
相关笔记
- RPA与Agent交互 —— 接口四约定的出处
- 提示词设计 —— 【输出格式=接口】的源头
- RPA 的核心能力 —— 能用 API 就用 API 的原则
- 本章小结 —— 全章十结论的收束
- 🤖 Agent+RPA实战 · 索引 —— 全课路线图