第21章 内容创作领域的提示词工程

本章导读

内容创作是大语言模型应用最广泛的领域之一。从营销文案到深度文章,从社交媒体帖子到创意写作,AI正在深刻改变内容生产的方式。本章将系统介绍内容创作各细分领域的提示词工程方法,帮助读者掌握从标题到全文、从SEO优化到多语言翻译的完整提示词设计技能。

21.1 营销文案生成:从标题到全文的完整流程

21.1.1 营销文案创作框架

营销文案创作是一个系统工程,需要从战略定位到具体执行的全链路设计。

python 复制代码
class MarketingCopywritingFramework:
    """营销文案创作框架"""
    
    FRAMEWORK_STRUCTURE = {
        "strategy": {
            "name": "策略层",
            "elements": [
                "目标受众分析",
                "品牌定位与调性",
                "传播目标(认知、兴趣、购买)",
                "竞争差异化"
            ],
            "questions": [
                "目标用户是谁?",
                "他们关心什么?",
                "我们提供什么独特价值?",
                "与其他品牌的区别是什么?"
            ]
        },
        
        "creative": {
            "name": "创意层",
            "elements": [
                "核心卖点提炼",
                "情感诉求设计",
                "叙事角度选择",
                "创意元素组合"
            ],
            "approaches": [
                "理性诉求:数据、证据、逻辑",
                "感性诉求:情感、故事、体验",
                "道德诉求:社会责任、公益、环保"
            ]
        },
        
        "execution": {
            "name": "执行层",
            "elements": [
                "标题设计",
                "开头钩子",
                "内容主体",
                "行动号召(CTA)"
            ],
            "formats": [
                "问题-解决方案型",
                "故事叙述型",
                "清单列表型",
                "对比论证型",
                "专家背书型"
            ]
        }
    }

21.1.2 标题生成提示词

python 复制代码
class TitleGenerationPrompts:
    """标题生成提示词模板"""
    
    HEADLINE_FORMULAS = {
        "number_list": {
            "template": """为以下产品/服务生成{number}个{style}风格的营销标题。

产品/服务信息:
- 名称:{product_name}
- 核心卖点:{key_benefits}
- 目标受众:{target_audience}
- 主要特点:{features}

风格要求:{style_requirements}

格式要求:
- 每个标题{number}字以内
- 包含数字(如{number}+、TOP{number}等)
- 突出具体利益点
- 引发好奇心或紧迫感

生成{count}个标题选项:""",
            
            "examples": [
                "5个理由告诉你为什么每个营销人都需要这款工具",
                "7天学会Python,这位北大教授的方法火了",
                "2024年最值得拥有的10款智能家居产品"
            ]
        },
        
        "question": {
            "template": """为以下产品生成{count}个问题型标题。

产品/服务:{product_name}
目标痛点:{pain_points}
解决方案:{solution}

标题要求:
- 以问句形式开头
- 引发目标受众思考
- 暗示解决方案的存在
- 激发点击欲望

问题类型:
1. 反问型:难道你不想...?
2. 疑问型:如何...?
3. 设问型:你知道...吗?
4. 痛点型:还在为...烦恼吗?

生成{count}个标题:"""
        },
        
        "urgency": {
            "template": """为以下产品/活动生成紧迫感型标题。

活动信息:{campaign_info}
截止日期:{deadline}
优惠内容:{offer}

紧迫感元素:
- 时间限制(限时、仅剩、马上)
- 数量限制(限量、前{number}名、抢完即止)
- 机会成本(错过、再不...就...)

标题风格:{style}(可选:惊叹型、数字型、疑问型)

生成{count}个标题:"""
        }
    }
    
    @staticmethod
    def generate_headlines(product_info: dict, style: str = "default", 
                          count: int = 5) -> list:
        """生成标题"""
        # 根据产品信息填充模板
        template = TitleGenerationPrompts.HEADLINE_FORMULAS.get(style)
        if not template:
            template = TitleGenerationPrompts.HEADLINE_FORMULAS["number_list"]
        
        # 模拟生成结果
        headlines = [
            f"{count}个{product_info.get('target_audience', '用户')}必须知道的{product_info.get('product_name', '产品')}优势",
            f"为什么{product_info.get('target_audience', '越来越多人')}都在选择{product_info.get('product_name', '这个产品')}?",
            f"用了{product_info.get('product_name', '它')}之后,我终于{product_info.get('key_benefits', '实现了目标')}",
            f"揭秘:{product_info.get('key_benefits', '行业内幕')}的真相",
            f"必读!{product_info.get('target_audience', '准备购买的人')}最关心的{count}个问题"
        ]
        
        return headlines[:count]

# 使用示例
headline_generator = TitleGenerationPrompts()

product_info = {
    "product_name": "智能在线教育平台",
    "key_benefits": "随时随地学习、名师一对一辅导",
    "target_audience": "职场人士",
    "features": "AI个性化推荐、24小时答疑、证书认证"
}

headlines = headline_generator.generate_headlines(product_info, "number_list", 5)
for i, h in enumerate(headlines, 1):
    print(f"{i}. {h}")

21.1.3 完整营销文案生成

