营销团队打算用 if Studio 批量生成多产品文案,通常会卡在两个地方:一是单条生成结果不稳定,二是没有机制拦截敏感词和错误语义。稳妥的判断是:先把文案拆成可枚举的变量,再用智能体按统一 JSON 结构输出;生成之后必须经过规则节点过滤和人工抽检,才适合进入发布流程。
适合已有稳定产品资料、文案字段固定的团队。做法是把商品名、卖点、渠道作为输入变量,用固定 JSON 模板约束输出,再通过批量任务逐条生成;自动合规规则只能拦截词面命中,语义和语气必须保留人工抽检。验证方式是每批留样本、记录拦截原因、把反馈重新灌回智能体,效果需要结合自身行业词表确认。
定义文案变量和输出格式
批量生成的前提是让“每个产品不同”和“每篇文案的骨架相同”分开。先把变化点整理成变量,再约定输出格式。
| 变量名 | 示例值 | 说明 |
|---|---|---|
| product_name | 便携榨汁杯 | 商品名,用于标题和正文首行 |
| selling_points | 无线充电;6叶刀头;IPX7防水 | 分号分隔,生成时按顺序提取 |
| channel | 小红书 | 决定语气、标题风格和话题标签 |
| target_audience | 办公室白领 | 影响人称和场景写法 |
| max_length | 300 | 限制单篇正文长度 |
输出格式建议固定为 JSON,方便后续自动写入表格或发布系统。占位符写法如下:
{
"product_name": "{{product_name}}",
"channel": "{{channel}}",
"title": "{{title}}",
"body": "{{body}}",
"hashtags": ["{{hashtag1}}", "{{hashtag2}}"]
}
每个输入变量在智能体指令里都用 {{变量名}} 包裹,执行批量任务时会被替换成真实值。固定 JSON 结构不是限制创意,而是让后续规则节点和人工抽检都能按字段读取内容。
在 if Studio 中构建文案生成智能体
把生成规则固化成一个可复用节点。指令模板需要同时包含角色、变量、输出要求和禁止项。
你是电商文案写手。请根据变量生成适合{{channel}}的推广文案。
商品名:{{product_name}}
卖点:{{selling_points}}
目标人群:{{target_audience}}
字数不超过{{max_length}}字。
要求:
1. 开头直接使用痛点或场景,不写套话。
2. 卖点按重要程度排序,使用口语化表达。
3. 结尾带一个明确的行动指令。
4. 只输出 JSON,不要输出额外说明。
输出格式:
{"product_name":"...","channel":"...","title":"...","body":"...","hashtags":["..."]}
单条测试是必须做的一步。在调试面板里先用一个真实产品字段跑通,检查 JSON 是否能被正常解析、卖点是否完整、长度是否接近上限。调整输出长度可以直接改 max_length 变量;调整风格则在指令第 2 条后面追加控制词,比如“语气亲切但不要使用‘你还在犹豫什么’”“避免‘第一’‘最’等绝对化表述”。每次修改后至少用两个不同产品复测,确认稳定后再进入批量。
通过批量任务输入产品列表
单条验证通过后,把产品整理成 CSV 或 JSON 导入批量任务。CSV 每行对应一个产品,必须带唯一追踪标识。
trace_id,product_name,selling_points,channel,target_audience,max_length
P001,便携榨汁杯,"无线充电;6叶刀头;IPX7防水",小红书,办公室白领,300
P002,降噪头戴耳机,"40小时续航;主动降噪;折叠收纳",淘宝,通勤用户,200
批次大小建议从 50 条开始试跑。如果环境允许,可以先跑一个 10 条的测试批次,确认输出稳定后再放大。失败策略建议选择“失败跳过并记录”,同时设置连续失败 5 条自动暂停。这样不会因为单条报错中断整批,也能在问题扩大前停下来。批量任务会产生大量结果,必须把 trace_id 写进每一条输出记录,否则后续无法定位是哪一行的数据。
配置自动合规检查
合规检查放在生成节点之后,用规则节点扫描 title 和 body 中的敏感词和禁用词。这里给一个通用配置骨架,实际字段名需要对照当前 if Studio 环境的规则节点配置调整。
{
"check_node": {
"input_fields": ["title", "body"],
"block_words": ["最", "第一", "国家级", "绝对", "根治"],
"on_hit": {
"action": "reject_and_log",
"log_table": "review_flagged"
}
}
}
其中 block_words 是敏感词组列表,需要根据广告法和平台社区规则配置;reject_and_log 表示命中后拦截文案并写入记录表。记录内容至少包括 trace_id、命中词、原文片段、拦截时间。这样之后可以统计哪些词频繁命中,再决定是修改提示词还是补充词表。需要注意:规则只能做词面匹配,无法判断“本品不含”这类上下文反转,所以被拦截和未被拦截的内容都不能直接发布。
人工抽检误判和语义问题
自动检查之后,保留人工抽检环节。常见的抽检比例是每批次 5%,也就是 100 条里抽 5 条左右。抽检重点不是重复检查敏感词,而是看三类问题:一是基于上下文的合规误判,比如“最合适”是否被误伤;二是卖点排序是否符合产品真实卖点;三是语气是否明显模板化,例如每篇开头都是“你是否还在为……”。
反馈表建议保留以下字段:
| 反馈项 | 示例 |
|---|---|
| trace_id | P001 |
| 问题类型 | 语义不准确 / 语气不当 / 合规误判 / 事实错误 |
| 原文片段 | “办公室白领都在用” |
| 修改后文案 | “适合放在工位上的榨汁杯” |
| 是否加入敏感词表 | 否 |
把修改后的文案和问题类型整理成少量示例,追加到智能体指令的输出示例区,下一次生成时模型会参考这些样例调整。这个反馈闭环不需要每次抽检都重写整个智能体,只需要在固定节点里维护一份“优质示例列表”,跑完一批就把新样本加进去。逐批积累后,人工拦截量通常会下降,但具体下降幅度受行业词表和产品复杂度影响,需要结合真实运行数据确认。