与 AI 协作分析 · 7/7
一份越容易让人理解的分析报告,有时反而越难让人从中学习。
我们习惯把分析成果整理成清楚的结论,却也可能因此隐藏了那些让我们改变判断的过程。
当分析过程中的 context 逐步收敛后,还有一个接续问题:当分析跨过不同 session、换人或换 Agent 接手时,工作区应该留下什么?以及后来者如何理解这些分析资产。
最近我在 Lantide 做了一套 Change Context。发想的起点来自 Delta Lake 的 transaction log,我想保存的,是分析判断如何改变。
文件版本都在,不代表判断的转折也在
假设团队在分析活动后的留存下降,最初怀疑是活动品质出了问题。
几轮查询后,发现这期多了一批来自新渠道的用户。重新分群、确认观察期后,看到各群体的留存没有明显恶化,整体下降更可能与用户组成改变有关,因此暂时不再把活动品质当成主要解释。
最后的 Report 可能只留下整理好的结论。
原始数据没变,SQL 可能只多了几个分群条件,但我们对问题的理解已经变了。如果下一个 Agent 只读最新版,它知道我们目前怎么解释,却未必知道原本怀疑过什么、哪些结果让我们改变方向,以及这个判断还有哪些限制。
即使保留所有文件版本,也还得有人从差异中还原这段过程。(看得出第二段整段重写了,但我当时到底发现了什么?)
这也是我觉得分析经验很难只靠「保存最后答案」累积的原因。后续工作需要知道,我们为什么走到了这里。
从 Delta Lake 借来的视角
想到这里,我联想到 Delta Lake:其 transaction log 记录正式变更,搭配 checkpoint 可重建数据快照。这个区分目前状态与提交历史的视角,成为我设计分析工作区的灵感。Delta Lake 协议:Delta Log Entries。
分析工作区是不是也能借用这个思路?
先提供一份目前状态的索引,再保留有顺序的正式变更。接手的 Agent 可以先定位相关资产;回来继续工作的 Agent,也能从上次的位置往后看,知道哪些地方需要重读。
但分析多了一个问题:文件差异通常不足以说明判断的变化。
「更新 Report 第二节」只告诉我们改了哪里。「分群结果显示下降主要与用户组成有关,因此调整原先对活动品质的怀疑」,才留下了这次修改的分析意义。
因此我让 Agent 在正式修改 Plan、Report、Reference 等资产时,同一次提交几件事:
- 这次改变了什么分析判断?
- 为什么改?
- 当时依据的是哪份、哪个版本的证据?
内容修改和这些背景一起留下来。因为修改当下,相关讨论与证据通常还在 context 里;等下一个 Agent 看着成品回推,就又变成考古了。
Git 已能保存版本,为什么还需要 Change Context?
Git 当然也能记录版本、追踪修改,甚至透过 commit message 保存原因。但它主要处理的是文件版本,分析判断与证据的留存仍需要额外建立惯例或流程。我想要的不是另一套版本控制,而是「分析脉络的自然累积」:让分析思路、判断变化与证据引用,直接融入工作区的正式资产修改,尽可能不增加分析师额外留痕的负担。
不知道原因,就不要替历史补上一个理由
这套设计里,我特别保留了一个选项:unknown。
例如有人把留存观察窗从 14 天改成 30 天,却没有写原因。后来的 Agent 也许能推导出「为了观察长期效果」,或「因为样本成熟度不足」。
都很合理,但合理不代表那就是当时的理由。
如果顺手把它补进记录,下次再被引用时,这个猜测可能就变成了团队的既有知识。(它只是想帮忙把故事补完整,结果帮我们补了一段虚构历史)。
所以原因没留下,就明确记录不知道。Agent 有提供理由,也要保留它的来源与确认状态:资产已经修改、理由已经写入,并不等于这段解读已经被人确认。
这也是 transaction 类比需要暂停的地方。系统可以检查版本、引用与提交是否完成,却不能因此保证分析理由正确。
同样地,Change Context 只捕捉正式进入工作区的修改及其当时留下的背景。尚未写入资产的探索,不会自动成为这份历史;它也不是 Agent 每一步 thinking 的完整备份。
Change Context 也不是所有资产历史正文的永久版本库。它保留正式变更事件、版本识别与当时留下的语义;历史正文不可取得或捕捉范围有缺口时,需要明确揭露,不能因为有一笔修改记录,就承诺一定能还原旧文件。
这就像在分析资产之间,建立起一张可追溯的「思维路网」:我们目前主张什么、哪些判断改变过、当时留下了哪些依据,以及哪些地方仍然不知道。
这些信息留下来,下一个人或 Agent 才有机会接着验证、质疑,或在新证据出现时重新打开一条曾经停止的分析路径。
延伸阅读
在 Lantide Data 中试用这套分析工作方式:下载 Lantide Data。