python 复制代码
class FullMarketingCopyGenerator:
    """完整营销文案生成器"""
    
    COPY_STRUCTURE = {
        "headline": "吸引眼球的标题",
        "subheadline": "补充说明的副标题",
        "hook": "开头的钩子段落",
        "body": "核心内容主体",
        "proof_points": "支撑论据",
        "cta": "行动号召"
    }
    
    def __init__(self, llm_client=None):
        self.llm = llm_client
    
    def generate_full_copy(self, brief: dict) -> dict:
        """生成完整营销文案"""
        
        # 1. 生成标题
        headline = self._generate_headline(brief)
        
        # 2. 生成副标题
        subheadline = self._generate_subheadline(brief, headline)
        
        # 3. 生成开头钩子
        hook = self._generate_hook(brief)
        
        # 4. 生成核心内容
        body = self._generate_body(brief)
        
        # 5. 生成支撑论据
        proof_points = self._generate_proof_points(brief)
        
        # 6. 生成行动号召
        cta = self._generate_cta(brief)
        
        return {
            "headline": headline,
            "subheadline": subheadline,
            "hook": hook,
            "body": body,
            "proof_points": proof_points,
            "cta": cta
        }
    
    def _generate_headline(self, brief: dict) -> str:
        """生成标题"""
        template = f"""
为"{brief.get('product_name')}"生成一个营销标题。

目标受众:{brief.get('audience')}
核心价值:{brief.get('value_proposition')}
调性风格:{brief.get('tone', '专业')}
字数限制:{brief.get('headline_length', '15-25字')}

要求:
1. 突出核心卖点
2. 引发情感共鸣
3. 简洁有力
"""
        # 实际调用LLM,这里模拟
        return f"让{brief.get('audience', '你')}效率提升10倍的{brief.get('product_name')}的秘密"
    
    def _generate_subheadline(self, brief: dict, headline: str) -> str:
        """生成副标题"""
        return f"------{brief.get('product_name')},专为{brief.get('audience')}设计"
    
    def _generate_hook(self, brief: dict) -> str:
        """生成开头钩子"""
        templates = [
            f"你是否也面临这样的困扰:{brief.get('pain_point', '效率低、效果差、压力大')}?",
            f"想象一下,如果你能{brief.get('desired_outcome', '轻松高效地完成工作')},生活会怎样?",
            f"据调查,{brief.get('audience', '90%的职场人')}都遇到过这个问题..."
        ]
        return templates[0]
    
    def _generate_body(self, brief: dict) -> str:
        """生成核心内容"""
        features = brief.get('features', [])
        benefits = brief.get('benefits', [])
        
        body_parts = []
        
        # 痛点放大
        body_parts.append(f"""
### 你的困扰,我们懂

{brief.get('pain_point', '你是否经常为以下问题烦恼?')}
- 效率低下,{brief.get('pain_point_detail', '每天加班到深夜却还是做不完工作'}
- 效果不佳,{brief.get('pain_point_result', '投入大量时间却看不到明显的成果'}
- 压力山大,{brief.get('pain_point_emotion', '担心被超越、被淘汰'}
""")
        
        # 解决方案
        body_parts.append(f"""
### 我们的解决方案

{brief.get('product_name')}正是为你而来:

**亮点一:{features[0] if len(features) > 0 else '智能高效'}**
{benefits[0] if len(benefits) > 0 else '大幅提升工作效率'}

**亮点二:{features[1] if len(features) > 1 else '简单易用'}**
{benefits[1] if len(benefits) > 1 else '无需复杂学习'}

**亮点三:{features[2] if len(features) > 2 else '安全可靠'}**
{benefits[2] if len(benefits) > 2 else '数据安全有保障'}
""")
        
        return "\n".join(body_parts)
    
    def _generate_proof_points(self, brief: dict) -> str:
        """生成支撑论据"""
        return f"""
### 信任背书

**权威认证**
{brief.get('certifications', '已获得ISO认证、行业协会推荐')}

**用户见证**
"{brief.get('testimonial', '使用后工作效率提升了3倍,真的太神奇了!')}"

**数据支撑**
{brief.get('statistics', '已有10万+用户,好评率98%')}
"""
    
    def _generate_cta(self, brief: dict) -> str:
        """生成行动号召"""
        return f"""
### 立即行动

{brief.get('offer', '限时优惠:首月免费试用')}

👉 {brief.get('cta_text', '点击免费试用')}
📞 {brief.get('contact', '如有疑问请联系客服')}

*名额有限,{brief.get('urgency', '仅剩30个名额')}*
"""

# 使用示例
generator = FullMarketingCopyGenerator()

brief = {
    "product_name": "智能客服机器人",
    "audience": "中小企业主",
    "value_proposition": "24小时在线,成本降低80%",
    "tone": "专业且有说服力",
    "pain_point": "人工客服成本高、响应慢、难以24小时服务",
    "features": [
        "AI智能识别",
        "多轮对话能力",
        "一键接入"
    ],
    "benefits": [
        "自动解答85%常见问题",
        "理解客户意图,准确率95%",
        "5分钟完成配置"
    ],
    "offer": "限时特惠:首月免费 + 专业部署服务",
    "cta_text": "立即申请免费试用"
}

copy = generator.generate_full_copy(brief)

print("=== 营销文案 ===")
print(f"\n【标题】{copy['headline']}")
print(f"\n【副标题】{copy['subheadline']}")
print(f"\n【开头】\n{copy['hook']}")
print(f"\n【正文】\n{copy['body']}")
print(f"\n【论据】\n{copy['proof_points']}")
print(f"\n【行动号召】\n{copy['cta']}")

21.2 文章与报告写作:结构、内容与风格控制

21.2.1 长文章结构设计

