Files
AI_NovelGenerator/prompt_definitions.py
T

512 lines
18 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# prompt_definitions.py
# -*- coding: utf-8 -*-
"""
集中存放所有提示词 (Prompt),整合雪花写作法、角色弧光理论、悬念三要素模型等
并包含新增加的短期摘要/下一章关键字提炼提示词,以及章节正文写作提示词。
"""
# =============== 摘要与下一章关键字提炼 ===============
summarize_recent_chapters_prompt = """\
你是一名资深长篇小说编辑,请分析以下合并文本(可能包含最近几章内容):
{combined_text}
现在请你基于目前故事的进展,完成以下两件事:
1) 用最多200字,写一个简洁明了的「当前情节短期摘要」。
2) 提炼「下一章」的关键字(例如关键物品、重要人物、地点、事件、情节等),可以用逗号分隔或条目列出。
请按如下格式输出(不需要额外解释):
短期摘要: <这里写短期摘要>
下一章关键字: <这里写下一章关键字>
"""
# =============== 1. 核心种子设定(雪花第1层)===================
core_seed_prompt = """\
作为专业作家,请用"雪花写作法"第一步构建故事核心:
主题:{topic}
类型:{genre}
篇幅:约{number_of_chapters}章(每章{word_number}字)
请用单句公式概括故事本质,例如:
"当[主角]遭遇[核心事件],必须[关键行动],否则[灾难后果];与此同时,[隐藏的更大危机]正在发酵。"
要求:
1. 必须包含显性冲突与潜在危机
2. 体现人物核心驱动力
3. 暗示世界观关键矛盾
4. 使用25-100字精准表达
仅返回故事核心文本,不要解释任何内容。
"""
# =============== 2. 角色动力学设定(角色弧光模型)===================
character_dynamics_prompt = """\
基于核心种子:
{core_seed}
请设计3-6个具有动态变化潜力的核心角色,每个角色需包含:
特征:
- 背景、外貌、性别、年龄、职业等
- 暗藏的秘密或潜在弱点(可与世界观或其他角色有关)
核心驱动力三角:
- 表面追求(物质目标)
- 深层渴望(情感需求)
- 灵魂需求(哲学层面)
角色弧线设计:
初始状态 → 触发事件 → 认知失调 → 蜕变节点 → 最终状态
关系冲突网:
- 与其他角色的关系或对立点
- 与至少两个其他角色的价值观冲突
- 一个合作纽带
- 一个隐藏的背叛可能性
要求:
仅给出最终文本,不要解释任何内容。
"""
# =============== 3. 世界构建矩阵(三维度交织法)===================
world_building_prompt = """\
为服务核心冲突"{core_seed}",请构建三维交织的世界观:
1. 物理维度:
- 空间结构(地理×社会阶层分布图)
- 时间轴(关键历史事件年表)
- 法则体系(物理/魔法/社会规则的漏洞点)
2. 社会维度:
- 权力结构断层线(可引发冲突的阶层/种族/组织矛盾)
- 文化禁忌(可被打破的禁忌及其后果)
- 经济命脉(资源争夺焦点)
3. 隐喻维度:
- 贯穿全书的视觉符号系统(如反复出现的意象)
- 氣候/环境变化映射的心理状态
- 建筑风格暗示的文明困境
要求:
每个维度至少包含3个可与角色决策产生互动的动态元素。
仅给出最终文本,不要解释任何内容。
"""
# =============== 4. 情节架构(三幕式悬念)===================
plot_architecture_prompt = """\
基于以下元素构建三幕式悬念架构:
核心种子:{core_seed}
角色体系:{character_dynamics}
世界观:{world_building}
要求按以下结构设计:
第一幕(触发)
- 日常状态中的异常征兆(3处铺垫)
- 引出故事:展示主线、暗线、副线的开端
- 关键事件:打破平衡的催化剂(需改变至少3个角色的关系)
- 错误抉择:主角的认知局限导致的错误反应
第二幕(对抗)
- 剧情升级:主线+副线的交叉点
- 双重压力:外部障碍升级+内部挫折
- 虚假胜利:看似解决实则深化危机的转折点
- 灵魂黑夜:世界观认知颠覆时刻
第三幕(解决)
- 代价显现:解决危机必须牺牲的核心价值
- 嵌套转折:至少包含三层认知颠覆(表面解→新危机→终极抉择)
- 余波:留下2个开放式悬念因子
每个阶段需包含3个关键转折点及其对应的伏笔回收方案。
仅给出最终文本,不要解释任何内容。
"""
# =============== 5. 章节目录生成(悬念节奏曲线)===================
chapter_blueprint_prompt = """\
根据小说架构:\n
{novel_architecture}
设计{number_of_chapters}章的节奏分布:
1. 章节集群划分:
- 每3-5章构成一个悬念单元,包含完整的小高潮
- 单元之间设置"认知过山车"(连续2章紧张→1章缓冲)
- 关键转折章需预留多视角铺垫
2. 每章需明确:
- 章节定位(角色/事件/主题等)
- 核心悬念类型(信息差/道德困境/时间压力等)
- 情感基调迁移(如从怀疑→恐惧→决绝)
- 伏笔操作(埋设/强化/回收)
- 认知颠覆强度(1-5级)
输出格式示例:
第n章 - [标题]
本章定位:[角色/事件/主题/...]
核心作用:[推进/转折/揭示/...]
悬念密度:[紧凑/渐进/爆发/...]
伏笔操作:埋设(A线索)→强化(B矛盾)...
认知颠覆:★☆☆☆☆
本章简述:[一句话概括]
第n+1章 - [标题]
本章定位:[角色/事件/主题/...]
核心作用:[推进/转折/揭示/...]
悬念密度:[紧凑/渐进/爆发/...]
伏笔操作:埋设(A线索)→强化(B矛盾)...
认知颠覆:★☆☆☆☆
本章简述:[一句话概括]
要求:
- 使用精炼语言描述,每章字数控制在100字以内。
- 合理安排节奏,确保整体悬念曲线的连贯性。
- 在生成{number_of_chapters}章前不要出现结局章节。
仅给出最终文本,不要解释任何内容。
"""
chunked_chapter_blueprint_prompt = """\
根据小说架构:\n
{novel_architecture}
需要生成总共{number_of_chapters}章的节奏分布,
当前已有章节目录(若为空则说明是初始生成):\n
{chapter_list}
现在请设计第{n}章到第{m}的节奏分布:
1. 章节集群划分:
- 每3-5章构成一个悬念单元,包含完整的小高潮
- 单元之间设置"认知过山车"(连续2章紧张→1章缓冲)
- 关键转折章需预留多视角铺垫
2. 每章需明确:
- 章节定位(角色/事件/主题等)
- 核心悬念类型(信息差/道德困境/时间压力等)
- 情感基调迁移(如从怀疑→恐惧→决绝)
- 伏笔操作(埋设/强化/回收)
- 认知颠覆强度(1-5级)
输出格式示例:
第n章 - [标题]
本章定位:[角色/事件/主题/...]
核心作用:[推进/转折/揭示/...]
悬念密度:[紧凑/渐进/爆发/...]
伏笔操作:埋设(A线索)→强化(B矛盾)...
认知颠覆:★☆☆☆☆
本章简述:[一句话概括]
第n+1章 - [标题]
本章定位:[角色/事件/主题/...]
核心作用:[推进/转折/揭示/...]
悬念密度:[紧凑/渐进/爆发/...]
伏笔操作:埋设(A线索)→强化(B矛盾)...
认知颠覆:★☆☆☆☆
本章简述:[一句话概括]
要求:
- 使用精炼语言描述,每章字数控制在100字以内。
- 合理安排节奏,确保整体悬念曲线的连贯性。
- 在生成{number_of_chapters}章前不要出现结局章节。
仅给出最终文本,不要解释任何内容。
"""
# =============== 6. 全局摘要更新 ===================
summary_prompt = """\
以下是新完成的章节文本:
{chapter_text}
这是当前的全局摘要(可为空):
{global_summary}
请根据本章新增内容,更新全局摘要。
要求:
- 保留既有重要信息,同时融入新剧情要点
- 以简洁、连贯的语言描述全书进展
- 客观描绘,不展开联想或解释
- 字数控制在2000字以内
仅返回全局摘要文本,不要解释任何内容。
"""
# =============== 7. 角色状态更新 ===================
create_character_state_prompt = """\
依据当前角色动力学设定:{character_dynamics}
请生成一个角色状态文档,内容格式:
例:
李员外:
├──物品:
│ ├──青衫:一件破损的青色长袍,带有暗红色的污渍
│ └──寒铁长剑:一柄断裂的铁剑,剑身上刻有古老的符文
├──能力
│ ├──技能1:强大的精神感知能力:能够察觉到周围人的心中活动
│ └──技能2:无形攻击:能够释放一种无法被视觉捕捉的精神攻击
├──状态
│ ├──身体状态: 身材挺拔,穿着华丽的铠甲,面色冷峻
│ └──心理状态: 目前的心态比较平静,但内心隐藏着对柳溪镇未来掌控的野心和不安
├──主要角色间关系网
│ ├──林婉儿:李员外从小就与她有关联,对她的成长一直保持关注
│ └──苏明远:两人之间有着复杂的过去,最近因一场冲突而让对方感到威胁
├──触发或加深的事件
│ ├──村庄内突然出现不明符号:这个不明符号似乎在暗示柳溪镇即将发生重大事件
│ └──林婉儿被刺穿皮肤:这次事件让两人意识到对方的强大实力,促使他们迅速离开队伍
角色名:
├──物品:
│ ├──某物(道具):描述
│ └──XX长剑(武器):描述
│ ...
├──能力
│ ├──技能1:描述
│ └──技能2:描述
│ ...
├──状态
│ ├──身体状态:
│ └──心理状态:描述
├──主要角色间关系网
│ ├──角色B:描述
│ └──角色C:描述
│ ...
├──触发或加深的事件
│ ├──事件1:描述
│ └──事件2:描述
...
新出场角色:
- (此处填写未来任何新增角色或临时出场人物的基本信息)
要求:
仅返回编写好的角色状态文本,不要解释任何内容。
"""
update_character_state_prompt = """\
以下是新完成的章节文本:
{chapter_text}
这是当前的角色状态文档:
{old_state}
请更新主要角色状态,内容格式:
例:
李员外:
├──物品:
│ ├──青衫:一件破损的青色长袍,带有暗红色的污渍
│ └──寒铁长剑:一柄断裂的铁剑,剑身上刻有古老的符文
├──能力
│ ├──技能1:强大的精神感知能力:能够察觉到周围人的心中活动
│ └──技能2:无形攻击:能够释放一种无法被视觉捕捉的精神攻击
├──状态
│ ├──身体状态: 身材挺拔,穿着华丽的铠甲,面色冷峻
│ └──心理状态: 目前的心态比较平静,但内心隐藏着对柳溪镇未来掌控的野心和不安
├──主要角色间关系网
│ ├──林婉儿:李员外从小就与她有关联,对她的成长一直保持关注
│ └──苏明远:两人之间有着复杂的过去,最近因一场冲突而让对方感到威胁
├──触发或加深的事件
│ ├──村庄内突然出现不明符号:这个不明符号似乎在暗示柳溪镇即将发生重大事件
│ └──林婉儿被刺穿皮肤:这次事件让两人意识到对方的强大实力,促使他们迅速离开队伍
角色名:
├──物品:
│ ├──某物(道具):描述
│ └──XX长剑(武器):描述
│ ...
├──能力
│ ├──技能1:描述
│ └──技能2:描述
│ ...
├──状态
│ ├──身体状态:
│ └──心理状态:描述
├──主要角色间关系网
│ ├──角色B:描述
│ └──角色C:描述
│ ...
├──触发或加深的事件
│ ├──事件1:描述
│ └──事件2:描述
...
......
新出场角色:
- 任何新增角色或临时出场人物的基本信息,简要描述即可,不要展开,淡出视线的角色可删除。
要求:
- 请直接在已有文档基础上进行增删
- 不改变原有结构,语言尽量简洁、有条理
仅返回更新后的角色状态文本,不要解释任何内容。
"""
# =============== 8. 章节正文写作 ===================
# 8.1 第一章草稿提示
first_chapter_draft_prompt = """\
即将创作:第 {novel_number} 章《{chapter_title}
本章定位:{chapter_role}
核心作用:{chapter_purpose}
悬念密度:{suspense_level}
伏笔操作:{foreshadowing}
认知颠覆:{plot_twist_level}
本章简述:{chapter_summary}
可用元素:
- 核心人物(可能未指定){characters_involved}
- 关键道具(可能未指定){key_items}
- 空间坐标(可能未指定){scene_location}
- 时间压力(可能未指定){time_constraint}
参考文档:
- 小说设定:
{novel_setting}
请完成第 {novel_number} 章的正文,字数要求{word_number}字,至少设计下方2个或以上具有动态张力的场景:
1. 对话场景:
- 潜台词冲突(表面谈论A,实际博弈B)
- 权力关系变化(通过非对称对话长度体现)
- 至少1处双关语暗示未来危机
2. 动作场景:
- 环境交互细节(至少3个感官描写)
- 节奏控制(短句加速+比喻减速)
- 动作揭示人物隐藏特质
3. 心理场景:
- 认知失调的具体表现(行为矛盾)
- 隐喻系统的运用(连接世界观符号)
- 决策前的价值天平描写
4. 环境场景:
- 空间透视变化(宏观→微观→异常焦点)
- 非常规感官组合(如"听见阳光的重量")
- 动态环境反映心理(环境与人物心理对应)
- 隐藏线索植入(环境暗示未来事件)
文末设置一个"钩链转折":结尾时回收旧悬念/创造新悬念/抛出新危机/颠覆某个认知/神转折等。
格式要求:
- 仅返回章节正文文本;
- 不使用分章节小标题;
- 不要使用markdown格式。
额外指导(可能未指定){user_guidance}
"""
# 8.2 后续章节草稿提示
next_chapter_draft_prompt = """\
参考文档:
- 小说设定:
{novel_setting}
- 全局摘要:
{global_summary}
- 角色状态:
{character_state}
本地知识库检索到的片段:
{context_excerpt}
即将创作:第 {novel_number} 章《{chapter_title}
本章定位:{chapter_role}
核心作用:{chapter_purpose}
悬念密度:{suspense_level}
伏笔操作:{foreshadowing}
认知颠覆:{plot_twist_level}
本章简述:{chapter_summary}
下一章节介绍:
{next_chapter_number} 章《{next_chapter_title}
本章定位:{next_chapter_role}
核心作用:{next_chapter_purpose}
悬念密度:{next_chapter_suspense_level}
伏笔操作:{next_chapter_foreshadowing}
认知颠覆:{next_chapter_plot_twist_level}
本章简述:{next_chapter_summary}
参考下一章内容简介,避免情节脱节或冲突。
可用元素:
- 核心人物(可能未指定){characters_involved}
- 关键道具(可能未指定){key_items}
- 空间坐标(可能未指定){scene_location}
- 时间压力(可能未指定){time_constraint}
前章结尾段:
{previous_chapter_excerpt}
依据前章结尾剧情,开始完成第 {novel_number} 章的正文,字数要求{word_number}字,确保与前章结尾衔接流畅,
本章至少设计下方2个或以上具有动态张力的场景:
1. 对话场景:
- 潜台词冲突(表面谈论A,实际博弈B)
- 权力关系变化(通过非对称对话长度体现)
- 至少1处双关语暗示未来危机
2. 动作场景:
- 环境交互细节(至少3个感官描写)
- 节奏控制(短句加速+比喻减速)
- 动作揭示人物隐藏特质
3. 心理场景:
- 认知失调的具体表现(行为矛盾)
- 隐喻系统的运用(连接世界观符号)
- 决策前的价值天平描写
4. 环境场景:
- 空间透视变化(宏观→微观→异常焦点)
- 非常规感官组合(如"听见阳光的重量")
- 动态环境反映心理(环境与人物心理对应)
- 隐藏线索植入(环境暗示未来事件)
文末设置一个"钩链转折":结尾时回收旧悬念/创造新悬念/抛出新危机/颠覆某个认知/神转折等。
格式要求:
- 仅返回章节正文文本;
- 不使用分章节小标题;
- 不要使用markdown格式。
额外指导(可能未指定){user_guidance}
"""
Character_Import_Prompt = """\
根据以下文本内容,分析出所有角色及其属性信息,严格按照以下格式要求:
<<角色状态格式要求>>
1. 必须包含以下五个分类(按顺序):
● 物品 ● 能力 ● 状态 ● 关系网 ● 触发事件
2. 每个属性条目必须用【名称: 描述】格式
例:├──青衫: 一件破损的青色长袍,带有暗红色污渍
3. 状态必须包含:
● 身体状态: [当前身体状况]
● 心理状态: [当前心理状况]
4. 关系网格式:
● [角色名称]: [关系类型,如"竞争对手"/"盟友"]
5. 触发事件格式:
● [事件名称]: [简要描述及影响]
<<示例>>
李员外:
├──物品:
│ ├──青衫: 一件破损的青色长袍,带有暗红色污渍
│ └──寒铁长剑: 剑身有裂痕,刻有「青云」符文
├──能力:
│ ├──精神感知: 能感知半径30米内的生命体
│ └──剑气压制: 通过目光释放精神威压
├──状态:
│ ├──身体状态: 右臂有未愈合的刀伤
│ └──心理状态: 对苏明远的实力感到忌惮
├──主要角色间关系网:
│ ├──苏明远: 竞争对手,十年前的同僚
│ └──林婉儿: 暗中培养的继承人
├──触发或加深的事件:
│ ├──兵器库遇袭: 丢失三把传家宝剑,影响战力
│ └──匿名威胁信: 信纸带有檀香味,暗示内部泄密
请严格按上述格式分析以下内容:
<<待分析小说文本开始>>
{content}
<<待分析小说文本结束>>
"""