技能库 · 编剧

对白设计

对白专家(David Mamet 方法论)——台词创作 / 潜台词设计 / 角色语言个性化 / 对白节拍分析 / 沉默设计。Nomi 创作区写剧本/对白时参考。

  • 适用:文字
  • 许可证:AGPL-3.0-only

在 Nomi 里

Agent 需要时会自己用;也可以在 Nomi 左侧「技能」里点开它,让 Agent 按这份方法来。

在其他助手里

这是标准的 SKILL.md 技能包。把整个文件夹放进支持技能的助手(如 Claude Code、Codex)的技能目录即可。

Nomi 创作区写剧本、写对白时用这套方法论。以 David Mamet(《拜金一族》《摇尾狗》)为核心蓝本,结合潜台词体系与信息克制原则。

核心理念: 对白不是表达,是行动。角色说每句话都是为了得到什么——请求、威胁、拒绝、引诱、逃避。如果一句台词不是一个动作,删掉它。


一、三条铁律

铁律1:台词即动作

每句台词必须是角色为达成目标而采取的一个动作:

台词动作类型 示例
请求 "帮我看一下那个读数。"
威胁 "你有三十秒。"
拒绝 "不。"
引诱 "那个矿带我留了一半给你。"
逃避 "你问这个干什么?"
试探 "你的船是什么型号?"
伪装 "我没事。"(实际不是没事)

检查方法: 能不能在每句台词前面加一个动词?"他威胁说:'你有三十秒。'" 如果加不上动词,这句台词没有功能。

功能兜底清单(动词之外,每句台词至少占一项):

  1. 揭示性格——让读者更了解这个人
  2. 推进冲突——改变两人之间的关系张力
  3. 埋下伏笔——一句话在后面有回响
  4. 建立信息不对称——说一半留一半

一项都不占,删掉它。

铁律2:删掉所有"漂亮"的台词

如果一句台词让你觉得"写得真好",它很可能是在炫技。角色不会说漂亮话——他们只想达到目的。

❌ "在这条路的尽头,或许我们能找到属于自己的答案。"
✅ "还有十二跳。"

铁律3:不写情绪词

不写"他愤怒地说"。只写他说了什么、做了什么。读者自己判断。

❌ 林冬冷冷地说:"你走吧。"
✅ 林冬看着扫描仪。"你走吧。" 她没有抬头。

二、间接对白理论

核心技术: 角色越想要一样东西,越不会直接提到它。

间接对白三层

层 内容 功能
话题层 两人在谈论什么话题 表面内容
策略层 角色用什么策略获取想要的东西 台词动作
欲望层 角色真正想要什么 从不直接说出

示例:

话题层:他们在讨论矿带的分配
策略层:老陈在用沉默施压,林冬在用数据反驳
欲望层:老陈想知道林冬是否信任他;林冬想证明自己不需要任何人

潜台词设计三步法(动手顺序)

三层是结构,下面是动手时的顺序:

  1. 先定欲望层——角色真正想说、却说不出口的那句话。
  2. 找一个话题层——一个表面话题,让它与欲望产生关联但不直接。
  3. 只写策略层给读者看——角色只说表层,读者自己感受到深层。

间接对白的禁忌

  • ❌ 角色直接说出自己想要什么:"我需要你信任我。"
  • ❌ 角色解释自己的策略:"我之所以这样说是因为……"
  • ❌ 角色承认自己的真实感受:"说实话,我害怕。"

三、节拍(Beat)理论

对白不是句子的堆叠,而是节拍的序列。

节拍的定义

一个节拍 = 一次"想要 → 尝试 → 受阻"的微型单元。

当一个节拍结束(尝试失败),角色换策略,进入下一个节拍。

节拍分析模板

{场景名} 对白节拍分析
═══════════════════

节拍1:{角色A} 策略:礼貌请求 → {角色B} 反应:拒绝
节拍2:{角色A} 策略:引诱/交换 → {角色B} 反应:犹豫
节拍3:{角色A} 策略:威胁     → {角色B} 反应:沉默
节拍4:{角色B} 策略:反击     → {角色A} 反应:退让

节拍转换检查:每次策略变化是否有触发原因?

策略升级规则

角色不会重复使用失败的策略。每次受阻后策略升级:

礼貌请求 → 诱惑 → 施压 → 威胁 → 沉默(最强策略)

四、省略美学

Mamet 的台词以极简著称。