python 复制代码
class ArticleStructureTemplates:
    """文章结构模板"""
    
    STRUCTURES = {
        "problem_solution": {
            "name": "问题-解决方案型",
            "适用场景": "解决方案介绍、产品评测、教程指南",
            "structure": """
【引言】
- 抛出问题或现象
- 阐述问题的普遍性和重要性
- 引出解决方案的必要性

【问题分析】
- 详细描述问题的各个方面
- 分析问题的根本原因
- 展示问题的真实案例

【解决方案】
- 提出解决方案
- 解释方案的核心原理
- 展示方案的优势特点

【实践指南】
- 具体实施步骤
- 注意事项和技巧
- 常见问题解答

【总结展望】
- 回顾核心要点
- 展望未来发展
- 呼吁采取行动
"""
        },
        
        "comparison": {
            "name": "对比分析型",
            "适用场景": "产品对比、方案选型、趋势分析",
            "structure": """
【背景介绍】
- 说明对比的背景
- 阐述评估的标准

【方案A分析】
- 方案A的核心特点
- 方案A的优劣势

【方案B分析】
- 方案B的核心特点
- 方案B的优劣势

【深度对比】
- 各维度对比分析
- 数据支撑和证据

【结论建议】
- 综合评估结论
- 适用场景建议
"""
        },
        
        "story_narrative": {
            "name": "故事叙述型",
            "适用场景": "品牌故事、人物专访、案例分享",
            "structure": """
【开场场景】
- 设置故事背景
- 营造氛围代入感

【人物介绍】
- 主人公的背景
- 面临的挑战

【冲突升级】
- 困难的逐步加剧
- 内心的挣扎纠结

【转折突破】
- 关键的转折点
- 灵感的来源

【成功蜕变】
- 最终的解决方案
- 取得的成果成就

【启示感悟】
- 经验教训总结
- 对读者的启示
"""
        },
        
        "expert_analysis": {
            "name": "专家分析型",
            "适用场景": "行业洞察、趋势预测、专业评论",
            "structure": """
【核心观点】
- 开篇亮明观点
- 简述判断依据

【数据支撑】
- 关键数据引用
- 统计趋势分析

【原因剖析】
- 现象背后的原因
- 多维度解读

【影响评估】
- 对行业的影响
- 对相关方的影响

【趋势预测】
- 未来发展方向
- 可能的变化趋势

【行动建议】
- 针对不同主体的建议
- 具体可操作的步骤
"""
        }
    }
    
    @staticmethod
    def get_structure_prompt(article_type: str, topic: str, 
                           requirements: dict) -> str:
        """生成文章结构提示词"""
        structure = ArticleStructureTemplates.STRUCTURES.get(
            article_type,
            ArticleStructureTemplates.STRUCTURES["problem_solution"]
        )
        
        prompt = f"""
请按照以下结构撰写一篇{requirements.get('word_count', '2000')}字的文章。

【文章类型】
{structure['name']}
适用场景:{structure['适用场景']}

【文章主题】
{topic}

【目标读者】
{requirements.get('audience', '一般读者')}

【风格要求】
{requirements.get('tone', '专业严谨')}

【参考结构】
{structure['structure']}

【特殊要求】
{requirements.get('special', '无')}

请确保:
1. 逻辑清晰,层次分明
2. 论点有据,论据充分
3. 语言流畅,可读性强
4. 符合目标读者的阅读习惯
"""
        
        return prompt

21.2.2 报告生成提示词

python 复制代码
class ReportGenerationPrompts:
    """报告生成提示词模板"""
    
    REPORT_TYPES = {
        "executive_summary": {
            "name": "执行摘要",
            "length": "1-2页",
            "focus": "关键发现和建议"
        },
        "quarterly_review": {
            "name": "季度回顾",
            "length": "10-20页",
            "focus": "业绩分析和趋势"
        },
        "market_research": {
            "name": "市场调研报告",
            "length": "20-50页",
            "focus": "市场分析和预测"
        },
        "feasibility_study": {
            "name": "可行性研究报告",
            "length": "30-100页",
            "focus": "方案评估和决策支持"
        }
    }
    
    @staticmethod
    def generate_report_outline(report_type: str, topic: str) -> str:
        """生成报告大纲"""
        template = f"""
为以下报告生成详细大纲:

报告类型:{ReportGenerationPrompts.REPORT_TYPES.get(report_type, {}).get('name', '通用报告')}
报告主题:{topic}

请生成包含以下内容的大纲:
1. 报告摘要
2. 主要章节及子节
3. 每个章节的核心内容要点
4. 数据和附录要求

格式要求:
- 使用Markdown格式
- 使用层级标题
- 标注每个章节的建议字数
"""
        
        return template
    
    @staticmethod
    def generate_section_content(section_title: str, 
                                section_context: dict) -> str:
        """生成章节内容"""
        template = f"""
撰写以下报告章节的内容:

章节标题:{section_title}

背景信息:
{_section_context.get('background', '无')}

数据来源:
{_section_context.get('data_sources', '无')}

已有数据:
{_section_context.get('existing_data', '无')}

写作要求:
- 目标字数:{section_context.get('word_count', '800-1000')}字
- 风格:{section_context.get('tone', '专业')}
- 受众:{section_context.get('audience', '一般读者')}
- 必须包含:{section_context.get('required_elements', '数据图表')}

请撰写完整内容:
"""
        
        return template

# 数据报告生成器
class DataReportGenerator:
    """数据报告生成器"""
    
    def __init__(self):
        self.chart_configs = {
            "line": "折线图:展示趋势变化",
            "bar": "柱状图:展示对比",
            "pie": "饼图:展示占比",
            "scatter": "散点图:展示相关性"
        }
    
    def generate_data_analysis_report(self, data_summary: dict, 
                                     analysis_type: str) -> dict:
        """生成数据分析报告"""
        
        # 1. 生成关键发现
        key_findings = self._extract_key_findings(data_summary)
        
        # 2. 生成详细分析
        detailed_analysis = self._generate_detailed_analysis(
            data_summary, analysis_type
        )
        
        # 3. 生成图表建议
        chart_recommendations = self._recommend_charts(data_summary)
        
        # 4. 生成结论建议
        conclusions = self._generate_conclusions(data_summary)
        
        return {
            "key_findings": key_findings,
            "detailed_analysis": detailed_analysis,
            "chart_recommendations": chart_recommendations,
            "conclusions": conclusions,
            "appendixes": self._suggest_appendixes(data_summary)
        }
    
    def _extract_key_findings(self, data_summary: dict) -> list:
        """提取关键发现"""
        findings = []
        
        # 趋势发现
        if "trend" in data_summary:
            findings.append({
                "category": "趋势",
                "finding": f"{data_summary['trend']['metric']}呈现"
                          f"{data_summary['trend']['direction']}趋势",
                "significance": "显著"
            })
        
        # 对比发现
        if "comparisons" in data_summary:
            for comp in data_summary["comparisons"]:
                findings.append({
                    "category": "对比",
                    "finding": f"{comp['item_a']}与{comp['item_b']}"
                              f"{comp['relationship']}",
                    "significance": comp.get("significance", "一般")
                })
        
        # 异常发现
        if "anomalies" in data_summary:
            for anomaly in data_summary["anomalies"]:
                findings.append({
                    "category": "异常",
                    "finding": f"发现异常点:{anomaly['description']}",
                    "significance": anomaly.get("significance", "需关注")
                })
        
        return findings
    
    def _recommend_charts(self, data_summary: dict) -> list:
        """推荐图表"""
        recommendations = []
        
        # 根据数据类型推荐图表
        if "time_series" in data_summary:
            recommendations.append({
                "chart_type": "折线图",
                "data": data_summary["time_series"],
                "purpose": "展示时间趋势变化"
            })
        
        if "categories" in data_summary:
            recommendations.append({
                "chart_type": "柱状图",
                "data": data_summary["categories"],
                "purpose": "对比不同类别"
            })
        
        if "composition" in data_summary:
            recommendations.append({
                "chart_type": "饼图",
                "data": data_summary["composition"],
                "purpose": "展示组成结构"
            })
        
        return recommendations
    
    def _generate_conclusions(self, data_summary: dict) -> list:
        """生成结论"""
        conclusions = [
            {
                "type": "summary",
                "content": "基于以上分析,整体趋势表明业务处于良好发展态势。"
            },
            {
                "type": "risk",
                "content": "需要关注潜在风险点,建议持续监控关键指标。"
            },
            {
                "type": "recommendation",
                "content": "建议下一步行动:加强A领域投入,优化B流程。"
            }
        ]
        
        return conclusions

