AI小说"定语堆叠症":我用五条策略重构句法
AI生成中文小说时,超长定语前缀是结构性痼疾。我梳理了五条从句法层面约束模型的策略,核心不是删形容词,而是把左分支结构改成右分支叙事。
问题的本质不是形容词太多
我看过大量AI生成的小说,一个通病从开头就暴露出来:"那几天没洗的油头""这标签页拉满的电脑"——修饰语像列车一样挂在名词前面。我试过直接要求模型"减少形容词",结果它把形容词改成了名词性修饰语,前缀反而更长。
症结在于句法结构。主流大模型的训练数据以英文为主,英文习惯左分支(Left-branching):把A、B、C三个修饰语全堆在名词左边。中文小说,尤其是通俗叙事,讲究右分支或多动词短句,一句只放一个核心信息。单纯做"形容词删除"没用,必须从句法重组和描写逻辑两个层面去约束。
我整理了五条可落地的Prompt策略,按优先级排列。
策略一:强制"名词先行,描写后置"
这是最直接有效的手段。要求模型先把物体抛出来,再用后续分句写状态,而不是打包成一个前缀。
原理对比:
- ❌ 坏:[那个因为挂机太久发烫的] 手机
- ✅ 好:手机一直在挂机,屏幕有些烫手
Prompt指令:
请遵循"名词先行"原则。严禁在名词前堆砌超过6个字的修饰语。如需描述物体状态,请在提到该物体之后,用独立短句或谓语描述,不要变成长定语。
【错误示范】他看着那个锈迹斑斑且散发着恶臭的铁门。
【正确示范】他看着那扇铁门,上面锈迹斑斑,散发着一股恶臭。
这条规则我放在system prompt的第一条,优先级最高。
策略二:限制"的"字结构
AI堆长前缀时,"的"是黏合剂。卡住这个连接词,模型被迫换表达方式。
Prompt指令:
- 一个分句中"的"字不超过两个。
- 严禁"长修饰语 + 的 + 名词"结构(如"那个放在桌子上积满灰尘的杯子")。
- 长修饰语拆成动词短语或独立短句。(改为:"杯子放在桌上,积满了灰尘。")
我实测发现,"的"字上限比"减少形容词"的指令有效得多。后者模型容易糊弄,前者直接改变句法选择空间。
策略三:用动词替代静态描写
对比人类作家和AI的写法,差异在动词密度。
- 人类:头疼得像是要裂开,有什么东西要钻出来。(连续动词,有动作方向)
- AI:被人拿着铁锹……(动词存在,但退化成修饰语成分)
Prompt指令:
多用动词推动描写,少用静态形容词。描写环境或物品时,结合人物的动作交互或感官体验。
不要写:他坐在柔软的真皮沙发上。
要写:他坐进沙发里,真皮的触感陷下去很软。
不要写:巨大的充值按钮。
要写:充值按钮占据了半个屏幕,刺眼地闪烁着。
核心区别:静态形容词定义属性,动词制造过程。读者跟随动作进入场景,而不是接收一份物品清单。
策略四:投喂对比范例(One-Shot/Few-Shot)
既然已有明确的好坏对照,直接喂给模型是最快的校准方式。
Prompt指令:
【学习案例】
案例1(身体感觉):
- ❌ AI风:脑仁生疼,像被人闷了一棍。他费劲地从那张死硬的真皮沙发上爬起来。
- ✅ 人类风:他睁开眼睛,发觉自己躺在一张牛皮长椅上,身上盖着毛毯。
案例2(物品描写):
- ❌ AI风:他按下了那个因为挂机太久发烫的手机屏幕。
- ✅ 人类风:他按亮手机,挂机太久,屏幕已经有些烫手了。
总结要求: 模仿"人类风"写法,将修饰语拆解为独立动作或状态,不要堆在名词前面。
我通常放2-3组案例,覆盖身体感觉、环境描写、物品交互三类高频场景。
策略五:后期拆分指令
如果已经生成了一段长前缀文本,可以用专门指令重写。
Prompt指令:
把这段话里的长句拆短。名词前面超过5个字的修饰语,拿出来单独成句,放在名词后面。让节奏更像中文口语。
这条作为后处理步骤,配合前四条预防性指令使用。不要依赖它,因为模型在生成阶段的路径依赖很难通过后期完全扭转。
核心差异:不是删词,是重组结构
我需要让模型理解的,不是Adjective Deletion(删除形容词),而是Syntactic Restructuring(句法重组)。
- 目前的AI逻辑: Object = {Attribute1, Attribute2, Attribute3} + Noun
- 我想要的逻辑: Object exists. → Interaction/Observation → Attribute1 appears. → Attribute2 felt.
把这几条要求组合进system prompt,通常会有显著改善。先进模型受英语训练集影响深,中文的右分支习惯不是它的默认设置,需要显式约束。