L2.12.3iterative generation drift设计研究

多轮修改会累积漂移,最终结果可能已偏离最初目标

别名: 迭代漂移 · 目标走样 · semantic drift across edits

概念解释

第一版是一份事实清楚的产品说明。用户连着说了八次「再犀利一点」「再口语一点」「开头更抓人」。到第九版,犀利有了,最初那三个必须留下的参数全被换成了更响亮但不准确的说法。每一轮看起来都是小改,合在一起是迭代漂移(iterative generation drift):终点已经不在起点的目标里。

漂移不是某一轮改错了地方,也不是某一轮动了不该动的句子。它是合法小步在目标函数上的积分:局部都像在改进,全局已经换题。

机制

每一轮的条件分布以当前文本为条件,不以最初目标为条件。当前文本已经含上一轮的修辞选择、省略和替换。下一轮在这份已经被扭过的文本上再采样,偏差同向叠加。人的注意跟的是最近一次 diff,很难拿第九版和第一版做全文对照,于是漂移在主观上是「越改越好」,在客观上是「离规格越远」。

还有目标替换:用户的即时指令(更抓人)覆盖了仍有效、但本轮没再说一遍的约束(三个参数必须保留)。系统把没再提的约束当成已撤销。约束若不以稳定对象存在,多轮之后只剩下最近那句修饰性要求。

怎么研究

给一份带硬约束的初稿(必须保留的数字、不得出现的声称、必须覆盖的读者)。允许最多 k 轮自由修饰性修改,禁止回头看初稿。终点用约束检查器和与初稿的语义距离来评。自变量:是否在每轮把硬约束作为不可见条件、是否在界面上钉住初稿对照、轮数。因变量:硬约束存活率、目标符合度随轮数的曲线、用户是否认为终点更好。

常见交叉:用户评分上升的同时约束存活率下降。这说明「更好」测到的是修辞,不是目标。必须把两条曲线一起报。

边界

没有硬约束、目标就是探索风格的任务,漂移是探索本身,不必当故障。两到三轮、且每轮都复述全约束的专业用户,漂移可以压得很低。硬约束若在外部系统(数据库字段、模板槽位)里而不在散文里,漂移改的是外壳,槽位仍在,危害较小。危害集中在约束只存在于第一句自然语言、之后再也不出现的流程。

怎么落地

  • 把第一轮识别出的硬约束(数字、不得声称、必须覆盖的对象)做成可钉住的清单,每轮生成默认带上,而不是指望用户每句都复述。
  • 提供「对照初稿」而不是只对照上一版。差异视图的默认左端应能选第一版。
  • 轮数超过一个阈值时,在发送前问一句:是否仍要保留最初那几条。不要自动当成新任务。
  • 验证:选十条带三条硬约束的初稿,找人做不少于六轮修饰。终点用脚本检查三条约束。任何一条丢失即记漂移事故。同时问「比第一版更好吗」——若更好率高而约束丢失率也高,界面在奖励走样。

延伸

  • 同组L2.12.1 局部修改要求系统能定位用户所指的部分,指代失败是主要失效点 · L2.12.2 未被提及的部分发生变化会直接摧毁用户对修改功能的信任 · L2.12.4 需要能回到任意历史版本,只能撤销上一步不足以支撑迭代 · L2.12.5 局部重生成与整体重生成的成本差异应让用户看得见
  • 相邻L2.05 迭代修改 · L2.14 上下文的携带与清除 · L1.01 概率性输出与确定性界面的错配
  • 站内检索iterative generation drift · goal drift · constraint decay over turns

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/L2.12.3