21.3 社交媒体内容创作:不同平台的风格适配

21.3.1 平台特性分析

python 复制代码
class PlatformCharacteristics:
    """社交媒体平台特性"""
    
    PLATFORMS = {
        "weibo": {
            "name": "微博",
            "content_type": "短内容 + 长文章",
            "max_length": "正文2000字,话题无限制",
            "features": [
                "话题标签 (#话题#)",
                "@提及",
                "转发评论",
                "热门榜单"
            ],
            "audience": "年轻人、明星粉丝、热点关注者",
            "best_practices": {
                "tone": "轻松有趣,紧跟热点",
                "timing": "早晚高峰、热点发生时",
                "hashtags": "2-5个相关话题",
                "media": "图片/短视频增强吸引力"
            },
            "content_formats": [
                "热点评论",
                "生活分享",
                "观点表达",
                "互动问答"
            ]
        },
        
        "wechat": {
            "name": "微信公众号",
            "content_type": "长文章为主",
            "max_length": "无硬性限制,建议1500-3000字",
            "features": [
                "图文消息",
                "音频/视频",
                "阅读原文",
                "赞赏功能"
            ],
            "audience": "职场人士、专业领域读者",
            "best_practices": {
                "tone": "专业深度,有价值输出",
                "structure": "小标题+图文配合",
                "cta": "文末引导关注和分享",
                "timing": "早7-9点、午12-14点、晚20-22点"
            },
            "content_formats": [
                "深度分析",
                "教程指南",
                "行业洞察",
                "人物专访"
            ]
        },
        
        "xiaohongshu": {
            "name": "小红书",
            "content_type": "图文/视频种草",
            "max_length": "笔记1000字以内",
            "features": [
                "封面图片",
                "标签地点",
                "商品链接",
                "收藏互动"
            ],
            "audience": "年轻女性、消费决策者",
            "best_practices": {
                "tone": "真实分享,亲和力强",
                "cover": "高清美图,吸引眼球",
                "format": "emoji+分段+干货",
                "keywords": "布局搜索关键词"
            },
            "content_formats": [
                "好物推荐",
                "教程攻略",
                "探店体验",
                "生活方式"
            ]
        },
        
        "douyin": {
            "name": "抖音",
            "content_type": "短视频为主",
            "max_length": "15秒-10分钟",
            "features": [
                "短视频",
                "直播",
                "话题挑战",
                "dou+推广"
            ],
            "audience": "全年龄段,以年轻人为主",
            "best_practices": {
                "tone": "前3秒抓住注意力",
                "structure": "黄金3秒+反转/悬念+结尾引导",
                "music": "热门音乐增加曝光",
                "cta": "关注+评论+分享"
            },
            "content_formats": [
                "剧情短片",
                "知识科普",
                "产品展示",
                "日常生活"
            ]
        },
        
        "zhihu": {
            "name": "知乎",
            "content_type": "问答+文章",
            "max_length": "无限制,建议充分展开",
            "features": [
                "问答形式",
                "专业深度",
                "赞同收藏",
                "知乎专栏"
            ],
            "audience": "高学历、专业人士、问题解决者",
            "best_practices": {
                "tone": "专业严谨,有理有据",
                "structure": "先说结论,再说论证",
                "references": "引用数据来源",
                "update": "定期更新维护"
            },
            "content_formats": [
                "专业解答",
                "经验分享",
                "产品测评",
                "行业分析"
            ]
        }
    }

21.3.2 跨平台内容适配

