教程

用 AI 批量生成电商商品详情页:从 SKU 表到可发布内容的完整工作流

用 AI 批量生成商品详情页,看似只需要把商品参数交给大模型,实际上最容易出现虚构卖点、规格混乱、不同 SKU 文案重复、违禁词失控和渠道格式不兼容等问题。真正可投入生产的方案,不是“批量复制提示词”,而是建立一条由商品数据清洗、事实约束、结构化生成、规则校验、人工抽检和多渠道发布组成的内容流水线。本文给出可直接实施的数据字段、提示词模板、JSON 输出结构、Python 批处理示例和质量控制清单

用 AI 批量生成电商商品详情页:从 SKU 表到可发布内容的完整工作流

文章摘要

用 AI 批量生成商品详情页,看似只需要把商品参数交给大模型,实际上最容易出现虚构卖点、规格混乱、不同 SKU 文案重复、违禁词失控和渠道格式不兼容等问题。真正可投入生产的方案,不是“批量复制提示词”,而是建立一条由商品数据清洗、事实约束、结构化生成、规则校验、人工抽检和多渠道发布组成的内容流水线。本文给出可直接实施的数据字段、提示词模板、JSON 输出结构、Python 批处理示例和质量控制清单。

---

一、为什么直接让 AI 写商品详情页通常会失败?

最常见的做法是把 Excel 中的商品名称和几个参数粘贴给大模型,然后要求:

请生成一个吸引人的商品详情页。

这种方法可以快速得到文字,却很难得到可靠的商品内容,原因主要有五个。

1. 原始商品数据不完整

很多商品表只包含:

- SKU;

- 商品名称;

- 价格;

- 一两项规格。

但详情页还需要适用人群、使用场景、材质、尺寸、包装、注意事项、售后规则和可验证卖点。如果数据缺失,模型会倾向于补全看似合理的信息,从而产生幻觉。

2. “卖点”和“事实”没有分开

“采用 304 不锈钢”是事实,“更耐用”是基于事实的表达,“行业第一、绝对安全、永久不坏”则可能属于无法验证或违规的承诺。

如果不区分事实字段和营销表达,模型很容易把推断写成事实。

3. 不同渠道要求不同

同一个商品在不同平台可能需要:

- 独立站 SEO 标题和 Meta Description;

- 淘宝、京东式卖点段落;

- 亚马逊 Bullet Points;

- 短视频口播文案;

- 社交媒体短标题;

- 广告平台限制字数的素材。

只生成一段通用长文,后续仍需要大量人工改写。

4. 批量生成会放大重复和错误

单篇文案看起来不错,不代表 5,000 个 SKU 也能稳定。批量任务中常见的问题包括:

- 标题结构高度重复;

- 所有商品都使用“匠心打造”“品质之选”;

- 参数单位被改写;

- 型号和颜色错位;

- 某一行脏数据污染大量结果;

- API 超时导致部分 SKU 缺失;

- 重试后产生重复记录。

5. 没有质量门禁

如果 AI 输出直接发布,企业就把内容风险交给了模型。正确做法是让模型生成候选内容,再由规则、程序和人工审核决定是否发布。

---

二、正确的系统结构:六层内容流水线

一条可生产化的商品内容流程,可以拆成六层:

```text

商品主数据

数据清洗与标准化

事实锁定与内容策略

AI 结构化生成

规则校验与风险评分

人工审核 / 自动发布

```

每一层解决不同问题。

第一层:商品主数据

商品事实必须来自 PIM、ERP、商品数据库或经过确认的 Excel,而不是由模型猜测。

第二层:数据清洗

统一单位、空值、枚举值、颜色名称、尺寸格式和品牌术语。

第三层:事实锁定

明确哪些字段可以直接使用,哪些字段可以合理改写,哪些字段绝不能生成。

第四层:结构化生成

让模型输出 JSON,而不是一整段不可控文本。

第五层:规则校验

通过程序检查字数、违禁词、参数一致性、重复度和字段完整性。

第六层:审核与发布

低风险商品可自动通过,高风险品类和低置信度结果进入人工审核队列。

---

三、先设计商品数据表

