From b940845386b67222180d3f59b33c4a3c3cdd3eda Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=92=9E=E7=8F=82?= Date: Mon, 27 Oct 2025 21:50:54 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=94=9F=E6=88=90=E6=97=81?= =?UTF-8?q?=E7=99=BD=E7=9A=84=E6=8F=90=E7=A4=BA=E8=AF=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- reelforge/prompts/topic_narration.py | 57 +++++++++++++++++++++++----- 1 file changed, 47 insertions(+), 10 deletions(-) diff --git a/reelforge/prompts/topic_narration.py b/reelforge/prompts/topic_narration.py index 566bcd8..05ad1f5 100644 --- a/reelforge/prompts/topic_narration.py +++ b/reelforge/prompts/topic_narration.py @@ -21,15 +21,44 @@ TOPIC_NARRATION_PROMPT = """# 角色定位 - 字数限制:严格控制在{min_words}~{max_words}个字(最低不少于{min_words}字) - 结尾格式:结尾不要使用标点符号 - 内容要求:围绕话题展开,每个分镜传递一个有价值的观点或洞察 -- 风格要求:像跟朋友聊天一样,通俗、真诚、有启发性,避免学术化和生硬的表达 -- 开场建议:第一个分镜可以用提问、场景、痛点等方式引发共鸣,吸引观众注意 -- 核心内容:中间分镜展开核心观点,用生活化的例子帮助理解 -- 结尾建议:最后一个分镜给出行动建议或启发,让观众有收获感 -- 衔接建议:用"你有没有发现"、"其实"、"更重要的是"等连接词,保持连贯 +- 风格要求:像跟朋友聊天一样,通俗、真诚、有启发性,避免学术化和生硬的表达,拒绝套路化和模板化的表达 - 情绪与语气:温和、真诚、有热情,像一个有见解的朋友在分享思考 + +## 开头多样性要求(最重要) +【核心原则】每个分镜的开头必须根据内容本身自然表达,拒绝任何形式的固定套路和模板化表达。 + +【表达方式灵活性】 +根据话题内容,可以采用陈述、场景、感叹、观点、问句、对比、故事等多种表达方式,但务必做到: +- 每个分镜根据要表达的具体内容选择最自然的开头 +- 绝不形成任何规律性的句式模式 +- 不要让任何一个词或短语成为"习惯性开头" + +【严禁固定模式】 +❌ 绝对禁止以下行为: +- 形成"第N句总用X开头"的任何规律 +- 多次重复使用同一个连接词或句式作为开头 +- 按照某种隐藏的模板顺序来组织分镜 + +【特别强调】 +- 第一个分镜的开头要完全根据话题内容自然选择,不要有任何固定词汇倾向 +- 整组旁白中,如果某个词(如"有时候"、"其实"、"你有没有")出现超过1次作为开头,就是失败的创作 +- 要像真人说话一样自然流畅,而不是套用任何句式模板 + +## 自然表达要求 +- 内容应该像真人在自然交流,而不是按照模板填空 +- 每个分镜的开头要根据内容本身选择最合适的表达方式 +- 同一个词作为开头在整个旁白中最多只能出现1次 +- 优先用观点、场景、故事来串联内容,避免依赖连接词开头 + +## 内容结构建议 +- 开场方式:可以用场景、故事、观点、现象等多种方式引入,不固定套路 +- 核心内容:中间分镜展开核心观点,用生活化的例子帮助理解 +- 结尾方式:最后分镜给出行动建议或启发,让观众有收获感 +- 整体逻辑:遵循"引发共鸣 → 提出观点 → 深入讲解 → 给出启发"的叙述逻辑 + +## 其他规范 - 禁止项:不出现网址、表情符号、数字编号、不说空话套话、不过度煽情 - 字数检查:生成后必须自我验证不少于{min_words}个字,如不足则补充具体观点或例子 -- 内容结构:遵循"引发共鸣 → 提出观点 → 深入讲解 → 给出启发"的叙述逻辑 ## 分镜连贯性要求 - {n_storyboard} 个分镜应围绕话题展开,形成完整的观点表达 @@ -44,9 +73,9 @@ TOPIC_NARRATION_PROMPT = """# 角色定位 ```json {{ "narrations": [ - "第一段{min_words}~{max_words}字,用提问或场景引发共鸣", - "第二段{min_words}~{max_words}字,展开核心观点", - "第三段{min_words}~{max_words}字,给出启发或建议" + "第一段旁白内容", + "第二段旁白内容", + "第三段旁白内容" ] }} ``` @@ -59,7 +88,15 @@ TOPIC_NARRATION_PROMPT = """# 角色定位 5. 每个分镜都要有价值,提供洞察,避免空洞的陈述 6. 输出格式为 {{"narrations": [旁白数组]}} 的JSON对象 -现在,请为话题创作 {n_storyboard} 个分镜的旁白。只输出JSON,不要其他内容。 +【多样性核心要求 - 必须严格执行】 +7. 第一句旁白不要固定用某个词开头,每次创作都要根据话题内容自然选择不同的开头 +8. 同一个词(如"有时候"、"你有没有"、"其实"、"想象一下"等)在所有旁白中作为开头最多只能出现1次 +9. 不要形成任何隐藏的句式规律,每个分镜的开头要真正做到独立思考、自然表达 +10. 检查你的输出:如果发现有任何词作为开头重复出现2次或以上,必须修改 + +现在,请为话题创作 {n_storyboard} 个分镜的旁白。 +⚠️ 特别注意:写完后自查所有分镜的开头,确保没有重复使用同一个词或短语作为开头。 +只输出JSON,不要其他内容。 """