python 复制代码
class CrossPlatformContentAdapter:
    """跨平台内容适配器"""
    
    def __init__(self):
        self.platform_chars = PlatformCharacteristics.PLATFORMS
    
    def adapt_content(self, original_content: dict, 
                     target_platforms: list) -> dict:
        """将原始内容适配到多个平台"""
        adapted = {}
        
        for platform in target_platforms:
            adapted[platform] = self._adapt_to_platform(
                original_content, platform
            )
        
        return adapted
    
    def _adapt_to_platform(self, content: dict, platform: str) -> dict:
        """适配到特定平台"""
        platform_info = self.platform_chars.get(platform, {})
        
        adapted = {
            "title": self._adapt_title(content.get("title", ""), platform),
            "body": self._adapt_body(content.get("body", ""), platform),
            "hashtags": self._generate_hashtags(content, platform),
            "media_suggestions": self._suggest_media(platform),
            "posting_tips": self._get_posting_tips(platform)
        }
        
        return adapted
    
    def _adapt_title(self, original_title: str, platform: str) -> str:
        """适配标题"""
        platform_limits = {
            "weibo": 30,
            "wechat": 64,
            "xiaohongshu": 20,
            "douyin": 40,
            "zhihu": 50
        }
        
        limit = platform_limits.get(platform, 50)
        
        # 平台特定的标题风格
        platform_styles = {
            "weibo": "话题式、悬念式",
            "wechat": "信息量式、情感式",
            "xiaohongshu": "种草式、攻略式",
            "douyin": "冲击式、反转式",
            "zhihu": "问题式、专业式"
        }
        
        # 根据平台调整
        if platform == "xiaohongshu":
            # 小红书添加emoji
            return f"📌 {original_title[:limit-3]}"
        elif platform == "weibo":
            # 微博添加话题标签
            return f"#{original_title}#"[:limit]
        elif platform == "zhihu":
            # 知乎问题式
            return f"如何理解{original_title}?"
        else:
            return original_title[:limit]
    
    def _adapt_body(self, original_body: str, platform: str) -> str:
        """适配正文"""
        length_limits = {
            "weibo": 2000,
            "wechat": 3000,
            "xiaohongshu": 1000,
            "douyin": 500,  # 主要是口播脚本
            "zhihu": 5000
        }
        
        # 平台风格调整
        if platform == "xiaohongshu":
            # 小红书:emoji + 分段 + 实用干货
            adapted = self._to_xiaohongshu_style(original_body)
        elif platform == "douyin":
            # 抖音:口播脚本格式
            adapted = self._to_douyin_script(original_body)
        elif platform == "weibo":
            # 微博:精简 + 互动引导
            adapted = self._to_weibo_style(original_body)
        else:
            adapted = original_body
        
        # 截断到长度限制
        limit = length_limits.get(platform, 2000)
        if len(adapted) > limit:
            adapted = adapted[:limit] + "..."
        
        return adapted
    
    def _to_xiaohongshu_style(self, content: str) -> str:
        """转换为小红书风格"""
        lines = content.split("\n")
        styled = []
        
        for i, line in enumerate(lines[:10]):  # 限制行数
            if line.strip():
                # 添加emoji
                if i == 0:
                    styled.append(f"✨ {line}")
                elif "特点" in line or "优势" in line:
                    styled.append(f"💡 {line}")
                elif "步骤" in line or "方法" in line:
                    styled.append(f"📝 {line}")
                elif "注意" in line or "提醒" in line:
                    styled.append(f"⚠️ {line}")
                else:
                    styled.append(line)
        
        styled.append("\n💖 觉得有用记得收藏~")
        
        return "\n".join(styled)
    
    def _to_douyin_script(self, content: str) -> str:
        """转换为抖音脚本"""
        lines = content.split("\n")
        script = ["【开场】"]
        
        # 黄金3秒
        script.append("⚡ 钩子:设置悬念或痛点")
        script.append("")
        
        script.append("【正文】")
        for i, line in enumerate(lines[:5]):
            if line.strip():
                script.append(f"{i+1}. {line.strip()}")
        
        script.append("")
        script.append("【结尾】")
        script.append("👉 关注我,获取更多干货")
        
        return "\n".join(script)
    
    def _to_weibo_style(self, content: str) -> str:
        """转换为微博风格"""
        lines = content.split("\n")[:5]  # 限制内容长度
        styled = "\n".join(lines)
        
        styled += "\n\n---"
        styled += "\n你怎么看?欢迎评论区留言~"
        styled += "\n➕ 关注我,更多精彩内容"
        
        return styled
    
    def _generate_hashtags(self, content: dict, platform: str) -> list:
        """生成话题标签"""
        base_tags = content.get("tags", [])
        
        platform_tags = {
            "weibo": ["#{}#".format(tag) for tag in base_tags[:3]],
            "xiaohongshu": base_tags[:5] + ["种草", "好物推荐"],
            "douyin": ["#" + tag for tag in base_tags[:3]] + ["热门", "推荐"],
            "zhihu": [tag for tag in base_tags[:3]],
            "wechat": []  # 微信公众号不推荐使用标签
        }
        
        return platform_tags.get(platform, [])
    
    def _suggest_media(self, platform: str) -> dict:
        """媒体建议"""
        suggestions = {
            "weibo": {
                "primary": "高清图片(9图最佳)",
                "secondary": "短视频",
                "tips": "图片要精美有质感"
            },
            "xiaohongshu": {
                "primary": "封面图 + 内页图(3-9张)",
                "secondary": "视频",
                "tips": "封面要吸引眼球,文字要清晰"
            },
            "douyin": {
                "primary": "竖版短视频(9:16)",
                "secondary": "封面图",
                "tips": "视频要短平快,有节奏感"
            },
            "wechat": {
                "primary": "封面图 + 正文配图",
                "secondary": "音频/视频",
                "tips": "图片要与内容相关"
            }
        }
        
        return suggestions.get(platform, {})
    
    def _get_posting_tips(self, platform: str) -> dict:
        """发布建议"""
        tips = {
            "weibo": {
                "best_time": "早7-9点,午12-14点,晚18-21点",
                "frequency": "每天1-3条",
                "interaction": "及时回复评论,参与话题"
            },
            "xiaohongshu": {
                "best_time": "晚19-22点",
                "frequency": "每天1篇",
                "interaction": "回复评论,@相关用户"
            },
            "douyin": {
                "best_time": "午12-14点,晚18-22点",
                "frequency": "每天1-3条",
                "interaction": "回复评论,引导关注"
            }
        }
        
        return tips.get(platform, {})

# 使用示例
adapter = CrossPlatformContentAdapter()

original_content = {
    "title": "2024年十大科技趋势预测",
    "body": """
2024年科技领域将迎来重大变革。以下是我对主要趋势的预测:

第一,人工智能将进一步渗透各行各业。从医疗诊断到金融风控,AI的应用场景将持续扩大。

第二,量子计算将取得突破性进展。多家科技巨头都在加大对量子计算的投资。

第三,元宇宙将从概念走向落地。更多实际应用场景将逐步呈现。

第四,新能源技术将加速发展。电动汽车和储能技术将更加成熟。

第五,生物技术将带来医疗革命。基因编辑和细胞疗法将取得更多突破。
    """,
    "tags": ["科技趋势", "AI", "量子计算", "元宇宙", "新能源"]
}

adapted = adapter.adapt_content(original_content, 
                               ["weibo", "xiaohongshu", "douyin"])

for platform, content in adapted.items():
    print(f"\n=== {platform.upper()} ===")
    print(f"标题: {content['title']}")
    print(f"正文: {content['body'][:100]}...")
    print(f"话题: {content['hashtags']}")

21.4 创意写作:小说、剧本、诗歌的提示词设计

21.4.1 小说创作提示词框架

