用大模型写小说,最难的不是让它产出一段通顺文字,而是让它记住人物是谁、为什么这么选。很多作者一开始就写‘帮我写一个悬疑故事’,结果生成三章后主角性格前后矛盾,情节靠巧合硬推。问题不在模型能力,而在提示词没有把人物动机和情节因果链绑定。下面拆解一套可以直接套用的提示词结构,重点解决人物与情节脱节的问题。

一、先固定人物内核:欲望、缺陷与错误信念
大模型输出人物容易扁平,因为提示词里往往只有姓名、职业和外貌,缺少驱动行为的内在矛盾。真正决定情节走向的是三样东西:欲望,也就是人物心里最想要什么;缺陷,是什么反复让他把事情搞砸;错误信念,他误以为必须怎么做才能得到想要的东西。比如一个复仇主角,表面欲望是让仇人付出代价,致命缺陷是过度怀疑任何人,错误信念是‘只有亲手复仇才能恢复尊严’。这三个要素一旦写进提示词,模型就不会让主角轻易原谅他人或突然依赖盟友。
可以先让模型生成一张结构化角色卡,而不是一段人物小传。下面的模板可以直接使用:
【角色名】 身份与表面目标: 真实欲望: 致命缺陷: 错误信念: 底线与绝不妥协: 关系网中的关键张力:
这里每一个字段都有目的。表面目标和真实欲望要不一样,比如表面目标是查案,真实欲望是逃避丧亲之痛;错误信念必须到故事高潮时被打破,否则人物没有变化;底线用来约束模型,不让角色做出违背设定的选择。很多提示词只写‘勇敢、聪明、善良’,模型无法从这些形容词推出行为。更有效的做法是写‘他因为害怕被背叛,所以先背叛别人’,这样人物一进入情节就有了动作。
如果直接让模型写‘一个警察追查连环杀手的故事’,它大概率会给出套路化办案流程。改成‘写一个警察调查连环杀手时,为了不面对弟弟失踪真相,不断把怀疑引向无辜者’,人物缺陷就自动变成了情节引擎。人物选择优先于事件排序,这是后续所有提示词的基础。
二、情节推进提示词:用四步冲突链替代空泛大纲
普通大纲提示词只要求‘起承转合’,模型只会罗列事件:主角发现线索、遇到危险、最终破案。事件之间没有因果,人物只是被推着走。更好的做法是要求每个情节点包含四步冲突:想要、阻碍、代价、转变。例如不要写‘主角得知好友背叛’,而要写‘主角本想让好友帮忙掩盖证据,好友拒绝并威胁揭发,主角为自保牺牲另一段关系,从此不再信任身边人’。这个结构逼着模型把事件写成人物的主动选择。
情节节点提示词可以参考这个模板:
请基于以下角色卡生成三幕情节节点: 角色核心欲望:____ 致命缺陷:____ 错误信念:____ 每一幕至少包含四个要素: 1. 人物主动做出的选择 2. 外部阻碍或他人反击 3. 主角为选择付出的代价 4. 主角信念产生的微小变化 输出格式: 第一幕节点: 选择: 阻碍: 代价: 信念变化: 第二幕节点: 第三幕节点:
这个模板会强制模型把‘事件’改写成‘选择’。代价必须写得具体,不要只写‘遇到挑战’,而要写失去信任、身体受伤、公开羞辱、错失机会。比如在古风权谋故事里,按照这个结构生成的第二幕节点可能是:主角为保护妹妹选择伪造账本,被盟友发现后被迫交出城防图,代价是失去唯一盟友,信念从‘示弱能保全家’转向‘只有掌权才能安全’。这样情节和人物就绑在了一起。
如果模型只输出‘主角遭到陷害’,可以继续追问:他之前做了什么选择,谁因为他的选择受损,他为了什么才走到这一步。一次追问往往能把一句空泛概括展开成有用的冲突链。
三、人物与情节联动:用反向检查提示词避免工具人
生成情节后,最常见的问题是人物变成推动剧情的工具人。某个节点即使换一个人也能发生,就说明人物没有真正参与。反向检查的作用是让模型自己验证:每一步剧情是不是由人物缺陷引发,如果主角没有这个错误信念,他还会不会做出同样选择。这种检查可以在大纲完成后单独执行,也可以在每一轮生成后立刻执行。
反向检查提示词如下:
请逐条检查以上情节节点,并回答: 1. 这个节点的冲突是否由主角的缺陷引发? 2. 如果主角没有这个错误信念,他还会做出同样选择吗? 3. 这个节点中主角付出了什么不可逆的代价? 4. 这个节点结束时,主角的欲望是否变得更强烈,信念是否被加深或动摇? 5. 哪些节点即使删掉也不影响人物变化?请标注为冗余节点。
模型回答后,可以据此删除或改写冗余节点。例如某篇小说第二幕里‘主角被卷入朝廷党争’与人物缺陷无关,模型检查后会标注为冗余。这时可以把该节点改写为‘主角因为怀疑所有示好者,拒绝了唯一能帮助他的势力,导致孤立无援’。这个改动让外部事件变成了人物缺陷的后果,情节的重量会明显增加。
建议每次只检查一个维度,比如先查‘选择是否由缺陷引发’,再查‘信念是否发生变化’。一次提出太多要求,模型容易漏掉关键项,回答也会变成笼统的总结。
四、调节生成效果:温度、系统指令与迭代追问
提示词决定输出下限,参数决定输出上限。大模型处理创意类文本时,温度不要总用默认值。通常temperature设在0.7到0.9之间能产生更多分支,适合初稿和头脑风暴;0.3到0.5适合人物性格一致性检查和情节逻辑梳理。如果平台同时开放top_p,不要和temperature一起调到很高,否则句子容易脱离约束,出现华丽但失控的描写。
系统指令能让模型在整段对话中保持稳定。可以使用这样的设定:
你是一名小说结构编辑,擅长从人物动机推导情节。你的任务是:先确认角色核心欲望与错误信念,再生成情节节点。不要输出空泛形容词,不使用巧合解决冲突。每次输出必须包含选择、阻碍、代价、信念变化。如果信息不足,先提问再生成。
其中‘先提问再生成’这条很有用。很多作者只给一个模糊题材,模型就会自行补全人物背景,结果补得和预想完全相反。让它先问几个问题,能避免后续反复修改。即便不采用系统指令,也可以在普通对话中先让模型提问,确认角色欲望和故事背景后再生成。
迭代追问的流程可以固定为四轮:第一轮生成人物卡,第二轮生成情节节点,第三轮反向检查,第四轮局部重写。每轮只把上一轮输出作为输入,不要一次性要求模型完成全部任务。局部重写时可以写‘保留前两幕,仅改写第三幕,让主角的错误信念在第三幕被公开揭穿’,这比重新生成整篇更可控。最后还要自己删掉那些‘看起来合理但不动人’的段落,大模型能提供结构,但哪些地方真正有力量,仍然需要作者来判断。