建议至少准备以下字段:

字段说明示例
sku_id唯一商品编号CUP-500-BLK
product_name标准商品名500ml 真空保温杯
brand品牌Example
category类目水杯 / 保温杯
material材质304 不锈钢、食品接触级 PP
size尺寸7.2 × 22.5 cm
capacity容量500 ml
color颜色曜石黑
package_contents包装清单保温杯 ×1、说明书 ×1
verified_features已确认特性双层真空结构、防滑杯底
target_users适用人群通勤人群、学生
usage_scenarios使用场景办公、通勤、短途出行
restrictions禁止表达不得宣称医疗功效,不得写永久保温
warranty售后信息7 天无理由,质量问题一年保修
keywordsSEO 关键词保温杯、500ml 保温杯、通勤水杯
channel发布渠道独立站、亚马逊、京东

还应增加三个重要字段:

`source_of_truth`

记录事实来自哪里,例如 ERP、检测报告、供应商确认单或人工录入。这有助于后续追责和更新。

`missing_fields`

在生成前列出缺失信息。缺失关键字段的 SKU 不应进入自动发布流程。

`content_version`

每次重新生成时增加版本号,避免新旧文案混淆。

---

四、建立“可写、可推导、禁止写”三类规则

在调用模型前,先将字段划分为三类。

1. 可直接写入

这些内容有明确数据来源:

- 材质;

- 规格;

- 尺寸;

- 容量;

- 包装;

- 型号;

- 颜色;

- 已验证功能;

- 售后规则。

2. 可基于事实表达

这些内容允许从事实推导,但不能夸大:

- “双层真空结构”可表达为“帮助减少热量交换”;

- “防滑杯底”可表达为“放置更稳”;

- “500ml 容量”可表达为“适合日常通勤携带”。

模型应在语言层面优化,而不是发明新功能。

3. 禁止生成

包括:

- 未提供的认证;

- 医疗、治疗或保健效果;

- “第一、顶级、绝对、百分之百”等无法证明的表述;

- 未确认的成分和材质;

- 未提供的赠品;

- 虚假的销量与用户评价;

- 不存在的售后承诺;

- 与法律法规或平台规则冲突的词语。

这三类规则应该作为系统提示词的一部分固定下来。

---

五、让模型返回结构化 JSON

不要只要求“写一个详情页”,而应定义明确输出结构。

```json

{

"sku_id": "CUP-500-BLK",

"seo_title": "500ml 真空保温杯|曜石黑通勤水杯",

"short_title": "500ml 曜石黑保温杯",

"summary": "适合办公与通勤使用的轻便保温杯。",

"selling_points": [

{

"title": "双层真空结构",

"description": "帮助减少热量交换,满足日常饮水需求。"

}

],

"specifications": [

{"name": "容量", "value": "500 ml"}

],

"usage_scenarios": ["办公", "通勤", "短途出行"],

"care_instructions": ["首次使用前请清洗"],

"meta_description": "500ml 曜石黑真空保温杯,采用 304 不锈钢内胆,适合办公、通勤与短途出行。",

"risk_flags": [],

"missing_information": []

}

```

结构化输出有四个明显优势:

1. 可以直接写入 CMS 或商品数据库;

2. 可以逐字段检查长度和违禁词;

3. 可以针对不同渠道重新组合;

4. 失败时容易定位是哪一部分出现问题。

---

六、可直接使用的提示词模板

下面是一套适合批量任务的提示词结构。

```text

你是一名电商商品内容编辑。请仅根据输入的商品事实生成内容,不得补充输入中不存在的材质、功能、认证、赠品、销量、评价、售后承诺或功效。

任务目标:

1. 生成真实、清晰、不过度夸张的商品内容;

2. 保留型号、尺寸、容量、材质和数量的原始精度;

3. 禁止使用“最、第一、顶级、绝对、永久、100%”等无法验证的表达;

4. 如果关键信息缺失,将其写入 missing_information,不得猜测;

5. 输出必须是合法 JSON,不要使用 Markdown 代码块。

内容要求:

- seo_title:不超过 60 个中文字符;

- short_title:不超过 30 个中文字符;

- summary:60 至 100 个中文字符;

- selling_points:3 至 5 项,每项必须能追溯到 verified_features;

- specifications:完整保留输入参数;

- meta_description:不超过 120 个中文字符;

- risk_flags:记录可能存在风险的表达或数据问题。

输入商品:

{{PRODUCT_JSON}}

输出 JSON Schema:

{{OUTPUT_SCHEMA}}

```