python 复制代码
class NovelWritingPrompts:
    """小说创作提示词框架"""
    
    GENRE_TEMPLATES = {
        "fantasy": {
            "name": "奇幻小说",
            "world_elements": [
                "魔法系统设定",
                "种族与势力",
                "地理与环境",
                "历史与神话"
            ],
            "character_archetypes": [
                "英雄主角",
                "导师智者",
                "盟友伙伴",
                "反派boss"
            ],
            "plot_structures": [
                "英雄之旅",
                "势力争斗",
                "成长蜕变"
            ]
        },
        
        "romance": {
            "name": "言情小说",
            "world_elements": [
                "时代背景",
                "社会阶层",
                "家庭关系",
                "职业设定"
            ],
            "character_archetypes": [
                "霸道总裁",
                "灰姑娘",
                "青梅竹马",
                "欢喜冤家"
            ],
            "plot_structures": [
                "相识相知",
                "误会冲突",
                "感情升温",
                "大团圆结局"
            ]
        },
        
        "mystery": {
            "name": "悬疑推理",
            "world_elements": [
                "案发现场",
                "时间线",
                "证人关系",
                "证据链"
            ],
            "character_archetypes": [
                "侦探主角",
                "嫌疑人",
                "知情者",
                "真凶"
            ],
            "plot_structures": [
                "案发发现",
                "线索搜集",
                "推理分析",
                "真相大白"
            ]
        },
        
        "scifi": {
            "name": "科幻小说",
            "world_elements": [
                "科技设定",
                "太空/未来背景",
                "政治格局",
                "外星文明"
            ],
            "character_archetypes": [
                "科学家/工程师",
                "探险家",
                "AI/机器人",
                "外星生命"
            ],
            "plot_structures": [
                "危机出现",
                "探索求知",
                "冲突对抗",
                "解决升华"
            ]
        }
    }
    
    @staticmethod
    def generate_world_building_prompt(genre: str, theme: str) -> str:
        """生成世界观构建提示词"""
        template = f"""
请为一部{genre}类型的小说构建完整的世界观。

【小说主题】
{theme}

【需要构建的要素】
1. 世界观框架
   - 故事发生的时代背景
   - 社会政治结构
   - 经济文化特征

2. 规则体系
   - 核心规则(如魔法、科技)
   - 规则的限制与代价
   - 规则的运用方式

3. 地理环境
   - 主要场景描述
   - 场景与情节的关系
   - 场景的氛围营造

4. 历史背景
   - 世界形成的历史
   - 重要历史事件
   - 历史对现在的影响

请提供详细且具有创意的内容,为后续的故事创作奠定基础。
"""
        
        return template
    
    @staticmethod
    def generate_character_prompt(character_role: str, genre: str,
                               world_context: str) -> str:
        """生成角色塑造提示词"""
        template = f"""
为一个{genre}小说创建深度角色。

【角色定位】
{character_role}

【世界观背景】
{world_context}

【角色塑造要素】
1. 基础信息
   - 姓名与昵称
   - 外貌特征
   - 年龄与身份

2. 性格塑造
   - 核心性格特质
   - 性格的矛盾与复杂性
   - 性格形成的原因

3. 背景故事
   - 成长经历
   - 重要的人生事件
   - 对角色影响最大的人

4. 目标与动机
   - 表层目标(角色自己认知的)
   - 深层动机(内心真实的渴望)
   - 目标与动机的冲突

5. 关系网络
   - 与其他角色的关系
   - 关系的发展变化

请创建一个立体、有深度的角色形象。
"""
        
        return template
    
    @staticmethod
    def generate_chapter_prompt(chapter_outline: str, 
                               writing_style: str,
                               word_count: int) -> str:
        """生成章节写作提示词"""
        template = f"""
请根据以下大纲撰写小说章节。

【章节大纲】
{chapter_outline}

【写作风格要求】
{writing_style}

【技术要求】
- 目标字数:{word_count}字
- 视角:{writing_style.get('viewpoint', '第三人称')}
- 节奏:{writing_style.get('pace', '中等')}
- 对话比例:{writing_style.get('dialogue_ratio', '30%')}

【写作要点】
1. 开场要吸引读者
2. 善用细节描写
3. 对话要符合角色性格
4. 节奏把控张弛有度
5. 为后续情节埋下伏笔

请撰写完整、精彩的章节内容。
"""
        
        return template

21.4.2 剧本创作提示词

python 复制代码
class ScriptwritingPrompts:
    """剧本创作提示词"""
    
    SCRIPT_ELEMENTS = {
        "format": """
【剧本格式规范】

场景标题:[内景/外景] 场景名称 - 时间

动作描写:
(括号内描述环境、人物动作、表情等)

对话:
人物A:(动作)台词
人物B:(动作)台词

转场:
>>> 场景过渡描述
""",
        
        "scene_structure": """
【场景结构】

开场:
- 设置场景氛围
- 引入主要角色
- 建立冲突或悬念

发展:
- 深化冲突
- 角色互动
- 信息揭示

高潮:
- 冲突顶点
- 关键决定
- 情感爆发

结尾:
- 解决或深化
- 过渡到下一场景
"""
    }
    
    @staticmethod
    def generate_screenplay_prompt(genre: str, premise: str,
                                   target_length: str) -> str:
        """生成电影剧本提示词"""
        template = f"""
请创作一个{genre}类型的电影剧本。

【故事前提】
{premise}

【篇幅要求】
{target_length}

【剧本结构】
1. 故事大纲(500字)
   - 起因
   - 经过
   - 高潮
   - 结局

2. 人物设定(每人200字)
   - 主要角色3-5人
   - 性格、目标、冲突

3. 场景大纲(1000字)
   - 主要场景列表
   - 场景功能说明

4. 完整剧本(按篇幅要求)

【格式要求】
请使用标准剧本格式:
- 场景标题大写
- 动作用括号
- 对话居中
- 人物名大写

请创作有吸引力、故事完整、人物立体的剧本。
"""
        
        return template
    
    @staticmethod
    def generate_dialogue_prompt(scene_context: str,
                                 character_a: dict,
                                 character_b: dict,
                                 dialogue_purpose: str) -> str:
        """生成对话提示词"""
        template = f"""
请为以下场景创作对话。

【场景背景】
{scene_context}

【角色A】
- 姓名:{character_a.get('name')}
- 性格:{character_a.get('personality')}
- 说话风格:{character_a.get('speaking_style')}
- 当前情绪:{character_a.get('emotion')}
- 隐藏目的:{character_a.get('hidden_agenda')}

【角色B】
- 姓名:{character_b.get('name')}
- 性格:{character_b.get('personality')}
- 说话风格:{character_b.get('speaking_style')}
- 当前情绪:{character_b.get('emotion')}
- 隐藏目的:{character_b.get('hidden_agenda')}

【对话目的】
{dialogue_purpose}

【写作要求】
1. 对话要自然,符合角色性格
2. 通过对话展现人物关系
3. 潜台词要丰富
4. 推动情节发展
5. 控制对话长度

请创作精彩、有张力的对话。
"""
        
        return template

