第1章:对话即决策
定位:本章揭示一个正在发生但尚未被充分认知的范式转移——技术决策的主战场已从传统工具迁移到 AI 对话中,而这些决策记录正在系统性地蒸发。
周一早上九点十三分
林远打开终端,启动 Claude。他需要为团队的 SaaS 分析平台选择认证方案。
这不是一个简单的技术选型。Auth0 的定价模型在用户规模超过一万时会变得昂贵,Clerk 的开发者体验更好但社区生态更小,而自建方案意味着至少三周的开发周期。林远把这三个选项、团队的技术栈约束、预算上限、以及上季度在 Auth0 上踩过的坑,全部倒进了对话窗口。
四十分钟后,决策完成了。Clerk。原因是定价模型更透明、SDK 与 Next.js 的集成更干净、webhook 支持更完善。林远在 Slack 里发了一句"我们用 Clerk,理由稍后整理到 Confluence",然后转向了下一个任务。
那份 Confluence 文档从未被写出来。
不是因为林远懒。而是因为那四十分钟的对话本身就是决策过程——所有的权衡、排除、验证都已经发生了。再把它"整理"成文档,本质上是在要求一个人把已经完成的思考重新序列化一遍,用一种更低效的格式。这件事的投入产出比太低了,所以它永远排在优先级列表的最后面。
到了周五,林远已经不记得为什么排除了 Auth0。到了下个季度,当新来的工程师问"为什么不用 Auth0"时,林远只能说"定价有问题"——但具体是哪个价格档位、在什么用户规模下、与什么替代方案对比之后得出的结论,全部丢失了。
这不是林远个人的问题。这是 2024-2026 年每一个深度使用 AI 的技术团队正在经历的系统性失忆。
决策迁移:一个未被命名的范式转移
在过去三十年的软件开发中,技术决策的载体经历了清晰的演变:
1990-2010:文档驱动时代。 决策记录在设计文档、RFC、邮件列表中。这些载体的特征是持久、可搜索、有版本控制。一个 1998 年写的架构决策记录(ADR),到 2008 年仍然可以被翻出来。信息的衰减率接近于零。
2010-2020:工单驱动时代。 决策分散在 Jira、Confluence、Notion、GitHub Issue 中。信息碎片化了,但至少还有一个"可回溯"的承诺——理论上你可以通过搜索找到任何历史决策。实际上,Confluence 页面的平均寿命约为 18 个月,之后就沉入无人维护的页面层级深处。信息的衰减率很低,但检索成本在持续上升。
2020-2024:对话驱动时代的序幕。 Slack、Teams 开始承载越来越多的即时决策。但这些工具至少有搜索功能、有消息历史、有频道归档。信息的保留是被动的——你不需要主动保存,平台替你做了。
2024-2026:AI 对话驱动时代。 这是断裂点。当开发者开始用 Claude、ChatGPT、Copilot 来做技术决策时,决策载体变成了会话窗口——一个生命周期为数小时的临时容器。会话结束,容器销毁,决策的全部上下文随之蒸发。
这个转变之所以危险,不是因为它在缓慢发生,而是因为它在加速发生的同时,几乎没有人意识到正在丢失什么。
传统的知识管理框架——DIKW 金字塔(数据、信息、知识、智慧)——假设知识是从数据中逐层提炼出来的。但在 AI 对话中,知识的产生路径完全不同:它是在对话的交互过程中涌现的。开发者输入约束条件,AI 提供选项,开发者追问边界情况,AI 修正建议,开发者做出判断——这个乒乓式的交互本身就是知识的生成过程。最终的决策只是冰山顶部的一个点,水面下是整个推理链。
而现有的知识管理系统——从 Confluence 到 Notion 到 Linear——都只捕获冰山顶部。
1950 万 token 的蒸发
让我们做一个保守的估算。
一个中等强度的 AI 用户——不是每天八小时对话的 AI 原生开发者,只是一个正常的高级工程师——每天大约花 3 小时与 AI 交互。这个数字看似不小,但拆解开来其实很日常:早上用 AI 审查昨天的 PR(30 分钟),上午用 AI 辅助一个新功能的架构设计(45 分钟),下午用 AI 调试一个诡异的 race condition(60 分钟),晚间用 AI 探索一个新框架的可行性(45 分钟)。
每小时的 token 消耗取决于对话的密度。纯文本讨论大约 5,000 token/小时,但当对话包含代码片段、错误堆栈、配置文件时,这个数字会跳到 10,000-15,000 token/小时。取一个合理的中间值:10,000 token/小时。
现在做乘法:
180 天 x 3 小时/天 x 10,000+ token/小时 = 5,400,000 - 19,500,000+ token
取上限——因为包含代码的对话在真实场景中占大多数——6 个月大约产生 1950 万 token 的决策记录。
1950 万 token 是什么概念?
- 它相当于约 30 本技术书籍的文字量。
- 它大于任何现有 LLM 的上下文窗口(截至 2026 年初,最大商用窗口为 200K-1M token)。
- 它包含的不仅仅是"信息"——它包含决策过程中的推理路径、被排除的方案、排除的理由、未被采纳但值得记住的替代思路。
这 1950 万 token 在会话结束后会怎样?蒸发。彻底地、不可逆地蒸发。
你可以在 ChatGPT 的历史记录里找到会话标题,但要在数百个标题为"Debug auth issue"的会话中找到那次关于 Auth0 定价模型的具体讨论?这实际上等同于丢失。Claude 的项目功能保留了一些上下文,但它被设计为当前项目的工作记忆,而非长期知识库。
更深层的问题是:这些 token 不是均匀分布的。 真正有价值的决策往往集中在少数几次深度对话中——可能只占总 token 量的 5%,但包含了 80% 的关键判断。那次花了两小时讨论数据库选型的对话,那次花了四十分钟分析三种认证方案的对话,那次花了一小时弄清楚为什么微服务 A 不应该直接调用微服务 C 的对话——这些是不可重建的知识资产。
"不可重建"这个词需要解释。你当然可以重新做一次数据库选型分析。但你无法重建的是当时的约束条件快照——团队规模、预算、技术栈现状、已知的坑、正在进行的其他项目对资源的竞争。决策不是在真空中做出的,它是在一个特定时刻的约束组合下做出的。丢失决策记录,本质上是丢失了那个时刻的约束快照。
开发者陈思的一天
为了让这个问题更具体,让我们跟踪一个虚构但典型的开发者——陈思——度过她使用 AI 的一天。
08:30 - 架构讨论。 陈思正在评估是否将团队的单体应用拆分为微服务。她与 Claude 进行了一次深入对话,讨论了拆分边界、服务间通信模式(gRPC vs REST vs 消息队列)、数据一致性策略。对话中,Claude 指出了一个她没有考虑到的风险:如果订单服务和库存服务被拆分,跨服务事务需要 Saga 模式,而团队目前没有人有 Saga 的实战经验。陈思决定先拆支付模块,因为它的依赖关系最简单。
这个决策的价值不仅在于"先拆支付"这个结论,更在于"为什么不先拆订单"的排除理由。
10:15 - 调试会话。 生产环境出现间歇性超时。陈思把错误日志、span trace、最近的部署 diff 全部喂给 AI。经过三轮分析,问题定位到一个数据库连接池的配置:max_idle_time 设置过短,导致在低流量时段连接被回收,高流量恢复时需要重建连接。
这个调试过程本身就是组织知识——下次遇到类似症状时,排查路径是什么、哪些假设被验证和排除了。
14:00 - 技术选型。 团队需要一个前端状态管理方案。陈思在 Zustand、Jotai、Redux Toolkit 之间犹豫。她与 AI 讨论了每个方案在团队规模(5 人)、应用复杂度(中等)、TypeScript 支持、学习曲线等维度上的表现。最终选择了 Zustand,理由是 API 最小、与 React 18 的 concurrent features 兼容性最好。
这个选型对话大约消耗了 8,000 token。三个月后,当一个新同事问"为什么不用 Redux"时,陈思已经不记得详细的对比分析了。
16:30 - 代码审查辅助。 陈思用 AI 审查一个同事的 PR,发现了一个潜在的 N+1 查询问题。AI 不仅指出了问题,还建议了两种修复方案,并解释了为什么在这个特定场景下 DataLoader 模式比简单的 JOIN 更合适(因为查询条件是动态的)。
陈思在 PR 评论中写了"有 N+1 问题,建议用 DataLoader"。但"为什么 DataLoader 比 JOIN 更合适"这个推理过程,留在了 AI 对话中。
一天结束。 陈思产生了大约 30,000-40,000 token 的决策记录。她在 Slack 里留下了几条简短的结论,在 Jira 里更新了几个工单的状态。但真正的决策逻辑——为什么、为什么不、在什么条件下这个决策会失效——全部困在当天的 AI 会话里。
明天,这些会话将被新的对话覆盖或沉入历史记录的深渊。半年后,它们将成为彻底不可检索的幽灵数据。
三层深度分析
表层:现象
最直观的现象是"记不住了"。开发者频繁地在 AI 对话中重复讨论相同的问题,因为他们不记得上次的结论,或者不记得上次的推理过程。项目的知识图谱变得千疮百孔——结论在,理由不在;决策在,约束条件不在;解决方案在,排除方案不在。
这种重复不仅浪费时间,更危险的是,第二次讨论可能在不同的约束条件下得出不同的结论,而开发者甚至不知道存在矛盾——因为第一次讨论的记录已经消失了。
中层:原因
这个问题有三个结构性原因:
第一,AI 对话的瞬时性。 与 Confluence 页面或 Git commit message 不同,AI 对话从设计上就不是一个持久化载体。它是一个工作记忆(working memory),不是长期记忆(long-term memory)。要求 AI 对话承担知识库的功能,就像要求 RAM 承担硬盘的功能——架构上就不对。
第二,决策过程的隐式性。 在传统流程中,决策过程至少有一个显式的记录环节——写 RFC、填 ADR 模板、更新设计文档。AI 对话消除了这个环节,不是因为它不重要,而是因为对话本身就是决策过程——额外的记录步骤显得冗余。问题在于,对话可以是决策过程,但它不是决策记录。过程与记录的分离是知识管理的基本要求,而 AI 对话将二者混为一谈。
第三,检索的不可能性。 即使平台保留了会话历史(如 ChatGPT),在数百个会话中定位特定决策的成本也高到令人放弃。这不是搜索算法的问题——是元数据的问题。会话没有被标注主题、类型、涉及的项目、涉及的人。它只是一个按时间排列的对话流。在一个按时间排列的流中搜索特定语义,等于大海捞针。
深层:影响
表面上看,这只是"不方便"。但深入分析,它正在改变团队知识的基本结构。
组织失忆症。 当关键决策的推理链只存在于个人的 AI 对话中时,这些知识就变成了单点故障。团队成员离职、转岗、甚至只是休假,都可能导致关键上下文的永久丢失。传统上,我们通过文档、代码注释、commit message 来对冲这个风险。但当决策过程本身迁移到了 AI 对话中,这些传统的对冲机制就失效了——因为它们只捕获了结论,没有捕获推理。
决策漂移。 没有历史推理链的锚定,团队的技术决策会出现无意识的漂移。一月份选择 Postgres 是因为需要 JSONB 支持和 PostGIS 扩展;但到了六月,当一个新模块需要选择数据库时,如果没有人记得一月份的完整推理,就可能基于不同的(甚至矛盾的)理由选择 MySQL。这不是一个假设场景——任何工作过超过两年的工程师都见过这种漂移。AI 对话的蒸发只是把漂移的周期从"年"缩短到了"月"。
知识债务。 我们熟悉"技术债务"的概念——为了短期速度牺牲代码质量。AI 对话的蒸发正在制造一种新的债务形态:知识债务。每一次未被记录的决策,都是一笔知识债务。它的利息是未来重新推导这个决策时消耗的时间和认知负荷。而且,与技术债务不同,知识债务往往是不可见的——你不知道你丢失了什么,直到你急需它。
一个新的基本问题
让我们把本章的论点凝练为一个基本问题:
如何在不破坏 AI 对话效率的前提下,将对话中产生的知识转化为持久的、可检索的组织资产?
注意这个问题的几个约束:
- "不破坏效率"——任何需要开发者额外手动操作的方案都会失败。要求开发者在每次对话后手动总结,等同于要求他们回到写 Confluence 的时代。
- "持久的"——会话历史不算。它需要独立于任何特定 AI 平台的生命周期。
- "可检索的"——存储不是问题,检索才是。1950 万 token 的原始存储成本微乎其微,但在 1950 万 token 中定位特定知识的成本是天文数字。
- "组织资产"——不是个人笔记,是团队层面可共享、可传递的知识。
这是一个真实的、紧迫的、尚未被充分解决的问题。
在接下来的章节中,我们将看到现有的尝试——从 Mem0 到 Zep 到 Letta——是如何回答这个问题的,以及它们为什么在一个关键假设上犯了根本性错误。但在进入那些分析之前,让我们先确保充分理解问题的规模:每一天,全球数百万开发者正在与 AI 进行深度技术对话,每一次对话都在产生不可替代的组织知识,而这些知识在会话结束时被不可逆地销毁。
这不是一个可以忍受的现状。这是一个等待被解决的工程问题。