爽感路由矩阵 (Catharsis Matrix)
ONW 5.0 核心组件:心理学与叙事学武器库
概述
Catharsis Matrix 是 ONW 5.0 的"多维爽感路由"核心。它将各种高级心理学张力模型固化为 Prompt 模板,供 Planner Agent 动态调用,指导 Writer Agent 生成具有精准情绪释放节奏的章节。
模型列表
| 模型 | 文件 | 核心功能 |
|---|---|---|
| 禁忌僭越 | taboo-transgression.md |
边缘拉扯、危险感、高压情绪释放 |
| 降维打击 | overkill-reversal.md |
碾压、反转、绝地反击、实力差距逆转 |
| 认知闭环 | cognitive-closure.md |
多线伏笔瞬间收束、解谜快感、认知满足 |
调度机制
Planner Agent 调用流程
# 伪代码
def select_catharsis_model(current_scene_context):
# 1. 分析当前场景需求
tension_level = analyze_tension_needs(current_scene_context)
# 2. 检查 Genesis Contract
core_desire = genesis_contract.core_desire
# 3. 扫描 Ledger 状态
hooks_pool = ledger.hooks
unresolved_hooks = [h for h in hooks_pool if not h.resolved]
# 4. 选择合适的爽感模型
if tension_level > 80:
return "taboo-transgression" # 需要强刺激
elif needs_reversal:
return "overkill-reversal" # 需要反转
elif len(unresolved_hooks) > 3:
return "cognitive-closure" # 需要收束伏笔
else:
return "default" # 均衡模式
模型选择矩阵
| 场景类型 | 推荐模型 | 权重 |
|---|---|---|
| 道德困境 | taboo-transgression | 0.8 |
| 决战前夕 | overkill-reversal | 0.9 |
| 揭秘时刻 | cognitive-closure | 0.85 |
| 日常过渡 | (轻度使用) | 0.3 |
| 多线并行 | cognitive-closure + 组合 | 0.75 |
| 角色成长 | overkill-reversal | 0.6 |
爽感路由规则
优先级规则
- Genesis Contract 优先:
core_desire决定核心爽感类型 - Hook 压强次之:
hooks_pool中未解钩子触发 cognitive-closure - 场景需求兜底: 当前写作上下文决定最终选择
组合使用
多个模型可以组合使用:
# 组合示例:禁忌僭越 + 降维打击
[主角] 面临艰难抉择 (taboo-transgression setup)
↓
[主角] 突破道德底线
↓
[反派] 试图趁虚而入
↓
[主角] 降维碾压 (overkill-reversal)
↓
[结果] 在突破禁忌后更加强大
情绪曲线叠加
Taboo Transgression: ████████░░░░░░░░ (冲击 → 释放)
Overkill Reversal: ░░░░████████████ (积累 → 爆发)
Cognitive Closure: ░░░░░░░░░██████ (悬念 → 揭晓)
组合曲线: ████████▒████████
(多重爽感叠加)
调度触发条件
自动触发
| 条件 | 触发模型 | 说明 |
|---|---|---|
tension_level > 80 |
taboo-transgression | 高压场景 |
reader_feedback.drop_rate > 20% |
cognitive-closure | 读者流失预警 |
chapter_type == "climax" |
所有模型最大化 | 全力输出 |
new_character_introduced |
overkill-reversal | 建立角色实力 |
手动触发
Planner Agent 可以手动指定使用特定模型:
用户指令: "/noma-write 50 --catharsis=taboo-transgression"
与其他模块的联动
Genesis Contract (openspec/)
# Genesis Contract 中的 core_desire 影响模型权重
if core_desire.primary == "revenge":
taboo_transgression.weight *= 1.3 # 复仇题材适合禁忌模型
elif core_desire.primary == "power":
overkill_reversal.weight *= 1.3 # 力量题材适合降维模型
Ledger (core_engine/)
# Ledger 中的 Hook 触发 cognitive-closure
for hook in ledger.hooks:
if is_buried_long_enough(hook):
trigger_cognitive_closure(hook) # 长时间埋设的钩子回收
Retcon Manager (core_engine/)
# Retcon 触发新的爽感需求
if retcon.is_major_change():
invalidate_cached_models() # 清除缓存的模型选择
re_evaluate_catharsis_needs() # 重新评估爽感需求
效果追踪
指标收集
| 指标 | 收集方式 |
|---|---|
| 爽感密度 | 每千字爽点数量 |
| 读者追读率 | Dashboard 监控 |
| 章节完成率 | 阅读数据 |
| 情绪峰值分布 | 章节内停顿点分析 |
调优
# 根据效果数据调优模型权重
def adjust_model_weights(performance_data):
if performance_data.satisfaction < threshold:
# 增加爽感密度
current_model.weight *= 1.1
elif performance_data.confusion > threshold:
# 减少复杂模型使用
cognitive_closure.weight *= 0.8
最佳实践
- 不要连续使用同一模型: 交替使用不同爽感类型保持新鲜感
- 始终服务核心欲望: 爽感模型是手段,core_desire 是目的
- 控制单章爽感密度: 推荐 2-4 个爽感释放点
- 留有余韵: 每个爽点后适当缓冲,避免审美疲劳
文件结构
matrices/catharsis_models/
├── README.md # 本文件
├── taboo-transgression.md # 禁忌僭越模型
├── overkill-reversal.md # 降维打击模型
└── cognitive-closure.md # 认知闭环模型