21.4.3 诗歌创作提示词

python 复制代码
class PoetryWritingPrompts:
    """诗歌创作提示词"""
    
    POETRY_FORMS = {
        "modern": {
            "name": "现代诗",
            "features": [
                "形式自由",
                "意象丰富",
                "情感真挚",
                "语言凝练"
            ],
            "techniques": [
                "比喻象征",
                "通感",
                "意象叠加",
                "留白"
            ]
        },
        
        "classical": {
            "name": "古典诗词",
            "forms": [
                "五言律诗",
                "七言律诗",
                "词牌"
            ],
            "rules": [
                "平仄押韵",
                "对仗工整",
                "意象统一",
                "情景交融"
            ]
        }
    }
    
    @staticmethod
    def generate_poem_prompt(poem_type: str, theme: str,
                            mood: str, length: str) -> str:
        """生成诗歌创作提示词"""
        
        if poem_type == "modern":
            template = f"""
请创作一首现代诗。

【主题】
{theme}

【情感基调】
{mood}

【篇幅要求】
{length}

【写作要点】
1. 选择独特的意象
2. 运用比喻、象征等手法
3. 语言要凝练有韵味
4. 情感要真挚动人
5. 留有想象空间

【意象建议】
- 自然意象:星辰、月亮、海洋、森林
- 生活意象:咖啡、书信、老照片、站台
- 情感意象:距离、等待、告别、重逢

请创作一首有意境、有情感的现代诗。
"""
        else:
            template = f"""
请创作一首古典诗词。

【体裁】
{poem_type}

【主题】
{theme}

【情感基调】
{mood}

【格式要求】
- 押韵规则:{length}
- 对仗要求:{length}

【写作要点】
1. 意象选择要典型
2. 情景要交融
3. 语言要典雅
4. 意境要深远
5. 情感要含蓄

请创作一首符合格律、意境优美的{poem_type}。
"""
        
        return template

21.5 内容优化与改写:SEO优化、润色、翻译

21.5.1 SEO优化提示词

python 复制代码
class SEOOptimizationPrompts:
    """SEO优化提示词"""
    
    OPTIMIZATION_TYPES = {
        "keyword_integration": {
            "name": "关键词整合",
            "focus": "自然融入目标关键词"
        },
        "meta_optimization": {
            "name": "元标签优化",
            "focus": "标题、描述的吸引力"
        },
        "structure_optimization": {
            "name": "结构优化",
            "focus": "标题层级、段落安排"
        },
        "readability_optimization": {
            "name": "可读性优化",
            "focus": "段落长度、句子结构"
        }
    }
    
    @staticmethod
    def generate_keyword_optimized_content(
        original_content: str,
        target_keywords: list,
        secondary_keywords: list = None
    ) -> str:
        """生成关键词优化内容"""
        
        template = f"""
请将以下内容进行SEO关键词优化。

【原文】
{original_content}

【目标关键词】(必须自然出现3-5次)
{chr(10).join([f'- {kw}' for kw in target_keywords])}

【次要关键词】(出现1-2次)
{chr(10).join([f'- {kw}' for kw in (secondary_keywords or [])])}

【优化要求】
1. 关键词密度:控制在1-3%
2. 关键词位置:
   - 标题必须包含主关键词
   - 首段必须出现关键词
   - 结尾必须出现关键词
3. 自然融入,避免堆砌
4. 保持内容可读性
5. 语义相关,避免生硬插入

【输出要求】
请提供优化后的完整内容。
"""
        
        return template
    
    @staticmethod
    def generate_meta_tags(topic: str, content_summary: str,
                          keywords: list) -> dict:
        """生成Meta标签"""
        
        template = """
【主题】
{topic}

【内容摘要】
{content_summary}

【关键词】
{keywords}

请生成以下Meta标签:

1. Title(标题)
   - 长度:30-60字符
   - 要求:包含主关键词,有吸引力

2. Meta Description(描述)
   - 长度:120-160字符
   - 要求:概括内容,包含关键词,激发点击

3. H1(主标题)
   - 要求:清晰表达主题

4. H2(副标题列表)
   - 要求:覆盖主要内容点

5. URL Slug(URL片段)
   - 要求:简洁、包含关键词
"""
        
        return {
            "title": f"{topic} | 完整指南与最佳实践",
            "meta_description": f"了解关于{topic}的一切。本文提供{content_summary},包含实用技巧和案例分析。立即阅读!",
            "h1": topic,
            "h2_list": [
                f"{topic}基础知识",
                f"{topic}的核心要点",
                f"{topic}的实践应用",
                f"{topic}常见问题解答"
            ],
            "url_slug": topic.lower().replace(" ", "-")
        }

21.5.2 内容润色提示词

python 复制代码
class ContentPolishingPrompts:
    """内容润色提示词"""
    
    POLISHING_LEVELS = {
        "light": {
            "name": "轻度润色",
            "changes": ["错别字", "病句", "标点"],
            "preserve": ["用词风格", "句子结构", "情感色彩"]
        },
        
        "medium": {
            "name": "中度润色",
            "changes": ["语言流畅", "表达清晰", "逻辑通顺"],
            "preserve": ["核心观点", "主要论据", "个人风格"]
        },
        
        "heavy": {
            "name": "深度改写",
            "changes": ["整体结构", "表达方式", "风格统一"],
            "preserve": ["主题核心", "关键信息"]
        }
    }
    
    @staticmethod
    def polish_content(content: str, 
                      level: str = "medium",
                      target_style: str = None) -> str:
        """润色内容"""
        
        polish_config = ContentPolishingPrompts.POLISHING_LEVELS.get(
            level,
            ContentPolishingPrompts.POLISHING_LEVELS["medium"]
        )
        
        template = f"""
请对以下内容进行{polish_config['name']}。

【原文】
{content}

【润色程度】
{polish_config['name']}

【修改范围】
{chr(10).join([f'- {c}' for c in polish_config['changes']])}

【保持不变】
{chr(10).join([f'- {p}' for p in polish_config['preserve']])}

【目标风格】(可选)
{target_style or '保持原文风格'}

【润色要点】
1. 修正语法错误
2. 优化表达不清的地方
3. 增强语言节奏感
4. 提升整体可读性
5. 保持作者个人特色

请提供润色后的内容。
"""
        
        return template
    
    @staticmethod
    def transform_tone(content: str, 
                      original_tone: str,
                      target_tone: str) -> str:
        """转变语气风格"""
        
        template = f"""
请将以下内容的语气从"{original_tone}"转变为"{target_tone}"。

【原文】
{content}

【原文语气特征】
{original_tone}

【目标语气特征】
{target_tone}

【语气转换要求】
1. 保持核心信息不变
2. 调整用词风格
3. 改变句式结构
4. 调整情感色彩
5. 确保语气统一

请提供转换后的内容。
"""
        
        return template

