迭代历史需可回溯
别名: 迭代可回溯 · 修改历史 · prompt-output timeline
概念解释
改了四轮,第三轮其实更好,第四轮把语气改崩了。界面若只留「当前这篇」,第三轮已经不在。迭代历史可回溯(revisitable iteration history)要求每一次生成或局部改都留下可回到的节点:当时的输入、当时的产物、当时的参数。回溯不是撤销上一步——撤销是栈,历史是时间线。没有时间线,迭代是一条只能向前的单行道,人会因为害怕再也见不到某一版而拒绝再改。
局部优于整篇、未涉及处冻结,都还在「这一轮怎么走」。历史管的是「已经走过的那些轮怎么还在」。
机制
迭代的价值来自比较。没有上一版,评价只能对着脑子里的残像做。工作记忆撑不住三轮之前的措辞,残像会把「好像更顺」错判成当前更好。版本若不可点开,比较无法外化,人就用「先复制到别处」私建历史。私建一失败(没复制、复制错窗口),那一版就死了。
生成还不可复现:即使提示还在,再跑一次也不是当时那篇。所以历史必须存产物本身,不能只存提示指望重放。参数和模型版本也要跟着节点走,否则回溯打开的是另一个世界的同类物。
怎么研究
多轮修改任务,故意在中间插入一版明显更好、后一版明显更差。看人能否回到那一版,以及用什么策略(界面历史、手动复制、凭记忆重写)。自变量:是否提供时间线、时间线是缩略还是全文、是否只能撤销一步、节点是否含参数。因变量:回到目标版的成功率、私建历史的发生率、因害怕丢失而提前停止迭代的比例。
实验室里若主试提醒「你可以复制」,会把私建变成作业,掩盖产品缺历史。更干净的是不提醒,只观察谁在改之前先全选。
边界
一次性、不可逆的对外发送(已经发出的邮件)回溯改变不了已发出的那份,历史只对「下一封」有用。协作时历史若没有作者标记,回溯会变成谁都可以把别人的一版当当前。极长会话的全量产物存储有成本,需要抽样或只存用户钉住的节点——但「可钉」仍是历史,不是没有。这条不要求能跳到任意细粒度的内部解码步,只要每一轮用户可见的产物还在。也不处理指代失败或外围改动摧毁信任。
怎么落地
- 每一轮提交落一个节点:输入、产物、参数、时间。列表可扫,节点可点开为当前,且不销毁其后的节点(分叉,而不是截断)。
- 不要只用一步撤销顶替时间线。撤销可以留着,但第三轮必须仍能被点到。
- 提供钉住。被钉的节点不参与自动清理,导出时仍是那一版原文。
- 验证:四轮迭代,第三轮最好。关掉页面再打开,问能不能把第三轮设为当前。若只能回到第四轮或只能撤销到第四→第三这一跳且第四消失,历史不是时间线。再检查只存了提示、打开节点却重生成了一篇新的——那是重放,不是回溯。