这条工作流干一件事:把【选题+关键词+风格】变成【标题+正文+标签+配图提示词】四个字段;它的难点不在【让 AI 写文案】,而在让输出变成下游能直接解析的结构化 JSON——因为这条工作流的输出不是给人读的文章,而是给 RPA 读的接口。
2.2 定了字段与状态机,本节开始填第一个方框(N3 内容生成)。这是本章的第一条工作流,也是难度最高的一节——难在【约束输出格式】,不在【写提示词】。它是 1.2.2【提示词设计】与 1.2.3【工作流编排】的第一次真正合体,输出的 JSON 会被 2.4.2 解析。
一、这条工作流解决什么
| 项 | 内容 |
|---|---|
| 输入 | 选题、关键词、风格、目标字数(4 个字段) |
| 输出 | 标题、正文、标签、配图提示词(4 个字段,结构化) |
| 谁调用它 | RPA(2.4.1),一行一行地调 |
| 成功判据 | 返回能被 JSON 解析器直接解析、且四个字段都在 |
注意输出里有【配图提示词】——它不是给人看的,是给下一节 2.3.2 的图像生成节点看的。一次生成,两种产物(给人读的文案 + 给机器读的提示词)。
二、节点图:五个节点
开始(收选题/关键词/风格/字数)
│
▼
① 大模型节点:写文案(人设+四要素提示词)
│
▼
② 大模型节点(或代码节点):把文案整理成 JSON 四字段
│
▼
③ 插件/代码节点:违禁词检查(红了就替换或标记)
│
▼
结束:输出结构化结果
为什么要有 ② 这个中间节点(而不是让 ① 一步输出 JSON):
- 一步到位(让 ① 直接吐 JSON):写得好时最省事,但模型容易在 JSON 外面加解释文字(【好的,这是您的小红书笔记:】),导致下游解析失败;
- 两步走(先写文案,再整理格式):多一个节点,但每一步都更容易检查;而且 ② 可以用【代码节点】做,代码不会发挥、不会加解释,稳定性高得多。
凡是【给机器读】的输出,宁可多一步、也要让它确定。 需要创意的那一步交给大模型,需要精确的那一步交给代码或结构化输出约束——这就是 1.2.3 那句【确定的外框 + 弹性的内芯】。
三、提示词怎么写:四要素落到本场景
第一章 1.2.2 的四要素(角色/任务/约束/输出格式),这里给一份可以直接抄的版本:
# 角色
你是小红书的家居好物分享博主,说话像跟朋友聊天,不端着、不堆术语。
# 任务
根据我给的选题与关键词,写一篇小红书图文笔记,并给出配图提示词。
# 约束
1. 正文 300 到 500 字,短句为主,每段不超过 3 行;
2. 开头一句要写出具体场景的痛点,不要用【大家好】这类开场;
3. 关键词必须自然出现在正文里,不要硬塞;
4. 标签 3 到 5 个,用逗号分隔;
5. 配图提示词只描述画面(主体、场景、风格、构图、光线),不要出现文字;
6. 全文不得使用绝对化用语:最好、第一、全网最低价、100%、永久、根治;
7. 不得出现联系方式、不得引导私信。
# 输出格式
严格输出一个 JSON 对象,不要任何解释文字、不要代码块标记:
{"title": "标题", "body": "正文", "tags": ["标签1", "标签2"], "image_prompt": "画面描述"}
# 输入
选题:{{topic}}
关键词:{{keywords}}
风格:{{style}}
目标字数:{{words}}
三个细节值得留意:
- 约束 6 与 7 是【合规约束】——把违禁词清单直接写进提示词,让它在生成阶段就避开,比生成完再改便宜得多;
- 输出格式里明确写【不要任何解释文字】——这一条能挡掉最常见的解析失败;
{{topic}}这类花括号是变量占位符——在扣子里由开始节点传入,不是模型猜的。
四、输出必须是结构化 JSON:字段定义
| 字段 | 类型 | 长度/数量约束 | 用途 |
|---|---|---|---|
| title | 字符串 | 8~25 字 | 笔记标题 |
| body | 字符串 | 300~500 字 | 笔记正文 |
| tags | 字符串数组 | 3~5 个 | 话题标签 |
| image_prompt | 字符串 | 30~120 字 | 给图像生成节点用 |
一次真实的返回(示例):
{
"title": "小户型玄关太乱?三件收纳好物让门口清爽一倍",
"body": "玄关永远堆着鞋和快递盒,出门前翻三分钟找不到钥匙,这种事每周要发生两三次。\n\n我上周末把玄关重新收拾了一遍,最后只留下三件东西。第一件是窄边换鞋凳,宽三十厘米,底下能塞四双常穿的鞋,坐着换鞋不用再单腿站。第二件是壁挂钥匙盘,进门顺手一挂,出门伸手就拿,比放抽屉里省事。第三件是折叠收纳箱,专门收快递盒和购物袋,攒满了一趟拎下去。\n\n三件加起来占不到半平米,门口却清爽了一倍。买之前建议先量一下门后到墙的距离,我家门后只有二十厘米,窄边款刚好放下,再宽一点就挡门了。另外别一次买太多收纳盒,用不上的盒子本身也是杂物。\n\n现在每天出门前不用再找东西,玄关地面是空的,扫地机器人也能进去转一圈。如果你家玄关也很小,不妨先做减法再谈收纳——扔掉不穿的鞋和攒了没用的袋子,剩下的空间往往比你想象的大。",
"tags": ["玄关收纳", "小户型", "收纳好物", "入户玄关"],
"image_prompt": "暖色调居家实拍风,窄边换鞋凳靠墙,上方壁挂钥匙盘,画面右下角一个折叠收纳箱,浅木色与米白色系,柔和自然光从左侧照入,竖构图,留出上方三分之一空白区域"
}
因为封面还要自己加标题文字(3:4 竖版的文字区通常放在上方或中上部)。把【哪里要留空】提前告诉图像模型,后面加字就不会压到主体——这是 2.3.2 会用到的一个小技巧。
五、违禁词自检:把合规写进工作流
违禁词不是【编辑的事】,要写进流程。 三种做法,从轻到重:
| 做法 | 怎么实现 | 优点 | 缺点 |
|---|---|---|---|
| 写进提示词 | 在约束里列出禁用词 | 零成本、生成阶段就避开 | 挡不住漏网的 |
| 代码节点自查 | 用一个替换表遍历正文 | 完全可控、结果确定 | 词表要自己维护 |
| 接检测工具 | 调用第三方检测能力(如零克查词、句易网) | 词库更新快 | 需要账号/额度,且最终还要在编辑页用官方检测确认 |
建议的顺序:三层都上,从便宜到贵。 提示词兜第一层,代码兜第二层,第三方工具兜第三层,最后发布前在创作页用平台自带的检测按钮做终检。
核心原则(上一节提过,这里是可执行的版本):
| 违禁表达 | 安全替代 | 说明 |
|---|---|---|
| 最好/最佳 | 个人体验不错/我的心头好 | 避免绝对化用语 |
| 第一/No.1 | 个人心中的 Top | 不做排名承诺 |
| 全网最低价 | 价格很划算 | 不做价格对比承诺 |
| 美白/祛斑 | 提亮肤色/均匀肤色 | 化妆品不宣传功效 |
| 祛痘 | 净透护理/控油清洁 | 不暗示医疗效果 |
| 减肥/瘦身 | 体态管理/健康管理 | 不做效果承诺 |
| 治疗/治愈 | 调理/改善/舒缓 | 不替代医疗建议 |
| 100% 有效 | 个人体验供参考 | 不做效果保证 |
| 加微信/加 V | 主页有联系方式 | 不在正文引流 |
一句话原则:用个人体验代替客观断言,用描述感受代替承诺效果,用建议参考代替绝对推荐。
简单字符串匹配一定会误报。 本节示例正文里有一句【第一件是窄边换鞋凳】——这里的【第一】是序号,不是排名承诺,但一个只做关键词包含判断的脚本会把它标红并改掉,改完句子就说不通了。 处置办法:用搭配而不是词根做判据(例如只匹配【第一名】【全网第一】【第一品牌】这类搭配,而不是单独一个【第一】),并且宁可漏报也不要乱改——漏掉的那部分,交给最后一层【创作页官方检测】兜底。
六、三种失败情形与兜底
| 失败情形 | 表现 | 兜底做法 |
|---|---|---|
| 字段缺 | JSON 合法,但少了 tags | 解析时给默认值([]),并在备注里写【缺 tags】 |
| 格式乱 | 返回里夹着解释文字、或用了中文引号,JSON 解析失败 | 用正则先截取第一个 { 到最后一个 } 的片段再解析;仍失败就把整段存进备注,标【异常】 |
| 内容越界 | 出现了违禁词,或写成广告体 | 代码节点替换;无法替换的标【待人工处理】 |
三种兜底都有一个共同动作:把问题写进备注字段,并把状态标成异常。因为一条坏数据如果被悄悄吞掉,它会在发布那一刻才暴露——那时已经晚了。
七、⚙️ 2026 现状:扣子上的这几件事
- 节点形态:低代码工作流里,生成图片有专门的图像生成节点(不需要自己拼 HTTP 请求),而且可以配合循环节点批量生成——这让 2.3.2 的实现简单了很多;
- 模型:图像侧提供了多个生图模型(Seedream 4.0/4.5/5.0 Lite 等),不同模型的参数与计费项不同,选哪个以平台实际界面为准(图像部分详见 2.3.2);
- 并发限制:图像生成节点在账号维度上有并发上限(当前文档写明为 4),批量生成时要控制调用频率,不要一次性把几十行全推出去;
- 图片链接有效期:图像节点输出的图片是链接格式、有效期约 1 年——所以 2.4.2 必须把图片下载到本地留档,不能只存链接;
- 模板可直接用:工作流有现成模板(例如图像生成器模板)可以先体验再改造,不必从空白页开始。
这一课的技术迭代速度是前面所有课里最快的。本节写的是结构与思路(节点怎么排、字段怎么定、失败怎么兜),这些东西一年后依然成立;具体的按钮位置、模型名称、额度规则,请以你打开时的界面为准。
八、动手 Demo:把这条工作流跑通一次
准备:扣子(coze.cn)账号,用手机号注册即可;一条新建的工作流。
第一步——搭骨架:新建工作流,拖出【开始 → 大模型 → 代码(或第二个大模型)→ 结束】四个节点,先全部用默认配置,把线连上。
第二步——填开始节点:定义四个输入变量:topic、keywords、style、words。
第三步——填提示词:把第三节那份提示词整体贴进大模型节点,把 {{topic}} 这类占位符换成引用开始节点的变量。
第四步——定输出格式:在结束节点里声明四个输出字段(title/body/tags/image_prompt),并让代码节点只输出这四个字段。如果不想写代码,就让第二个大模型节点承担【整理成 JSON】这一步。
第五步——试运行:用下面这组输入跑一次。
topic 小户型玄关收纳
keywords 玄关收纳,小户型,收纳好物
style 亲切干货
words 400
第六步——复制出来检查:把返回的 JSON 粘到任意一个 JSON 校验工具(在线校验器、或者记事本里数括号)里,看能不能解析。
看到什么算成功:
- 返回的文本能原样被 JSON 解析器接受——不夹解释文字、不夹代码块标记;
- 四个字段都在,且字数落在范围内——正文 300 到 500 字、标签 3 到 5 个、image_prompt 里没有【文字】字样;
- 换一组输入(比如把选题换成【露营装备清单】)再跑一次,格式依然稳定——跑通一次不算通,跑通三次才算。
读结果:这条工作流的输出 JSON,就是 2.4.1 里 RPA 要提交的请求体、也是 2.4.2 里要解析的返回体。先在扣子里把它调稳,再去影刀里接——顺序反了,你会分不清是 Agent 的问题还是 RPA 的问题。
30 秒实验
把本节第四节那段示例 JSON 复制出来,只改一件事:把 "tags": ["玄关收纳", "小户型"] 后面多余的逗号留一个(变成 "小户型"],} 那种)。
- 校验器报错了——恭喜,你亲眼看到了 JSON 的严格性:多一个逗号、少一个引号、用了中文引号,整个解析就会失败;
- 没报错——说明你改的地方不是语法位置,再试一下【把英文双引号换成中文引号】。
结论:Agent 的输出与 RPA 的解析之间,容不下一点点格式自由。 这就是为什么本节要专门用一节讲【结构化输出】——它是两个平台之间唯一的桥。
常见误区
- 【让大模型直接输出漂亮的小红书文案就行】——错。 输出如果是给人读的散文,RPA 无法可靠地拆出四个字段。给人读的文案和给机器读的 JSON,必须是同一次生成里的两种产物。
- 【JSON 用中文引号看起来更整齐】——错。 中文引号会让解析器直接失败。凡是给机器读的字段,一律用英文双引号。
- 【提示词越长越保险】——错。 行为准则写长(约束、格式),但资料不要塞进提示词(资料放知识库)。提示词里塞满资料,反而会稀释对格式的约束。
- 【违禁词靠人发布前肉眼扫一遍】——错。 人眼对违禁词不敏感(尤其是【最好】【第一】这类日常词)。提示词 + 代码表 + 检测工具三层兜底,最后用官方检测确认。
- 【一次跑通就可以接 RPA 了】——错。 大模型输出有随机性,要跑三次以上格式都稳定,才有资格接到自动化流程里。
自测三问(点开对答案)
1. **为什么这条工作流要有【先写文案、再整理成 JSON】两个节点,而不让大模型一步输出 JSON?** 因为大模型容易在 JSON 外面加解释文字(【好的,以下是……】),导致下游解析失败。**分成两步后,需要创意的一步交给大模型,需要精确的一步交给代码或明确的格式约束**——每一步都更容易检查,稳定性高得多。这也正是【确定的外框 + 弹性的内芯】。 2. **为什么把违禁词清单写进提示词的约束里,而不是等生成完再改?** 因为**在生成阶段避开,比生成之后返工便宜**。三类做法各有缺口(提示词挡不住漏网的、代码表要自己维护、第三方工具要额度且不如官方检测准),所以**三层都上,最后再用创作页自带的检测做终检**。 3. **三种失败情形分别怎么兜底?兜底的共同目标是什么?** **字段缺**→给默认值并在备注里写明;**格式乱**→先正则截取花括号之间的片段再解析,仍失败就整段存备注并标异常;**内容越界**→能替换的替换、不能的标【待人工处理】。**共同目标不是让错误消失,而是让错误可见**——坏数据被悄悄吞掉,会在发布那一刻才暴露。- ☐ 下一节(2.3.2 Agent图像生成工作流)
相关笔记
- 提示词设计 —— 四要素与【输出格式=接 RPA 的接口】的出处
- 工作流编排 —— 七种节点与【确定的外框+弹性的内芯】
- 小红书运营增效助手工作流程设计 —— 字段表的出处,本节的输出必须与它对齐
- 🤖 Agent+RPA实战 · 索引 —— 全课路线图