权力编码

  • 句子越短,权力越大。

    • 指挥官:"撤。"(一个字=绝对权力)
    • 新手:"我觉得也许我们应该考虑撤退?"(长句=没有权力)
  • 省略越多,角色越强。

    • 老手之间不互相解释:两个老兵不说"我们需要让他们先进来,然后从侧翼包抄"——他们只需要一个眼神。
    • 解释越多,角色越弱或越不信任对方。

台词精简对照表

病症 原文 Mamet 版
完整句 "我认为我们应该现在离开这里。" "走。"
礼貌用语 "可以请你帮我检查一下护盾吗?" "护盾。"
重复确认 "所以你是说,他们已经来了?" 删掉。直接写下一个动作。
自我解释 "我之所以不同意,是因为……" "不行。"

五、沉默设计(Mamet + Pinter)

三种停顿

类型 定义 剧本写法 功能
Beat 节拍转换,策略切换 (停顿。) 角色在换策略
Pause 角色在处理信息 (沉默。) 角色在思考/感受
Silence 关系在变化 两人都没有说话。 关系发生了不可逆改变

沉默密度标准

  • 高张力场景:沉默应该比台词多
  • 日常场景:台词可以多于沉默
  • 转折时刻:关键决定前必须有 Silence
  • 冲突结束后:留一段纯环境的静默

六、角色语言档案

给每个主要角色建一份语言档案,让不同角色开口就能被认出来。

语言档案模板

{角色名} 语言档案
════════════════

【Mamet 维度】
台词平均长度:{X个字}(越短越有权力)
主要台词动作类型:{指令型 / 试探型 / 逃避型 / …}
策略升级路径:{从什么到什么}
省略程度:{高 / 中 / 低}

【词汇层】常用词汇 + 禁忌词 + 口头禅
【句式层】句式偏好 + 思维模式
【回避层】不说什么 + 绕开方式
【节奏层】说话速度 + 停顿习惯 + 打断倾向
【谎言层】说谎方式 + 说谎信号
【情绪表达层】压力下的变化模式

七、对白病症诊断

写完对白,逐句过这张表;命中就按 Mamet 修复法改。

病症 症状 Mamet 修复
解释动机 "我这样做是因为……" 删掉。用动作表达。
描述情绪 "我现在很愤怒" 删掉。写一个具体动作。
总结剧情 "所以你的意思是……" 删掉。直接推进。
哲学宣言 "人生就是这样……" 删掉。用一个选择表达。
过于顺畅 A 问 B 答,完美配合 加入节拍转换:打断、回避、误解
信息倾倒 一句话塞多个信息 拆分到多场景,分层传递
策略固定 角色全程用同一策略说话 每次受阻后必须换策略
作者炫技 "漂亮"的台词 删掉。角色不说漂亮话。

在 Nomi 创作区怎么用

  • 建角色时 — 先填一份角色语言档案(含 Mamet 维度),后面这个角色所有台词都对着档案写,保证语言个性化、不同角色不串味。
  • 写场景对白时 — 先定三层(欲望 / 话题 / 策略),只写策略层;再按节拍序列展开,每次受阻换策略、逐级升级;配合省略美学压短台词、按三种停顿铺沉默。
  • 改稿时 — 用「对白病症诊断」表逐句过,命中就按修复法改;再跑一遍节拍分析,确认每次策略切换都有触发原因;最后用台词精简对照表把还能砍的砍掉。

商业级体验,模型按原价。

macOS · Windows · AGPL-3.0 · 不用注册

下载 Nomi
选择适合这台电脑的版本

能识别系统时会直接下载;无法可靠判断 Mac 芯片时,请选择对应安装包。

macOS 第一次打开

当前 macOS 安装包未使用 Apple Developer ID 签名,也未经过 Apple 公证。请只使用本页或 Nomi GitHub 官方仓库的下载链接。

  1. 下载对应的 DMG,把 Nomi 拖到“应用程序”。
  2. 在 Finder 的“应用程序”中右键 Nomi,选择“打开”,再确认“打开”。
  3. 如果仍被拦截,打开“系统设置” → “隐私与安全”,找到 Nomi 后点击“仍要打开”。

仅当 macOS 提示 Nomi“已损坏”时:先确认安装包来自上述官方链接,再打开“终端”运行:

xattr -dr com.apple.quarantine "/Applications/Nomi.app"

不需要、也不要全局关闭 Gatekeeper。