写作

对话会分叉,阅读仍应成篇

对话按时间发生,研究按关系展开,最后的知识产物仍然需要清楚的编辑结构。

线性对话从一个选中片段分叉,形成叠放的对话 Card 和小型关系图,最后收束成连续文章

核心判断

对话天然按时间发生,理解却会沿着关系分叉。更合适的 AI 工作空间不应要求用户亲自管理一张图,而应让 Card 为局部问题提供位置,让图谱保存方向与出处,再把积累的研究持续整理成一篇可以完整阅读的文章。

和 AI 的交流经常从一个简单问题开始。回答里出现一个陌生概念,我们顺手追问;新的答案又带出另一个方向。几分钟后,旁支已经解释清楚,原来的问题却被埋在很长的聊天记录里。我们得到了一组答案,但失去了这段研究原本的结构。

这并不是对话本身出了问题。对话本来就按时间发生。问题在于,我们让同一条时间线同时记录交流过程、表达探索关系,并充当最后的知识产物。它很自然地保存了先说什么、后说什么,却很难保存一个问题从哪里分出去,又如何回到原处。

这里其实存在三种不同的结构:

线性没有错,只是承担了太多

线性对话有明确的价值。它几乎不要求学习成本,可以自然地维持共同注意力,也让每一次回应都有清楚的前因。对于一个短问题,一条时间线通常就是最合适的界面。

困难出现在研究开始产生岔路的时候。用户可能只是想弄清一个术语、一家公司或一个背景事件,然后继续原来的问题。现在的聊天产品通常把这次绕行永久插入主记录。内容越长,时间位置越不能代表语义位置,滚动和搜索也只能帮我们找到一句话,不能恢复它当时属于哪条思路。

因此需要区分三件事:聊天记录保存事情如何发生,研究结构保存问题如何展开,阅读产物负责把已经获得的内容重新组织。把它们压成同一条时间线,看起来最简单,长期使用时却把整理成本推给了用户。

时间顺序是一种可靠的记录方式,却不是完整的知识结构。

分叉应当自然发生,不应由用户管理

一个分支最自然的起点,往往只是一次点击。模型在回答中标出一个可以继续解释的 anchor,用户点击它;或者用户选中一段文字,问一个新的问题。这些动作已经足够表达“我想从这里向外探索”。产品可以据此记录来源关系,而不需要先弹出创建节点、选择父级或命名分支的表单。

同样,用户也不应该负责 merge back。探索结束后,哪些上下文需要带回当前回答,哪些材料应进入最终文章,应由模型与产品的上下文编译层处理。界面可以让用户返回、关闭或重新进入一个分支,但不应要求他们维护一套版本控制术语。

自动化并不意味着可以随意改写历史。更稳妥的底层是追加式记录:保存用户做过什么、从哪里发起问题、模型使用了哪些来源。模型可以选择上下文和生成新的阅读版本,但原始对话与关系仍可追溯。结构可以自动形成,证据不应因此消失。

Card 给局部问题一个可以返回的位置

如果图里的每一个节点都对应单条消息,结构很快就会比对话本身更难理解。更合适的单位是一段局部交流:一个来源问题、一段回答、若干本地 follow-up,以及回答里可以继续展开的 anchor。在 Lattice 原型 中,我们把这个单位称为 Card。

Card 的正文仍然应该像普通 chat 一样从上到下阅读。它不需要额外的回答标题、暂时结论、继续阅读或摘要栏。节点标题可以在分叉时生成一次,作为导航元数据存在,但不必侵入对话。这样既保留交流的自然,也让一个局部问题拥有稳定的位置。

Card 叠起来形成当前研究路径。新的 Card 覆盖在旧的 Card 上,表示从这里继续深入;关闭它,下面的上下文重新成为当前内容;摊开这叠 Card,则可以快速回到路径中的任意位置。空间关系只有在表达语义关系时才有价值。堆叠不是装饰,而是对当前路径的一种可操作表示。

Card 的价值不在于像纸,而在于让一个局部问题有地址。

图谱负责方向与出处,不负责正文

当探索积累到一定规模,用户需要一个全局视角:我从哪里来到这里,还有哪些方向,两条看似独立的路径是否指向同一个事件。图在这些问题上比聊天记录更准确。它也允许多个分支汇合到同一个节点,因此长期研究通常更接近有向无环图(DAG),而不是不断复制内容的树。

