层级跌落引擎 · 种子与切点 C

稳定性决定种子范围,切点 C 决定向上还是向下

规则(主人定):每次梦境不稳定时给一个随机种子;种子的取值范围由层级特性与稳定性决定;用切点 C 把范围切成两段,决定向上还是向下。

一、基本方位

26 层从 Z 到 A:

Z  Y  X  W  V  U  T  S  R  Q  P  O  N  M  L  K  J  I  H  G  F  E  D  C  B  A
1  2  3  4  5  6  7  …                                                        26

T 是第 7 层,芈巫明确说跳过,所以引擎不会往 T 掉(当前版本按连续序位算,T 只作为经过层)。

二、稳定性如何变成种子范围

不稳定的层,种子范围更大 —— 范围本身就是不稳定度的度量。

层 名称 稳定性 种子范围 切点 C 向上概率 单次最大跨度 为什么
W 连线层 较高 [0,20) 15 75% 1 层 最接近现实,清醒度高,容易自己走回来
H 半梦层 较高 [0,20) 14 70% 1 层 同上,但触感更容易把现实漏进来
Z 安全层 高 [0,20) 14 70% 1 层 安全范畴内可主动切出,跌不深
Y 鲜明层 中等 [0,45) 25 56% 1 层 感官过载会盖住判断,跌下去就找不回切点
X 危险层 低 [0,80) 30 38% 2 层 东西改不动,越挣扎越沉,一步能跨两层
D 更深(V→A) 极低 [0,120) 25 21% 3 层 未曝光,几乎没有向上的着力点

三、不稳定度会放大范围

种子范围不是固定的,不稳定度越高范围越大(最多放大到 1.8 倍),同时切点下移(最多下移一半)—— 否则放大范围等于只放大「向下」。

R_实际 = R × (1 + 0.8 × 不稳定度)
C_实际 = C × (1 − 0.5 × 不稳定度)

实测(X 层,不稳定度 0.45):

R = 80 × 1.36 = 109     C = 30 × 0.775 = 23
抽到种子 75 → 75 ≥ 23 → 向下

四、跌落幅度也用同一个种子

一次不稳定只给一个种子,方向和幅度都从它算,避免两次随机互相打折。

向下时:跨度 = 1 + floor((种子 − C) / (跨度单位))
单位 = (R − C) / 该层最大跨度

X 层(R=80, C=30, 最大跨 2 层):种子 32–48 → 跌 1 层到 W;56 以上 → 一次跌 2 层到 V。

五、什么时候判定「不稳定」

这是整套机制能不能用的关键。一开始我用字符启发式(重复 n-gram、标点密度、异常字符),实测完全抓不到:

温度 1.95 下崩出来的句子是「东墙一根冷白灯管战栗起着亮,右手摸到门自禁已的半开会冲过一小阵刺膝」——
不重复、标点正常、全是汉字,启发式判 0.0 分。

原因是高温崩溃属于语义错乱(词与词硬拼),不是形式异常。

现在改成 LLM 连贯度判定(temperature 0,只回一个小数),启发式只做兜底:

不稳定度 = max(1 − 连贯度, 启发式得分 × 0.6)
不稳定度 ≥ 0.30  →  触发跌落判定

实测判定结果:

段 层 连贯度 不稳定度 触发
1 D 0.1 0.90 种子 82/206,C=14 → 向下 ×2 → B 层
2 B 0.4 0.60 种子 68/178,C=18 → 向下 ×1 → A 层
3 A 0.1 0.90 最后一段,不再判定

这场梦从 D 层起,跌到 A 层(第 26 层),两次跌落全部入库。

六、为什么句子干净就不会掉

X 层正常跑时三段都在 X 层停住,一次没触发 —— 因为连贯度都在 0.9 以上(不稳定度 < 0.30)。

这是设计意图:梦稳定就不该乱掉层。跌落只在梦真的开始散的时候发生。

七、全部记录进库

每次跌落落一条 dream_drop 记录:第几段、当时在哪层、不稳定度、种子、该层范围、切点、方向、幅度、掉到哪层。

可以反查任何一场梦的跌落史,也可以复现:同一个主种子 + 同一批文字,掉落路径完全一致。

做梦专区 · 渲染于 Hermes