18 KiB
18 KiB
AIGC 字段重构设计
版本: 1.0.0
日期: 2024-12-09
状态: 设计中
1. 背景与目标
1.1 当前问题
- 缺少热点追踪: 无法结合时事热点生成更有传播力的内容
- 参考内容利用不足: 仅作为"参考",未能实现"仿写"模式
- 字段命名混乱:
object/targetAudience等命名不直观 - 数据结构扁平: 缺乏层次,不便扩展
1.2 设计目标
- 新增热点字段: 支持近期热点、趋势追踪、新闻事件
- 增强参考内容: 支持"参考"和"仿写"两种模式
- 统一字段命名: 采用清晰的下划线命名
- 结构化设计: 分层组织,便于扩展
2. 字段重构方案
2.1 输入字段总览
┌─────────────────────────────────────────────────────────────┐
│ AIGC 输入参数 │
├─────────────────────────────────────────────────────────────┤
│ 基础信息 │
│ ├── scenic_spot 景区对象 │
│ ├── product 产品对象 │
│ ├── style 风格对象 │
│ └── audience 受众对象 │
├─────────────────────────────────────────────────────────────┤
│ 热点信息 (NEW) │
│ ├── hot_topics 近期热点列表 │
│ ├── trending_events 趋势事件 │
│ └── news_context 新闻背景 │
├─────────────────────────────────────────────────────────────┤
│ 参考内容 (ENHANCED) │
│ ├── reference_mode 参考模式 (reference/rewrite) │
│ ├── reference_content 参考正文 │
│ └── reference_style 参考风格特征 │
├─────────────────────────────────────────────────────────────┤
│ 生成控制 │
│ ├── num_topics 选题数量 │
│ ├── month 目标月份 │
│ ├── enable_judge 是否审核 │
│ └── prompt_version Prompt 版本 │
└─────────────────────────────────────────────────────────────┘
2.2 热点信息字段 (NEW)
# 热点信息结构
hot_topics:
type: object
required: false
description: "近期热点信息"
fields:
# 热点事件列表
events:
type: array
items:
- title: "热点标题"
source: "来源 (微博/抖音/新闻)"
heat_score: 95 # 热度分数 0-100
related_keywords: ["关键词1", "关键词2"]
expire_date: "2025-02-15" # 热点有效期
# 节日/节气
festivals:
type: array
items:
- name: "春节"
date: "2025-01-29"
type: "traditional" # traditional/modern/custom
marketing_angle: "团圆、返乡、年味"
# 趋势话题
trending:
type: array
items:
- topic: "#冬季旅游"
platform: "小红书"
trend_direction: "rising" # rising/stable/falling
related_content_count: 50000
使用场景:
- 选题生成时,结合热点事件选择发布时机
- 内容生成时,融入热点话题增加传播力
- 标题创作时,借势热点提高点击率
2.3 参考内容字段 (ENHANCED)
# 参考内容结构
reference:
type: object
required: false
description: "参考内容配置"
fields:
# 参考模式
mode:
type: string
enum: ["none", "reference", "rewrite"]
default: "none"
description: |
- none: 不使用参考内容
- reference: 参考风格和结构,原创内容
- rewrite: 基于参考内容改写,保留核心信息
# 参考正文
content:
type: string
description: "参考的正文内容"
# 参考标题
title:
type: string
description: "参考的标题"
# 风格特征提取
style_features:
type: object
description: "从参考内容提取的风格特征"
fields:
tone: "活泼/专业/温馨" # 语气
structure: "总分总/列表式/故事式" # 结构
emoji_density: "high/medium/low" # emoji 密度
paragraph_style: "短句/长句" # 段落风格
# 保留元素
preserve_elements:
type: array
description: "必须保留的元素"
items:
- "价格信息"
- "核心卖点"
- "行动号召"
# 改写指令
rewrite_instructions:
type: string
description: "额外的改写指令"
example: "保持原文的幽默感,但更换景区信息"
参考模式说明:
| 模式 | 说明 | 适用场景 |
|---|---|---|
none |
完全原创 | 常规内容生成 |
reference |
参考风格,原创内容 | 学习爆款风格 |
rewrite |
基于参考改写 | 快速复制成功内容 |
2.4 完整参数 Schema
topic_generate (选题生成)
{
# === 基础参数 ===
"month": "2025-02", # 必填,目标月份
"num_topics": 5, # 选填,默认 5
# === 核心对象 (参考 Java ProductPackage 设计) ===
"subject": { # 必填,主体信息
"id": 1, # 对应 ProductPackage.id
"name": "北京环球影城", # 对应 packageName/scenicName
"type": "scenic_spot", # 数据类型 (scenic_spot/hotel/restaurant)
"description": "亚洲最大的环球影城主题公园", # 详细描述
"location": "北京市通州区", # 对应 address
"traffic_info": "地铁1号线环球度假区站", # 交通指南
"highlights": ["哈利波特", "变形金刚"], # 亮点
"advantages": "全球顶级主题乐园", # 优势/特色
"products": [ # 产品列表 (对应 ProductPackage 的价格等字段)
{
"id": 10,
"name": "单日票",
"price": 638, # 对应 realPrice
"original_price": 738, # 对应 originPrice
"sales_period": "2025-01-01 至 2025-03-31", # 售卖期
"package_info": "含一次入园", # 套票详情
"usage_rules": "入园当日有效", # 使用规则
}
]
},
"style": { # 选填,风格
"id": "gonglue",
"name": "攻略风",
},
"audience": { # 选填,受众
"id": "qinzi",
"name": "亲子向",
},
# === 热点信息 ===
"hot_topics": { # 选填,目前留空,后续对接数据源
"events": [],
"festivals": [],
"trending": []
},
# === 控制参数 ===
"prompt_version": "latest"
}
content_generate (内容生成)
{
# === 选题信息 ===
"topic": { # 必填,选题 (来自选题生成的输出)
"index": 1,
"date": "2025-02-10",
"title": "春节遛娃首选!环球影城全攻略🎢",
"subject_name": "北京环球影城",
"product_name": "单日票",
"style": "攻略风",
"audience": "亲子向",
"logic": "春节假期家庭出游高峰..."
},
# === 核心对象 ===
"subject": { ... }, # 选填,主体信息 (同上)
"style": { ... }, # 选填,风格
"audience": { ... }, # 选填,受众
# === 热点信息 ===
"hot_topics": { ... }, # 选填,热点信息
# === 参考内容 ===
"reference": { # 选填,参考内容
"mode": "rewrite", # none/reference/rewrite
# none: 不使用参考
# reference: 参考风格,本质原创
# rewrite: 保留框架,只换主体
"title": "上海迪士尼遛娃天花板!一日游攻略",
"content": "带娃去迪士尼,这篇攻略你一定要收藏!..."
},
# === 控制参数 ===
"enable_judge": true,
"prompt_version": "latest"
}
3. 输出字段重构
3.1 选题输出
{
"topics": [
{
# === 基础信息 ===
"index": 1, # 序号 (整数)
"date": "2025-02-10", # 发布日期
"title": "春节遛娃首选!...", # 选题标题
# === 关联信息 ===
"subject_name": "北京环球影城", # 主体名称
"subject_id": 1, # 主体 ID
"product_name": "单日票", # 产品名称
"product_id": 10, # 产品 ID
"style_name": "攻略风", # 风格名称
"style_id": "gonglue", # 风格 ID
"audience_name": "亲子向", # 受众名称
"audience_id": "qinzi", # 受众 ID
# === 策略逻辑 ===
"logic": "春节假期家庭出游高峰...",
"product_logic": "...",
"style_logic": "...",
"audience_logic": "...",
# === 热点关联 ===
"hot_topic_used": "春节档电影热映", # 使用的热点
"festival_used": "春节", # 关联的节日
}
],
"count": 1
}
3.2 内容输出
{
"content": {
# === 核心内容 ===
"title": "春节遛娃首选!环球影城全攻略🎢",
"content": "春节带娃去哪玩?...",
"tag": "#北京旅游 #环球影城 #亲子游 ...",
# === 内容分析 (NEW) ===
"analysis": {
"word_count": 450,
"emoji_count": 12,
"paragraph_count": 5,
"estimated_read_time": "2分钟"
},
# === 参考关联 (NEW) ===
"reference_info": {
"mode_used": "rewrite",
"similarity_score": 0.35, # 与参考内容相似度
"preserved_elements": ["价格信息", "核心卖点"]
},
# === 热点融入 (NEW) ===
"hot_topic_integration": {
"topics_used": ["春节"],
"keywords_included": ["团圆", "年味"]
}
},
"judge_result": {
"passed": true,
"score": 85,
"suggestions": []
}
}
4. Prompt 模板更新
4.1 选题生成 Prompt 更新
# prompts/topic_generate/v2.0.0.yaml
meta:
name: topic_generate
version: "2.0.0"
description: "小红书选题生成 - 支持热点追踪"
variables:
# ... 原有变量 ...
# 新增热点变量
hot_topics:
type: object
required: false
description: "热点信息对象"
system: |
你是景区小红书的每月选题策划投流师...
## 热点追踪规则 (NEW)
1. 优先结合当前热点事件进行选题
2. 节日营销要提前 1-2 周预热
3. 热点有时效性,注意 expire_date
4. 热点与产品要有自然关联,不要强行蹭热点
## 输出字段 (UPDATED)
- `title`: 选题标题 (必填,15-25字,可含emoji)
- `hot_topic_used`: 使用的热点 (选填)
- `festival_used`: 关联的节日 (选填)
...
user: |
...
{% if hot_topics %}
## 近期热点
{% if hot_topics.events %}
### 热点事件
{% for event in hot_topics.events %}
- {{ event.title }} (热度: {{ event.heat_score }}, 有效期至: {{ event.expire_date }})
{% endfor %}
{% endif %}
{% if hot_topics.festivals %}
### 节日节气
{% for festival in hot_topics.festivals %}
- {{ festival.name }} ({{ festival.date }}): {{ festival.marketing_angle }}
{% endfor %}
{% endif %}
{% if hot_topics.trending %}
### 趋势话题
{% for trend in hot_topics.trending %}
- {{ trend.topic }} @ {{ trend.platform }} ({{ trend.trend_direction }})
{% endfor %}
{% endif %}
{% endif %}
4.2 内容生成 Prompt 更新
# prompts/content_generate/v2.0.0.yaml
meta:
name: content_generate
version: "2.0.0"
description: "小红书内容生成 - 支持参考改写"
variables:
# ... 原有变量 ...
# 新增参考变量
reference:
type: object
required: false
description: "参考内容配置"
hot_topics:
type: object
required: false
description: "热点信息"
system: |
你是景区小红书爆款文案策划...
## 参考内容使用规则 (NEW)
### 模式一: reference (参考风格)
- 学习参考内容的语气、结构、emoji 使用
- 内容完全原创,不复制原文
- 保持自己的创意和表达
### 模式二: rewrite (改写模式)
- 基于参考内容进行改写
- 保留核心信息和卖点
- 更换具体细节 (景区、产品、时间)
- 相似度控制在 30%-50%
## 热点融入规则 (NEW)
1. 自然融入热点话题,不要生硬
2. 标题可借势热点提高点击率
3. 正文可结合热点场景
4. TAG 可包含热点关键词
...
user: |
...
{% if reference and reference.mode != 'none' %}
## 参考内容
模式: {{ reference.mode }}
{% if reference.title %}
### 参考标题
{{ reference.title }}
{% endif %}
{% if reference.content %}
### 参考正文
{{ reference.content }}
{% endif %}
{% if reference.style_features %}
### 风格特征
- 语气: {{ reference.style_features.tone }}
- 结构: {{ reference.style_features.structure }}
- Emoji密度: {{ reference.style_features.emoji_density }}
{% endif %}
{% if reference.preserve_elements %}
### 必须保留的元素
{{ reference.preserve_elements | join(', ') }}
{% endif %}
{% if reference.rewrite_instructions %}
### 改写指令
{{ reference.rewrite_instructions }}
{% endif %}
{% endif %}
{% if hot_topics %}
## 可融入的热点
{% for event in hot_topics.events %}
- {{ event.title }}
{% endfor %}
{% endif %}
5. 实现计划
Phase 1: 字段扩展 (本次) ✅
| 任务 | 优先级 | 状态 |
|---|---|---|
| 更新 topic_generate 引擎参数 | P0 | ✅ 完成 |
| 更新 content_generate 引擎参数 | P0 | ✅ 完成 |
| 创建 v2.0.0 Prompt 模板 | P0 | ✅ 完成 |
| 更新字段映射文档 | P1 | ✅ 完成 |
测试结果:
- 选题生成: 成功融入热点事件和节日信息,输出包含
hotTopicUsed和festivalUsed - 内容生成: 成功支持
reference改写模式,保留原文结构并替换具体内容
Phase 2: 热点数据源 (后续)
| 任务 | 优先级 | 状态 |
|---|---|---|
| 设计热点数据采集接口 | P1 | 规划中 |
| 对接微博热搜 API | P2 | 规划中 |
| 对接小红书趋势 API | P2 | 规划中 |
| 节日日历数据库 | P1 | 规划中 |
Phase 3: 智能分析 (远期)
| 任务 | 优先级 | 状态 |
|---|---|---|
| 参考内容风格自动提取 | P2 | 规划中 |
| 热点与产品关联度分析 | P2 | 规划中 |
| 内容相似度检测 | P2 | 规划中 |
6. 兼容性设计
6.1 向后兼容
# 旧字段保留,新字段可选
{
# 旧字段 (保留)
"object": "北京环球影城",
"targetAudience": "亲子向",
# 新字段 (可选)
"scenic_spot_name": "北京环球影城",
"audience_name": "亲子向",
"hot_topic_used": "春节"
}
6.2 Java 端适配
public class Topic {
// 新字段
private String title;
private String scenicSpotName;
private String hotTopicUsed;
// 兼容方法
public String getScenicSpotName() {
return scenicSpotName != null ? scenicSpotName : object;
}
}
7. 总结
新增字段
| 字段 | 位置 | 说明 |
|---|---|---|
hot_topics |
输入 | 热点信息对象 |
hot_topics.events |
输入 | 热点事件列表 |
hot_topics.festivals |
输入 | 节日节气列表 |
hot_topics.trending |
输入 | 趋势话题列表 |
reference |
输入 | 参考内容配置 |
reference.mode |
输入 | 参考模式 |
reference.content |
输入 | 参考正文 |
reference.style_features |
输入 | 风格特征 |
title |
输出 | 选题标题 |
hot_topic_used |
输出 | 使用的热点 |
festival_used |
输出 | 关联的节日 |
改进点
- 热点追踪: 支持事件、节日、趋势三类热点
- 参考模式: 支持 none/reference/rewrite 三种模式
- 字段规范: 统一命名,保持兼容
- 结构化: 分层组织,便于扩展