LikeShop单商户标准版商品文案智能化升级:大模型批量生成标题与卖点二开实践
一、业务背景:商品文案生产的效率与质量双重瓶颈
在电商运营体系中,商品标题与卖点是直接影响搜索曝光与点击转化的核心要素。LikeShop单商户标准版原生已具备完整的商品发布、SKU管理与上下架流程,能够支撑基础上新需求。但随着商品SKU规模扩大、上新频率提升,传统人工撰写文案的模式逐渐暴露出明显短板。
1.1 上新效率瓶颈
批量上新场景下,文案生产是最大的效率瓶颈:
- 单款商品的标题、卖点、SEO信息撰写通常需要数分钟到十几分钟;
- 数百款商品批量上新时,文案工作需要耗费数天,运营周期被拉长;
- 运营人员大量时间消耗在机械性文案撰写上,无法聚焦选品与策略。
1.2 文案质量不稳定
文案质量高度依赖运营人员个人能力,直接影响最终转化:
- 标题搜索友好度参差不齐,关键词布局不合理,影响站内搜索权重;
- 卖点表达同质化严重,无法突出商品差异化优势,点击率偏低;
- SEO信息缺失或不规范,影响页面收录与自然流量获取。
1.3 原生系统的能力边界
LikeShop原生系统侧重交易流程与商品管理,缺少AI内容生成能力:
- 没有批量文案生成能力,全靠人工逐款填写;
- 没有品类化文案模板,不同商品靠经验自由发挥;
- 没有版本对比与效果追踪,文案优化缺乏数据支撑。
基于此,我们以LikeShop单商户标准版为底座,低侵入式二开接入大模型能力,构建了一套「模板约束 + 大模型生成 + 批量异步处理 + 人工审核入库」的智能文案生成体系。运营仅需输入商品核心关键词与基础参数,AI即可批量生成符合电商规范的标题、卖点与SEO信息,审核通过后一键入库,整体上新效率提升5倍以上,文案标准化程度显著提高。
二、方案选型:为什么不是简单的模板替换
在方案设计阶段,我们对三类主流文案生产方案做了系统性评估。
2.1 三类方案横向对比
| 方案 | 实现成本 | 文案质量 | 灵活性 | 批量效率 | 适用场景 |
|---|---|---|---|---|---|
| 纯人工撰写 | 低 | 因人而异 | 高 | 低 | 商品量少、精品化运营 |
| 模板批量替换 | 低 | 中规中矩 | 低 | 高 | 标品、参数固定的商品 |
| 大模型智能生成 | 中 | 较高 | 高 | 高 | 多品类、非标品、追求转化 |
纯模板方案虽然实现简单,但存在明显短板:表达僵化、千品一面、无法根据商品特性灵活组织语言,长期来看反而会降低商品差异化竞争力。纯大模型方案虽然灵活,但存在输出不稳定、格式不可控、容易偏离电商规范的问题。
2.2 最终方案:约束式生成 + 批量异步 + 人工审核
我们最终选择「品类模板约束 + 大模型智能生成 + 批量异步处理 + 人工审核兜底」的混合方案,兼顾质量、效率与可控性。
方案核心思路:
- 约束前置:通过品类Prompt模板限定文案结构、字数、关键词、风格,保证输出符合电商规范;
- 大模型生成:利用大模型的语义表达能力,生成自然、有吸引力的文案;
- 批量异步:批量任务异步执行,控制并发与成本,不影响主系统性能;
- 人工兜底:生成结果不直接上架,人工审核确认后入库,规避幻觉与合规风险。
三、设计原则与整体架构
3.1 核心设计原则
作为基于现有商城系统的二开扩展,方案严格遵循四项原则:
- 低侵入原则
新增独立的AI生成服务层与数据表,完全复用原生商品、分类、SKU核心能力,不修改商品核心表结构,不影响官方版本升级。 - 可配置原则
Prompt模板、生成参数、文案规则、字数限制均可后台配置,无需改代码即可调整生成效果。 - 人工可控原则
所有AI生成结果必须人工审核后才能正式入库,禁止自动上架,从机制上规避内容错误与合规风险。 - 异步批量原则
批量生成任务全部异步执行,通过消息队列控制并发,既保证大模型调用平稳,也不占用主系统资源。
3.2 四层架构设计
整体采用分层架构,AI能力作为独立扩展层挂载在原生商品体系之上。
运营接入层:商品发布页、批量生成页、审核管理页、模板配置页
↓
AI生成服务层:任务管理、Prompt组装、结果解析、质量校验、审核入库
↓
大模型适配层:统一客户端、多模型兼容、Token统计、限流控制
↓
原生业务层:LikeShop 商品服务、分类服务、SKU服务、库存服务
各层职责清晰:
- 接入层:面向运营人员,提供单款生成、批量导入、审核管理、模板配置功能;
- 服务层:核心业务逻辑层,负责任务调度、Prompt组装、结果解析与质量校验;
- 适配层:屏蔽不同大模型厂商的接口差异,统一调用规范,支持灵活切换;
- 业务层:完全复用LikeShop原生商品能力,AI层只做内容生产,不侵入核心逻辑。
3.3 与原生系统的边界划分
- 完全复用:商品创建、分类关联、SKU管理、上下架、库存管理全部调用原生接口;
- 新增扩展:AI生成任务、Prompt模板、批量处理、审核流程为新增模块;
- 数据隔离:生成过程数据独立存储,正式商品数据与原生系统一致;
- 升级兼容:官方版本升级时,仅需适配商品服务接口,改造成本极低。
四、核心功能模块设计
4.1 单商品智能生成
商品发布页内置AI生成按钮,运营输入核心关键词后一键生成文案。
生成内容包含:
- 商品标题:控制字数,包含核心关键词,符合搜索权重规则,兼顾可读性与SEO;
- 核心卖点:3~5条结构化卖点,突出产品优势、适用场景、差异化价值;
- SEO信息:自动生成页面关键词与描述,优化搜索引擎收录;
- 多版本备选:默认生成2~3个版本,运营可对比选择。
4.2 批量导入生成
针对大批量上新场景,支持Excel批量导入基础信息,统一生成文案。
完整流程:
- 下载模板,填写商品分类、关键词、价格、货号等基础信息;
- 后台导入Excel,系统创建批量生成任务;
- 后台异步逐款调用大模型生成标题、卖点与SEO信息;
- 运营在待审核列表中统一查看、编辑、确认;
- 审核通过的商品批量调用原生接口正式入库。
4.3 品类化Prompt模板
不同品类的文案风格与结构差异很大,一套模板无法适配所有商品。系统支持按三级类目配置独立的Prompt模板。
模板可配置项:
- 标题长度限制、关键词权重要求;
- 卖点条数、每条字数、表达风格;
- 必须包含的信息维度,如材质、规格、适用人群、使用场景;
- 禁用词、合规要求、特殊行业规范。
例如服装类侧重风格、版型、面料;数码类侧重参数、性能、兼容性;食品类侧重口味、配料、保质期。
4.4 文案质量前置校验
大模型返回结果后,系统先做一轮自动校验,不通过的直接标记异常,减少人工审核成本:
- 长度校验:标题、卖点字数在配置范围内;
- 关键词校验:必须包含指定核心关键词;
- 违规词校验:命中敏感词、极限词的自动拦截;
- 重复度校验:与已有商品标题重复度过高的标记提醒。
4.5 版本管理与效果追踪
- 每款商品保留历史生成版本,可回溯、可对比;
- 支持运营手动优化后记录最终版本;
- 关联商品后续的点击、转化数据,反向评估文案质量。
五、Prompt工程与质量控制
大模型生成的质量,80%取决于Prompt设计。
5.1 Prompt结构化设计
标准Prompt由五部分组成:
- 角色设定:明确设定为资深电商运营文案专家,熟悉平台搜索规则;
- 商品信息:传入商品分类、核心关键词、核心参数、目标人群;
- 约束规则:标题字数、卖点条数、表达风格、禁用词要求;
- 输出要求:严格返回JSON格式,字段固定;
- 示例参考:提供1~2个优秀示例,引导输出风格。
5.2 标准化输出格式
强制要求大模型返回标准JSON结构,便于程序解析,降低格式错误率。
{
"title": "商品主标题",
"subtitle": "商品副标题",
"selling_points": [
"卖点1",
"卖点2",
"卖点3"
],
"seo_keywords": "关键词1,关键词2,关键词3",
"seo_description": "页面描述文案"
}
实践经验:在Prompt中明确要求“只返回JSON,不要任何解释文字、不要markdown包裹”,可以大幅降低格式解析失败率。
5.3 持续迭代机制
建立badcase回流优化机制:
- 审核驳回的文案自动进入badcase库;
- 运营标注驳回原因,如“卖点不突出”“标题不通顺”;
- 定期基于badcase优化Prompt模板与约束规则;
- 品类越丰富、使用越久,生成质量越稳定。
六、数据模型设计
全部采用新增表方式扩展,不修改原生商品核心表,最小化侵入性。
6.1 AI文案生成任务表
记录每一次生成任务的状态、成本与结果。
CREATE TABLE ls_goods_ai_copy_task (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
task_no VARCHAR(32) NOT NULL COMMENT '任务编号',
task_type TINYINT NOT NULL COMMENT '1单款生成 2批量生成',
goods_id BIGINT DEFAULT NULL COMMENT '关联商品ID',
category_id BIGINT NOT NULL COMMENT '商品分类ID',
keywords VARCHAR(255) NOT NULL COMMENT '核心关键词',
extra_params TEXT COMMENT '额外参数JSON',
model_type VARCHAR(32) NOT NULL COMMENT '大模型类型',
prompt_version VARCHAR(32) COMMENT 'Prompt模板版本',
input_tokens INT DEFAULT 0,
output_tokens INT DEFAULT 0,
status TINYINT NOT NULL DEFAULT 0 COMMENT '0待处理 1处理中 2成功 3失败',
audit_status TINYINT DEFAULT 0 COMMENT '0待审核 1通过 2驳回',
fail_reason VARCHAR(255),
result_content TEXT COMMENT '生成结果JSON',
create_time DATETIME NOT NULL,
finish_time DATETIME,
create_by BIGINT,
INDEX idx_task_no(task_no),
INDEX idx_status(status),
INDEX idx_goods_id(goods_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='商品AI文案生成任务表';
6.2 Prompt模板配置表
按品类管理Prompt模板,支持后台配置。
CREATE TABLE ls_ai_copy_prompt (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
category_id BIGINT NOT NULL COMMENT '适用分类ID',
prompt_type VARCHAR(32) NOT NULL COMMENT '类型:title/selling_point/seo',
prompt_template TEXT NOT NULL COMMENT 'Prompt模板内容',
model_config VARCHAR(255) COMMENT '模型参数配置JSON',
status TINYINT DEFAULT 1,
create_time DATETIME NOT NULL,
update_time DATETIME NOT NULL,
INDEX idx_category_id(category_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='AI文案Prompt配置表';
6.3 批量导入记录表
批量生成场景的批次管理。
CREATE TABLE ls_goods_batch_copy_import (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
batch_no VARCHAR(32) NOT NULL,
total_count INT NOT NULL,
success_count INT DEFAULT 0,
fail_count INT DEFAULT 0,
import_file VARCHAR(255),
status TINYINT NOT NULL DEFAULT 0,
create_time DATETIME NOT NULL,
create_by BIGINT,
UNIQUE KEY uk_batch_no(batch_no)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='批量文案导入表';
七、核心代码实现
7.1 大模型统一接口封装
抽象统一接口,屏蔽不同厂商差异,支持灵活切换模型。
/**
* 大模型通用接口
*/
public interface LlmService {
/**
* 结构化生成,返回指定类型对象
*/
<T> T structuredGenerate(String prompt, Class<T> clazz, LlmConfig config);
}
/**
* 通义千问实现
*/
@Service
public class QwenLlmServiceImpl implements LlmService {
@Value("${ai.qwen.api-key}")
private String apiKey;
@Override
public <T> T structuredGenerate(String prompt, Class<T> clazz, LlmConfig config) {
QwenClient client = new QwenClient(apiKey);
QwenResult result = client.call(prompt, config.getModelName(), config.getTemperature());
String content = result.getOutput().getText();
String jsonContent = extractJsonFromText(content);
try {
return JSON.parseObject(jsonContent, clazz);
} catch (Exception e) {
log.error("大模型返回格式解析失败 content={}", content, e);
throw new BizException("文案生成格式异常");
}
}
}
7.2 商品文案生成服务
负责组装Prompt、调用大模型、解析结果、质量校验。
@Service
public class GoodsCopyGenerateService {
@Autowired
private LlmService llmService;
@Autowired
private CopyPromptMapper promptMapper;
@Autowired
private GoodsCopyTaskMapper taskMapper;
@Autowired
private GoodsService goodsService; // 复用原生商品服务
@Transactional(rollbackFor = Exception.class)
public CopyResultVO generateCopy(CopyGenerateDTO dto) {
// 1. 创建生成任务
GoodsAiCopyTask task = new GoodsAiCopyTask();
task.setTaskNo(SnGenerator.generate("COPY"));
task.setCategoryId(dto.getCategoryId());
task.setKeywords(dto.getKeywords());
task.setStatus(1);
taskMapper.insert(task);
try {
// 2. 获取对应分类的Prompt模板
CopyPromptConfig promptConfig = promptMapper.getByCategory(dto.getCategoryId(), "full");
String prompt = buildPrompt(promptConfig.getPromptTemplate(), dto);
// 3. 调用大模型
LlmConfig config = new LlmConfig();
config.setModelName("qwen-plus");
config.setTemperature(0.7);
GoodsCopyResult result = llmService.structuredGenerate(prompt, GoodsCopyResult.class, config);
// 4. 前置质量校验
qualityCheck(result, dto);
// 5. 保存结果
task.setResultContent(JSON.toJSONString(result));
task.setInputTokens(result.getInputTokens());
task.setOutputTokens(result.getOutputTokens());
task.setStatus(2);
task.setFinishTime(new Date());
taskMapper.updateById(task);
return BeanCopyUtils.copy(task, CopyResultVO.class);
} catch (Exception e) {
task.setStatus(3);
task.setFailReason(e.getMessage());
taskMapper.updateById(task);
throw new BizException("文案生成失败:" + e.getMessage());
}
}
/**
* 审核通过后正式写入商品表
*/
@Transactional(rollbackFor = Exception.class)
public Long auditAndPublish(Long taskId) {
GoodsAiCopyTask task = taskMapper.selectById(taskId);
if (task.getAuditStatus() != 0) {
throw new BizException("请勿重复审核");
}
GoodsCopyResult result = JSON.parseObject(task.getResultContent(), GoodsCopyResult.class);
// 调用原生商品服务创建/更新商品
GoodsUpdateDTO goodsDTO = new GoodsUpdateDTO();
goodsDTO.setName(result.getTitle());
goodsDTO.setSubtitle(result.getSubtitle());
goodsDTO.setKeywords(result.getSeoKeywords());
goodsDTO.setDescription(result.getSeoDescription());
// ... 其他字段映射
Long goodsId = goodsService.createOrUpdate(goodsDTO);
task.setAuditStatus(1);
task.setGoodsId(goodsId);
taskMapper.updateById(task);
return goodsId;
}
}
7.3 批量生成异步消费
批量任务通过消息队列异步执行,控制并发,平稳调用大模型。
@Component
@RocketMQMessageListener(
topic = "goods_ai_copy_topic",
consumerGroup = "goods_ai_copy_group",
consumeMode = ConsumeMode.CONCURRENTLY
)
public class GoodsCopyBatchConsumer implements RocketMQListener<BatchCopyMessage> {
@Autowired
private GoodsCopyGenerateService generateService;
@Autowired
private BatchCopyImportMapper batchMapper;
@Override
public void onMessage(BatchCopyMessage message) {
String batchNo = message.getBatchNo();
List<CopyGenerateDTO> items = message.getItems();
AtomicInteger success = new AtomicInteger();
AtomicInteger fail = new AtomicInteger();
items.forEach(item -> {
try {
// 幂等校验
if (!taskMapper.existsTodayTask(item.getKeywords(), item.getCategoryId())) {
generateService.generateCopy(item);
success.incrementAndGet();
}
} catch (Exception e) {
fail.incrementAndGet();
log.error("批量文案生成失败 item={}", item, e);
}
});
batchMapper.updateResult(batchNo, success.get(), fail.get(), 2);
}
}
八、工程化落地关键机制
8.1 幂等与重试
- 按关键词+分类+日期做幂等校验,避免重复生成浪费Token;
- 单次生成失败自动重试1次,超过则标记失败;
- 任务支持人工重跑,便于异常后补处理。
8.2 成本与限流
大模型调用按Token计费,批量场景必须做好成本控制:
- 批量任务限制并发数,通过消费端并发度控制调用速率;
- 设置单日调用上限,超出阈值告警并暂停生成;
- 每次调用记录Token消耗,后台可查看成本统计;
- 不同场景使用不同档位模型,非核心场景用低成本模型。
8.3 审核兜底机制
- 所有生成结果默认进入待审核状态,禁止直接上架;
- 系统先做自动质量校验与违规词检测,异常项标记高亮;
- 运营人工确认后才正式写入商品库;
- 驳回结果进入badcase库,用于反向优化Prompt。
8.4 合规与安全
- 内置违禁词、极限词检测,降低合规风险;
- 特殊品类(食品、美妆、医疗器械)增加额外校验规则;
- 所有生成内容留痕可追溯;
- 模型输出不直接对外展示,必须经过审核。
九、落地效果与业务价值
9.1 效率指标
| 指标 | 人工撰写 | AI辅助生成 | 提升幅度 |
|---|---|---|---|
| 单款商品文案耗时 | 15~30分钟 | 1~3分钟 | 提升约85%~90% |
| 批量100款上新 | 2~3人天 | 半天完成 | 效率提升5倍以上 |
| 运营文案工作量 | 基准值 | 减少约70% | 人力大幅释放 |
9.2 质量指标
- 文案结构标准化程度显著提升,标题、卖点、SEO信息完整度从约50%提升至95%以上;
- 关键词布局更规范,站内搜索点击率提升约15%;
- 文案风格统一,商品详情页专业度感知增强。
9.3 业务价值
- 上新周期缩短,能够更快响应市场热点与季节变化;
- 运营人员从机械文案工作中释放,聚焦选品、活动与数据分析;
- 持续沉淀品类文案模板,形成可复用的内容资产。
十、踩坑经验与最佳实践
10.1 不要让AI生成后直接上架
大模型存在幻觉风险,尤其是参数、功效、合规性表述容易出错。必须坚持人工审核机制,效率再重要也不能跳过审核环节。
10.2 不要一套Prompt走天下
不同品类的文案逻辑差异极大。通用模板生成的文案往往泛而不精,一定要按三级类目做差异化Prompt配置,越细分效果越好。
10.3 不要同步批量生成
批量生成如果同步执行,会瞬间打满大模型配额,还可能拖垮应用服务器。一定要走消息队列异步处理,控制消费并发,平稳调用。
10.4 不要忽略成本控制
批量场景Token消耗增长很快,如果不限流、不统计,月底账单容易超出预期。必须做好并发控制、用量统计与阈值告警。
10.5 建立badcase闭环
文案质量不是一次做好的,是持续迭代出来的。建立驳回原因统计与badcase回流机制,持续优化Prompt模板,用得越久效果越好。
结语
大模型在电商场景的价值,不是替代运营,而是把重复性、标准化的文案生产工作自动化,让人的精力聚焦在选品、策略与创意上。
对于LikeShop单商户标准版而言,接入大模型生成商品文案,不需要重构任何核心业务,只需要在上层新增一层AI内容生成服务,复用原有的商品入库、分类管理、上下架体系,就能以很低的二开成本,获得非常显著的效率提升。
电商运营的竞争,越来越体现在细节效率上。批量智能文案生成,不只是一个功能升级,更是商品运营效率的一次整体升级。