但图谱非常容易失控。节点多了以后,标题、连线和区域会争夺注意力;如果再让模型自动生成分区名称和分类体系,界面很快会出现一套并非来自真实交流的第二结构。图的目标不是把所有知识同时摆在屏幕上,而是帮助用户定位、回访和理解出处。

因此图应该保持次要和克制。几何位置尽量稳定,节点标题只在需要时出现,放大只是 semantic zoom,而不是生成更多摘要。完整内容仍然留在 Card 中。图适合回答关系问题,不适合承载完整叙述。

为什么最后仍然需要一篇平铺文章

批评线性聊天,并不等于拒绝线性阅读。探索结构和阅读结构本来就不是同一个结构。研究过程可能从童年跳到公司治理,再回到技术路线;一篇好文章却需要按时间、主题或论证关系重新编排,让没有参与探索的人也能从头读懂。

这也是为什么最终产物更接近 Wikipedia 式的平铺页面,而不是把图谱原样打印出来。文章可以综合多个 Card,一张 Card 也不必机械地对应一个章节。随着研究增加,系统重新编译当前版本,但读者始终看到一份完整成稿,而不是暂时结论、尚未完成或正在整理的内部状态。

文章也不能覆盖原始研究。每个段落应保留到来源 Card 的连接,让读者能返回当时的问题、回答和上下文。这样,文章是一个适合阅读的投影,图谱是关系与出处的投影,Card 则保留交流本身。三种表示可以来自同一份研究,却不必争夺同一种形式。

非线性的生产过程,最终可以形成线性的阅读体验。

知识管理应同时保留过程、结构与结果

传统 chat 擅长保存过程,但很难留下可复用的产物。传统笔记工具擅长保存结果,却经常要求用户在工作之外再做一次整理。更有意思的方向,是让自然发生的交流逐渐沉淀出三个彼此关联的表示:原始行为与对话、局部 Card 与探索 DAG、持续编译的平铺文章。

底层可以是本地文件、Markdown 和类似双向链接的关系,也可以由不同的 agent harness 驱动。关键不是让用户直接操作文件系统,而是让这些文件成为可靠、可迁移的知识基底。界面负责探索与阅读,模型负责按需要加载相关上下文,文件则保留长期所有权。

这也改变了所谓自动整理的含义。目标不再是把每次聊天切成一堆笔记,而是同时保留发生过的过程、问题之间的关系,以及一份能继续阅读和修改的综合结果。知识不必在对话结束后才被整理,它可以在交流进行时逐渐形成。

图不是答案,它只是一个需要验证的界面假设

并不是每一次聊天都需要图,也不是分支越多越好。一个简单问题应该继续停留在简单对话里。只有当用户真的点击 anchor、选择文字或沿历史 Card 继续追问时,结构才应该生长。图应由实际行为形成,而不是为了显得聪明而预先生成。

自动上下文管理也有风险。模型可能错误地判断两个概念相关,生成含混的节点标题,或在重写文章时过度压缩细节。产品需要明确的来源、可撤销的操作、稳定的历史,以及让用户看见当前上下文来自哪里的方式。没有这些约束,图只会把聊天里的混乱换一种形式保存。

所以这不是一个已经被证明的终局,而是一组可以被测试的产品判断:用户是否更容易回到原来的问题,是否能理解 Card 堆叠与研究路径的关系,图谱在多大规模后开始失去价值,自动成稿是否真的减少整理负担。界面的质感重要,但最终仍要由这些问题来判断它是否成立。

让交流留下可以继续使用的东西

一个更好的界面不需要要求用户“像图一样思考”。用户仍然可以像现在一样提问、追问、离开话题,再回到原来的问题。不同的是,产品记住了这些动作之间的关系。

对话保留事情如何发生,Card 和图谱保留探索如何展开,文章则把已经获得的内容重新组织成可以阅读的整体。三者不必互相取代。

或许知识管理真正需要自动化的,不是写下更多笔记,而是让一次普通交流结束之后,仍然留下清楚的结构和可继续使用的结果。

这篇文章来自 Lattice 交互原型的持续设计讨论。