批量生成时,system prompt 应固定,商品数据放在 user prompt 中。这样有利于缓存、版本控制和一致性。

---

七、Python 批处理示例

下面的示例使用 OpenAI 兼容格式的 API。只需通过环境变量替换接口地址、模型和密钥,就可以适配多个供应商。

```python

import csv

import json

import os

import time

from pathlib import Path

import requests

API_BASE = os.environ["LLM_API_BASE"].rstrip("/")

API_KEY = os.environ["LLM_API_KEY"]

MODEL = os.environ.get("LLM_MODEL", "your-model")

INPUT_FILE = Path("products.csv")

OUTPUT_FILE = Path("generated-products.jsonl")

ERROR_FILE = Path("generation-errors.jsonl")

SYSTEM_PROMPT = """

你是一名电商商品内容编辑。

仅根据输入事实生成内容,不得虚构材质、功能、认证、赠品、销量、

评价、售后承诺或功效。输出必须是合法 JSON。

"""

def call_model(product: dict, retries: int = 3) -> dict:

payload = {

"model": MODEL,

"messages": [

{"role": "system", "content": SYSTEM_PROMPT},

{

"role": "user",

"content": json.dumps(product, ensure_ascii=False)

}

],

"response_format": {"type": "json_object"},

"temperature": 0.2

}

for attempt in range(retries):

try:

response = requests.post(

f"{API_BASE}/chat/completions",

headers={

"Authorization": f"Bearer {API_KEY}",

"Content-Type": "application/json"

},

json=payload,

timeout=90

)

response.raise_for_status()

content = response.json()["choices"][0]["message"]["content"]

result = json.loads(content)

result["sku_id"] = product["sku_id"]

return result

except (requests.RequestException, KeyError, json.JSONDecodeError) as exc:

if attempt == retries - 1:

raise RuntimeError(f"Generation failed: {exc}") from exc

time.sleep(2 ** attempt)

raise RuntimeError("Unexpected retry state")

def append_jsonl(path: Path, data: dict) -> None:

with path.open("a", encoding="utf-8") as file:

file.write(json.dumps(data, ensure_ascii=False) + "\n")

def main() -> None:

processed = set()

if OUTPUT_FILE.exists():

with OUTPUT_FILE.open("r", encoding="utf-8") as file:

for line in file:

if line.strip():

processed.add(json.loads(line)["sku_id"])

with INPUT_FILE.open("r", encoding="utf-8-sig", newline="") as file:

reader = csv.DictReader(file)

for product in reader:

sku_id = product.get("sku_id", "").strip()

if not sku_id or sku_id in processed:

continue

try:

result = call_model(product)

append_jsonl(OUTPUT_FILE, result)

print(f"OK: {sku_id}")

except Exception as exc:

append_jsonl(

ERROR_FILE,

{"sku_id": sku_id, "error": str(exc)}

)

print(f"FAILED: {sku_id}")

if __name__ == "__main__":

main()

```

这个示例包含三个生产环境中非常重要的设计:

- 断点续跑:已经成功生成的 SKU 不重复执行;

- 指数退避重试:临时网络错误不会立即导致任务失败;

- 错误独立记录:失败记录进入单独文件,便于重新处理。

正式系统还应增加限流、并发控制、token 记录、成本统计和幂等键。

---

八、生成后必须做的八类检查

1. JSON 合法性

确认字段存在、类型正确、数组没有被输出为字符串。

2. 参数一致性

模型输出中的尺寸、容量、材质、型号和数量必须与商品主数据一致。可以将这些字段做精确匹配,而不是交给人工阅读。

3. 违禁词检查

维护按国家、行业和平台划分的词库。食品、保健品、化妆品、医疗器械和儿童用品应采用不同规则。

