案例摘要
- 问题
- 整段重写和模糊替换,会打乱长篇作者预先铺设的伏笔、节奏和人物设定。
- 用户
- 长期连载的签约作者,覆盖悬疑、科幻与奇幻题材。
- 关键决定
- 默认只给最小编辑;触碰锁定要素的建议直接丢弃;一键全部采纳保留,但触发前先弹出提示。
- 结果
- 最小编辑改动受保护要素 2/30,整段重写为 7/30;加入确认提示后,一键采纳的撤销率从 22% 降到 11.5%。
正在加载本地演示…
交互演示暂时无法加载,原图和案例仍可阅读;可以重新尝试。
一个决定
为什么“撤销”比“生成”更重要
我们保留了一键“全部采纳”,只在它前面加了一句提示。上线后两周,这个按钮的撤销率从 22% 降到 11.5%(11/96)。调用量没有下降:两周触发 96 次,约为此前每两周平均 71 次的 135%。
部分内测作者想要这个按钮,研发也觉得逐条点击太费力。回头看,可选的有三条路:去掉“全部采纳”,只留逐条采纳;照作者的要求直接上线;保留按钮,在执行前用一句话说清它要改哪些地方。第一条保护了稿子,却把作者的诉求挡在门外;第二条换来速度,把几分钟后的修复留给作者自己。
改变判断的数字来自撤销。6 周内测、11 位活跃作者:一键全部采纳触发 214 次,10 分钟内被撤销 47 次,撤销率 22%;逐处单项采纳触发 930 次,撤销 118 次,撤销率 12.7%。用户测试里也有相近的现象:64 处建议里,有 11 处采纳后又被作者手工改过。作者早已把建议当作可以拆开的草稿。
前置提示让每次批量采纳多停一步,研发对此提出异议。我们在上线前先写好撤回红线:上线两周后,如果一键采纳的调用量下降超过 50%,就撤掉提示。先约定红线,争论就回到数据上,这份代价也看得见、撤得掉。
AI 往别人的作品里写东西时,先数清对方撤回了多少。生成次数奖励产量,撤销次数暴露信任在哪里断开。点明高风险改动的一句提示(这里指人名和数字),只多读一句,省下一轮返工。
- 编辑器里的修改建议
- 一键“全部采纳”
- 提示:“即将修改 12 处文本,其中 3 处涉及人名或数字要素。”
- 取消:回到逐条审阅
- 改动生效
- 10 分钟内撤销:加提示前 214 次中 47 次,加提示后 96 次中 11 次
系统如何分工
- 01草稿与锁定要素
- 02局部修改建议
- 03受保护要素过滤
- 04作者逐条采纳、拆分或拒绝
触碰锁定人名或物件的建议在展示前丢弃,每一处改动由作者决定。
品牌卡 · 图版 II
StoryWeave
稿子始终归作者:建议像页边批注一样出现。
色彩
- 象牙黑
#0E0D0C页面 - 骨白
#EDE6D8作者的正文 - 灰 5
#8E887F尚未采纳的建议 - 灰 7
#B9B2A6锁定的要素,下面有一道细线
字体
- Newsreader英文稿件与标题
- Noto Serif SC中文稿件
- Geist编辑器控件
动效
- 写
600 ms建议沿所在的那一行从左往右写入 - 光
240 ms建议靠近锁定词时,锁定词亮起
问题与背景
StoryWeave 属于桌面端长篇叙事创作工作台,技术栈采用 Electron、React、TipTap 与 TypeScript。模型整段重写或模糊替换时,很容易打乱作者先前铺设的东西:伏笔、节奏、人物的说话方式。我负责编辑交互,以及把模型输出变成可比对建议的管线。
用户验证:聊天窗口对比编辑器内建议
三位长期连载的签约作者(悬疑、科幻、奇幻)拿同一篇 2,000 字的未完结章节,各做两处情节微调,两种方式各做一次:
- 方式 A:常规聊天窗口,人工往返复制粘贴;
- 方式 B:StoryWeave 编辑器内的局部 diff 建议工作台。
1 位作者先做 A 后做 B,另外 2 位先做 B 后做 A,用来对冲熟练度带来的顺序效应。记录指标:操作耗时、剪贴板交互次数、作者主导感自评(1–7 分)。
原始记录节选,作者 P3(已出版两部悬疑小说,先做 B 后做 A):
- 14:06 选中段落,输入“加剧对话悬疑感,保留怀表道具与’第三扇门’台词”。系统返回 11 处局部修改建议。
- 14:08 逐条核对,采纳第 1、2 处,在第 3 处停下:“‘他的心脏猛地一沉’——不要这个,属于流水线网文词藻,我笔下的主角不会产生这类心理反应。“点击拒绝。
- 14:10 第 6 处建议把“怀表”换成“手表”。作者皱眉:“我在提示词明确要求保留怀表。“点击拒绝,并回头重新检查已经采纳的段落。此后每处修改的停留审视时间延长一倍。
- 14:14 第 9 处只采纳一部分:删去建议里添加的修饰短语,保留调整后的语序。“语序重排符合预期节奏,但填充的词汇破坏了语境。”
- 14:19 方式 B 完成,耗时 13 分钟,慢于随后方式 A 的 9 分钟。“A 方式用时短,因为对话窗口返回整段文字过长,我没有逐句核对就全段替换,后续重写草稿仍需投入时间。”
| 指标 | 方式 A(聊天窗口) | 方式 B(StoryWeave) |
|---|---|---|
| 完成用时 | 3 人中 2 人用方式 A 更快 | 3 人中 2 人用方式 B 更慢(P3:13 分钟对比 9 分钟) |
| 方式 B 更快的人数 | — | 1/3(较慢的 2 人都属于先做 B 组) |
| 剪贴板复制粘贴次数(中位数) | 5 次 | 0 次 |
| 主导感评分(中位数,1–7 分) | 4 分 | 6 分 |
方式 B 共生成 64 处修改建议:直接采纳 29 处,采纳后手工二次微调 11 处,拒绝 24 处。作者往往认可建议的句子结构,却排斥模型选用的具体词汇。
测试结论:用 StoryWeave 更慢,多花的时间换来零次复制粘贴和更高的主导感(中位数 6 分对 4 分)。逐人用时没有留存,因此不报告用时中位数。
三项发现改变了产品:
- 违背作者要求改动锁定要素,会让作者不再信任后续所有建议(3/3 受试者遇到;P3 随即大幅放慢审阅速度)。现在触碰锁定词的建议在展示前直接丢弃。
- 作者经常只想采纳一部分(64 处建议中 11 处采纳后再次手改)。单处差异现在支持“仅采纳语序”和“仅采纳删减”。
- 模型输出容易带入网文模板词或翻译腔(3/3 受试者当场提出)。这一项纳入了下面的离线评测。
评测:整段重写对比最小编辑
为了确定默认的建议生成策略,我用 3 位作者授权的 30 篇真实手稿段落做测试集,每段预先标注不可改动的元素:人名、关键线索物件、时间节点。
| 评测指标 | 整段重写 | 最小编辑(指定输出局部差异) |
|---|---|---|
| 改动超出原选中范围 | 4/30 | 0/30 |
| 改动受保护元素 | 7/30 | 2/30 |
| 修改幅度(改动字数 / 原文字数,中位数) | 0.41 | 0.18 |
| 作者盲测偏好(不告知生成策略) | 9 段胜出 | 17 段胜出(另有 4 段持平) |
17 胜 9 负的符号检验双侧 p 值约为 0.17,偏好差异未达到统计学差异界限。能成立的结论更窄:最小编辑破坏预设要素的概率更低,不能据此断言作者都更偏好最小编辑。最小编辑下的 2 次违规,都把锁定元素换成了近义词,例如把“怀表”换成“表”。现在建议渲染前先做字符串精确匹配过滤,不把约束寄托于模型自觉。
团队决策:一键“全部采纳”按钮
部分内测作者要求提供一键全部采纳,工程团队也认为逐条点击太耗精力。6 周内测、11 位活跃作者的数据:一键全部采纳累计触发 214 次,其中 47 次在 10 分钟内被撤销,撤销率 22%;逐处单项采纳累计触发 930 次,撤销 118 次,撤销率 12.7%。
我们保留了按钮,在触发前加一条提示:“即将修改 12 处文本,其中 3 处涉及人名或数字要素。“研发同事质疑这会增加阻碍,我们便事先约定撤回红线:上线两周后,如果一键采纳的调用量下降超过 50%,就撤掉这条提示。
上线后两周,一键采纳触发 96 次,约为此前 6 周平均每两周 71 次的 135%。调用量没有下降,未触碰撤回红线;撤销率由 22% 下降至 11.5%(11/96)。
局限
样本量只有 3 位专业作者;2 位先用方式 B 的受试者处于交互摸索期,方式 B 的用时可能偏长。主导感属于主观打分,可能受新界面尝鲜心态影响。
复盘
如果重来,我会从一开始就逐人记录任务用时,这样用时对比才能如实报告。我也会在第一次用户测试之前就上线受保护要素过滤:一次“怀表”被替换,就足以让 P3 回头复查所有已经采纳的建议。
沿着证据理解设计
60 秒宣传片