对话分支作为一等公民:为什么线性线程迫使用户不断杀死并重启对话
· 阅读需 12 分钟
你的聊天产品需要分支功能的最明显信号,往往也是最容易被忽略的:用户不断地将旧对话复制粘贴到新的会话中。他们不是在更换供应商,也不是因为无聊。他们是在尝试询问“如果我早点反驳那个假设会怎样?”,同时又不想丢失花费了 40 轮对话建立的上下文。线性线程只为他们提供了两个选项——要么覆盖下一条消息并丢失原始回复,要么开始新聊天并丢失前置内容。于是,他们利用剪贴板发明了第三种方案。
每当用户这样做时,你的产品就在通过这种变通方法泄露一个功能需求。这个变通方法很糟糕:它剥离了消息元数据,破坏了工具调用(tool-call)的联动,丢失了文件附件,并产生了不再映射到连贯任务的孤立线程。但它之所以存在,是因为另一种选择——放弃花费 30 分钟建立的上下文——更糟糕。对话在结构上是一棵树,而 UI 却坚持它是一个列表。用户只能手动填补这个鸿沟。