4. 幻觉检查

从输出中提取材质、认证、功能和售后承诺,与输入字段比对。任何无法在原始数据中找到的事实,都应进入人工审核。

5. 重复度检查

计算不同 SKU 标题和卖点的相似度。若大量内容只替换颜色和型号,搜索引擎和用户都会认为内容质量较低。

6. 长度与渠道格式检查

不同渠道分别设定标题、描述、Bullet Points 和关键词长度,不要用一套规则覆盖所有平台。

7. 品牌语气检查

品牌可以定义禁止词、常用句式、语气强度和标点规范。模型输出应在品牌规范内变化,而不是每次自由发挥。

8. 人工抽检

建议按风险分层:

- 普通低风险品类:抽检 5% 至 10%;

- 高客单价商品:提高抽检比例;

- 食品、健康、美妆和儿童用品:默认人工审核;

- 新模型、新提示词或新数据源上线初期:至少全量审核一个批次。

---

九、如何降低 1,000 个 SKU 的生成成本?

真正有效的优化并不是一味换最便宜的模型,而是减少无效 token 和返工。

1. 固定 system prompt,利用缓存

所有 SKU 共用一套稳定规则,避免每次加入大段不同说明。支持提示词缓存的供应商可以显著降低重复输入成本。

2. 先用便宜模型清洗,再用强模型生成

可以采用两级流程:

```text

低成本模型:字段清洗、分类、缺失检测

主力模型:生成标题、卖点和描述

低成本模型或规则程序:风险检查

```

不需要让最强模型承担每一步工作。

3. 控制输出长度

商品内容不是越长越好。明确每个字段的最大长度,避免模型输出大量无法发布的废话。

4. 使用 Batch 或离线任务

不要求实时返回的商品内容,可以使用供应商提供的 Batch、Flex 或异步处理模式,通常比实时标准调用更便宜。

5. 只重新生成失败字段

如果标题通过而卖点不合格,只重做 `selling_points`,不要重新生成整个详情页。

6. 建立内容指纹

根据商品事实、提示词版本和模型版本生成哈希值。当输入没有变化时,不重复调用模型。

---

十、用 n8n 或 Make 搭建无代码版本

不写 Python,也可以实现相同流程。

n8n 工作流

```text

读取 Google Sheets / Excel

→ Split in Batches

→ 数据清洗

→ LLM 结构化生成

→ JSON Schema 校验

→ 违禁词检查

→ 风险分支

→ 写入 CMS 或审核表

→ 记录 token 与费用

```

n8n 适合需要自托管、代码节点、数据库接入和精细异常处理的团队。

Make 场景

```text

Watch Rows

→ Iterator

→ Text / JSON Mapping

→ AI Module

→ Parse JSON

→ Router

→ 低风险:写入 CMS

→ 高风险:创建审核任务

```

Make 更适合运营团队和需要清晰可视化流程的自动化项目。

无论使用哪个平台,都不要把“模型调用成功”当成“内容可以发布”。

---

总结

AI 批量生成商品详情页的核心,不是文案生成速度,而是如何保证每一条内容都能追溯到真实商品数据,并在规模扩大后仍然可检查、可恢复、可审核。

一个可靠方案至少应做到:

- 商品事实与营销表达分离;

- 缺失信息不允许模型猜测;

- 输出采用稳定 JSON Schema;

- 参数、违禁词和幻觉由程序检查;

- 批量任务支持断点续跑和失败重试;

- 不同渠道采用不同内容模板;

- 高风险结果进入人工审核;

- 每次调用记录模型、提示词、token 和版本。

当这些基础设施建立起来,AI 才真正从“帮忙写文案”升级为可控的商品内容生产系统。

想了解更多适合内容生产、电商运营和自动化流程的 AI 工具,可以访问 智元选:https://www.zyentorpicks.com/。这里会持续发布工具对比、使用教程和实际落地方案。

---

📌 原文链接: 本文首发于 [智元选 AI 工具指南](https://www.zyentorpicks.com),未经许可不得转载。

提示:AI 生成内容建议人工检查后使用。免费版可能有使用次数限制。