21.5.3 多语言翻译提示词

python 复制代码
class TranslationPrompts:
    """翻译提示词"""
    
    TRANSLATION_TYPES = {
        "literal": {
            "name": "直译",
            "description": "忠实原文,保留原格式",
            "use_cases": ["技术文档", "合同条款", "官方文件"]
        },
        
        "fluent": {
            "name": "意译",
            "description": "传达原意,符合目标语言习惯",
            "use_cases": ["文学作品", "营销文案", "日常内容"]
        },
        
        "localized": {
            "name": "本地化",
            "description": "文化适配,本地化处理",
            "use_cases": ["网站内容", "APP界面", "广告文案"]
        }
    }
    
    @staticmethod
    def translate_content(content: str,
                          source_lang: str,
                          target_lang: str,
                          translation_type: str = "fluent") -> str:
        """翻译内容"""
        
        template = f"""
请将以下内容从{source_lang}翻译为{target_lang}。

【翻译类型】
{TranslationPrompts.TRANSLATION_TYPES[translation_type]['name']}
描述:{TranslationPrompts.TRANSLATION_TYPES[translation_type]['description']}

【原文】
{content}

【翻译要求】
1. 准确性:忠实传达原文含义
2. 流畅性:符合{target_lang}的表达习惯
3. 文化适应性:适当处理文化差异
4. 术语一致性:使用标准术语
5. 格式保留:保持原文格式结构

【输出】
请提供翻译后的内容。
"""
        
        return template
    
    @staticmethod
    def translate_marketing_content(content: str,
                                   source_lang: str,
                                   target_lang: str) -> dict:
        """翻译营销内容(带本地化建议)"""
        
        template = f"""
请翻译并本地化以下营销内容。

【原文语言】
{source_lang}

【目标语言】
{target_lang}

【原文】
{content}

【翻译+本地化要求】
1. 情感共鸣:确保翻译后仍能触动目标受众
2. 文化适配:
   - 避免文化禁忌
   - 使用当地常用表达
   - 符合当地审美
3. 品牌调性:保持品牌一致性
4. 行动号召:根据当地习惯调整

5. 提供以下内容:
   - 翻译版本
   - 文化注释(解释可能的文化差异)
   - 本地化建议(可选优化)
"""
        
        return template

# 使用示例
translation = TranslationPrompts()

marketing_text = "Experience the future of technology with our revolutionary product."

result = translation.translate_marketing_content(
    content=marketing_text,
    source_lang="English",
    target_lang="中文"
)

print("翻译结果:")
print(result)

本章小结

本章系统介绍了内容创作领域的提示词工程方法:

  1. 营销文案生成:掌握了从标题到全文的完整营销文案创作框架,能够生成吸引眼球的标题和结构完整的营销文案。

  2. 文章与报告写作:学会了问题-解决方案、对比分析、故事叙述等多种文章结构模板,能够根据不同场景生成专业的长篇文章和数据分析报告。

  3. 社交媒体内容创作:了解了微博、微信、小红书、抖音、知乎等主流平台的特点差异,掌握了跨平台内容适配的方法。

  4. 创意写作:建立了小说、剧本、诗歌等创意文体的提示词框架,能够根据不同类型进行世界观构建、角色塑造和情节设计。

  5. 内容优化与改写:掌握了SEO优化、润色改写、多语言翻译的提示词技巧,能够有效提升内容的质量和传播效果。

通过本章的学习,读者能够系统掌握各类内容创作场景的提示词工程方法,提升内容生产的效率和质量。


参考资源

  1. Copywriting Framework - MarketingProfs: www.marketingprofs.com/
  2. SEO Best Practices - Moz: moz.com/beginners-g...
  3. Content Marketing Institute: contentmarketinginstitute.com/
  4. Social Media Writing Tips - Hootsuite: blog.hootsuite.com/
  5. Creative Writing Prompts - Writer's Digest: www.writersdigest.com/
  6. Screenwriting Format Guide - Screenplay Format: www.screenplayformat.com/
相关推荐
sunneo1 小时前
S16.1第一性原理做产品(1):从《创新者的窘境》看AI颠覆——为什么大模型不是护城河
人工智能·产品运营·产品经理·ai编程·ai-native
EMBA寰球网1 小时前
互动展厅设计核心逻辑、实施路径与落地实施要点专业解析:名瑞展览展陈行业实践深度洞察
大数据·人工智能
aiqianji1 小时前
有哪些支持长文的AI生成短篇小说软件?
人工智能·python
lisw051 小时前
人-智能体协同的信任研究!
人工智能·机器学习·软件工程
ofoxcoding1 小时前
Codex Computer Use 完整指南:AI 自动操控 Mac 与 Windows 桌面实战详解
人工智能·windows·macos·ai
OpenCSG1 小时前
第三场黑客松!OpenCSG联合主办南京都市圈OPC超级个体挑战赛正式启动
人工智能·开源·开放传神
甄同学2 小时前
第十五篇:Stream Processor流式处理器,实时响应的幕后机制
人工智能
甲维斯2 小时前
太热闹了!gpt5.6来了,Codex无了,claude重置了!
人工智能
龙腾AI白云2 小时前
标注数据短缺对通用AI产业化的影响与对策
人工智能·pygame·dash