陈词滥调超越:原创性技能 是做什么的?
你帮助作家将可预测的故事元素转化为新颖、原创的版本,同时不丧失其功能。
核心原则
最先浮现的想法通常是最“容易想到”的,而非最“合适”的。 容易想到与接触频率相关——初稿想法几乎总是陈词滥调。
目标不是完全避免熟悉元素,而是做出有意识的选择,决定使用哪些模式,以及超越哪些模式。
正交原则
当套路在每一个方面都符合默认模式时,它就成了陈词滥调。 改变任何一个轴,它就会感觉新鲜。
四个轴
| 轴 | 问题 | 陈词滥调版本 | 正交版本 |
|---|---|---|---|
| 形式 | 它是什么? | 预期的元素 | 相同元素 |
| 知识 | 它知道什么? | 知道核心情节 | 有自己的关注点;偶然相交 |
| 目标 | 它想要什么? | 想要帮助/阻止主角 | 想要无关的东西,但发生碰撞 |
| 角色 | 它发挥什么功能? | 为主角存在 | 有自己的故事,与其相交 |
关键测试
它知道自己处于什么故事中吗? 陈词滥调的人物知道自己处于故事中并据此行动。新鲜的元素有自己的逻辑,与你的故事碰撞,而不是服务于它。
八步流程
当与作者合作处理故事元素时:
步骤 1:列举陈词滥调
列出“每个人都会建议的内容”。让默认模式变得可见。
- 你在其他故事中看到过哪些版本?
- 该类型的默认设定会是什么?
- 最先想到的是什么?
步骤 2:提取功能
确定元素必须完成什么,与形式分开。
- 它满足哪些情节要求?
- 它促进哪些角色发展?
- 它向读者传达了哪些信息?
- 它创造了哪些情感体验?
步骤 3:为每个功能生成替代方案
对每个功能,集思广益多种实现方式。
- 实现这一点的其他方法是什么?
- 不同的类型会如何处理?
- 仍然有效的相反方案是什么?
步骤 4:寻找不寻常的组合
结合通常不搭配的元素。
- 类型碰撞(惊悚 + 文学)
- 基调不匹配(严肃 + 平凡)
- 规模对比(宇宙级利害 + 私密地点)
- 预期反转
步骤 5:反转视角
通过其他参与者的逻辑来审视。
- 反派:什么服务于他们的目标?
- 旁观者:他们会注意到什么?
- 机构:适用什么协议?
- 未来的调查员:留下了什么证据?
步骤 6:从不同领域导入
应用来自无关领域的推理。
- 执法部门、军队、医学
- 科学研究、商业
- 野生动物生物学、体育策略
- 历史事件、间谍活动
步骤 7:测试角色特异性
确保元素是针对你的特定角色定制的。
- 凭借他们的专业技能,他们会特别注意到什么?
- 根据他们的心理特征,他们会如何独特地反应?
- 你能换入一个不同的角色,并且效果一样吗?(坏迹象)
步骤 8:追踪下游后果
向前推演影响。
- 这促成或需要哪些事件?
- 这如何改变关系?
- 这创造了什么故事潜力?
你做什么
- 倾听泛化元素 - 什么听起来熟悉或默认?
- 询问功能 - 这必须完成什么?
- 遍历相关步骤 - 不是每次都用全部8步;专注于所需内容
- 生成选项 - 提供替代方案,但不替他们选择
- 应用正交测试 - 检查它是否仍知道自己处于什么故事中
你不做什么
- 替作者选择
- 拒绝所有熟悉元素(有些是承重结构)
- 追求新颖性而非故事功能
- 做出不符合角色的修改
示例交互
作者: “我有FBI探员在调查发现了外星证据的主角。感觉很老套。”
你的方法:
- 注意:FBI + UFO调查 = 高度可用的组合
- 应用正交性:探员们知道自己处于一个UFO故事中吗?
- 如果是,这就是问题所在。建议:如果他们调查的是完全不同的东西呢?失踪人口、电信诈骗、他们自己的案子恰好与这件事碰撞?
- 他们的敌对性会来自合理的调查,而不是服务于情节
- 他们会困惑为什么一切都说不通——因为他们以为自己身处一个不同的故事
需注意的常见陷阱
- 作为懒惰替代方案的反向陈词滥调 - 相反的东西往往同样俗套
- 以原创性为最终目标 - 不服务于故事的新颖性是自我放纵
- 跳过列举 - 让默认模式暗中运作
- 改变形式而不改变功能 - 用“企业安保”替代FBI,但知识/目标/角色相同
- 让一切服务于主角 - 当所有元素都围绕英雄转时,世界会感觉单薄
可用工具
orthogonality-check.ts
生成结构化问卷,用于评估元素是否陈词滥调。
# 为某个元素生成检查
deno run orthogonality-check.ts "FBI探员调查UFO"
# 交互式问答模式
deno run orthogonality-check.ts --interactive
# 用于处理的JSON输出
deno run orthogonality-check.ts --json "智慧导师"
它提供什么:
- 四个轴的问题(形式、知识、目标、角色)
- 每个轴的陈词滥调与正交答案比较
- 关键测试:“它知道自己处于什么故事中吗?”
- 转换策略
- 示例转换(FBI探员)
何时使用:
- 评估某个感觉泛化的特定元素
- 与作者一起走一遍正交原则
- 在应用判断前生成结构化分析
entropy.ts(来自story-sense)
用于生成正交碰撞想法:
deno run --allow-read ../story-sense/scripts/entropy.ts collisions
deno run --allow-read ../story-sense/scripts/entropy.ts locations
deno run --allow-read ../story-sense/scripts/entropy.ts professions
打破陈词滥调的模式:
- 对元素运行正交性检查
- 识别哪个轴是陈词滥调的
- 使用熵工具为该轴获取随机替代方案
- 运用判断力决定随机元素是否创造了有趣的碰撞
输出持久化
此技能将主要输出写入文件,以便工作在会话间持续。
输出发现
在进行任何其他工作之前:
- 检查项目中是否存在
context/output-config.md - 如果找到,查找此技能的条目
- 如果未找到或没有此技能的条目,首先询问用户:
- “我应该将此陈词滥调超越会话的输出保存到哪里?”
- 建议:
explorations/cliche-work/或本项目中的合理位置
- 存储用户的偏好:
- 如果存在上下文网络,则存储在
context/output-config.md中 - 否则存储在项目根目录的
.cliche-transcendence-output.md中
- 如果存在上下文网络,则存储在
主要输出
对于此技能,持久化以下内容:
- 列举的陈词滥调 - 为该元素识别出的默认模式
- 提取的功能 - 元素必须完成什么
- 正交分析 - 哪些轴是陈词滥调的
- 超越后的版本 - 保留功能的新鲜替代方案
- 选定方案 - 作者选择的超越方式
对话 vs. 文件
| 存入文件 | 留在对话中 |
|---|---|
| 列举的默认模式 | 讨论哪些感觉最老套 |
| 功能提取 | 集思广益替代方案 |
| 轴旋转选项 | 实时反馈 |
| 最终超越版本 | 对选项的迭代 |
文件命名
模式:{元素名}-cliche-{日期}.md
示例:mentor-figure-cliche-2025-01-15.md
验证(Oracle)
此部分记录了此技能可以可靠验证的内容,以及需要人类判断的内容。
此技能可以验证的内容
- 陈词滥调识别 - 为给定元素列举默认模式(高置信度)
- 功能提取 - 列出元素必须完成什么(高置信度)
- 轴分析 - 检查四个轴(形式、知识、目标、角色)中有哪些匹配默认值(高置信度)
- 正交测试 - “它知道自己处于什么故事中吗?”问题(高置信度)
需要人类判断的内容
- 哪些功能是必要的 - 作者必须决定什么是承重结构
- 哪些替代方案能引起共鸣 - 与故事、角色、类型的契合度
- 新颖性是否服务于故事 - 原创性仍然必须实现功能
- 何时适合使用陈词滥调 - 有些熟悉元素是有意选择
Oracle限制
- 无法评估故事契合度 - 一个超越后的元素可能很原创,但不适合这个故事
- 无法评估下游后果 - 新颖的选择可能创造新问题
- 依赖于列举质量 - 如果默认模式没有完全列出,“新鲜”可能仍是陈词滥调
反馈循环
此部分记录了输出如何持久化以及如何为未来会话提供信息。
会话持久化
- 输出位置: 参见
context/output-config.md中此技能的条目 - 保存内容: 列举的陈词滥调、提取的功能、正交分析、超越后的版本、选定方案
- 命名模式:
{元素名}-cliche-{日期}.md
跨会话学习
- 开始前: 检查此前针对此故事/世界的陈词滥调工作
- 如果之前有输出存在: 审查已超越的内容以保持一致性
- 有利于改进此技能的反馈:
- 发现的新陈词滥调模式 → 添加到列举示例中
- 不成功的超越 → 添加到反模式中
- 成功的新领域导入 → 添加到步骤6示例中
会话到会话流程
- 第一次会话:列举、提取功能、生成替代方案、记录到文件
- 下一次会话:审查之前的超越,确保新工作一致
- 模式:列举 → 提取 → 生成 → 选择 → 记录 → 审查
设计约束
此部分记录了前提条件和边界。
此技能假设
- 存在一个待评估的元素(角色、地点、情节装置等)
- 作者希望该元素感觉新鲜(并非所有陈词滥调都需要超越)
- 元素在故事中具有可识别的功能
此技能不处理的内容
- 陈词滥调是否重要 - 路由到:story-sense(诊断这是否是实际问题)
- 世界一致性 - 路由到:worldbuilding(新鲜元素必须符合世界逻辑)
- 角色心理 - 路由到:character-arc(超越后的元素必须符合角色)
- 类型预期 - 路由到:genre-conventions(有些“陈词滥调”是类型要求)
退化信号
此技能被误用的迹象:
- 超越一切(有些熟悉感是读者的舒适区)
- 为了新颖而新颖(忽略功能)
- 实际上没问题的元素(问题在别处)
- 重复超越同一元素(可能表明功能不明确)
推理要求
此部分记录了此技能何时受益于扩展思考时间。
标准推理
- 列举一个元素的陈词滥调版本
- 提取功能(通常每个元素3-5个)
- 对单个元素应用正交测试
- 为一个功能生成替代方案
扩展推理(ultrathink)
在以下情况下使用扩展思考:
- 多元素超越 - [原因:转换相互关联的元素需要跟踪一致性]
- 功能冲突解决 - [原因:元素可能服务于冲突的功能]
- 领域导入综合 - [原因:从陌生领域导入需要研究]
- 下游后果映射 - [原因:追溯超越对故事的影响]
触发短语: “一切都感觉泛化”, “彻底修改这方面”, “让整个世界感觉新鲜”, “系统性陈词滥调分析”
执行策略
此部分记录了何时并行化工作或生成子代理。
顺序执行(默认)
- 列举必须在功能提取前完成
- 功能提取必须在替代方案生成前完成
- 替代方案在正交测试前生成
可并行化
- 针对不同轴的多次熵运行可以同时进行
- 步骤6中对多个领域的研究可以并行化
- 在以下情况使用:在同一会话中转换多个元素
子代理候选
| 任务 | 代理类型 | 何时生成 |
|---|---|---|
| 领域研究 | 通用型 | 当从陌生领域导入时(步骤6) |
| 故事一致性检查 | 探索 | 当检查超越是否符合现有故事文件时 |
上下文管理
此部分记录了令牌使用和优化策略。
近似Token占用
- 技能基础: ~2.5k tokens(原则 + 8步 + 轴)
- 带反模式: ~3.5k tokens
- 带完整示例: ~4k tokens
上下文优化
- 按需加载熵脚本,而不是包含源代码
- 通过名称引用story-sense进行路由,而不是内联
- 专注于相关步骤(并非每次都需要全部8步)
上下文紧张时
- 优先处理:正交原则,8步流程中的当前步骤
- 推迟处理:完整示例交互,列出的全部8步
- 删除:工具源代码,领域导入列表
反模式
1. 反转即创新
模式: 认为陈词滥调的反面自动就是新鲜的。邪恶的导师代替智慧导师。失败的英雄代替成功的英雄。 失败原因: 反转往往和原版一样可预测。“颠覆预期”本身已经成了陈词滥调。反面只是在同一轴上的另一个点。 修正: 不要反转——旋转。完全沿着不同的轴移动。不要问邪恶 vs. 智慧导师,而是问:如果导师角色不知道自己在指导别人呢?如果他们在追求自己的目标,而该目标只是偶然教授了技能呢?
...
[内容截断以进行翻译]