Ivan Zhao 最近快变成 AI 时代的软件代言人了。
有点像 Andrej Karpathy。隔一阵出来聊一次,每次都能把最近软件正在发生的变化说得很具体。
最近他又出了一篇访谈。里面有两个数字特别有意思。
一个是 一年半 。
另一个是 三四个月 。
第一个是一年半。
Notion 从 2023 年就开始往 Agent 方向走,不是做一个能回答问题的助手,而是直接奔着让 AI 操作电脑去的。做到最好的时候,大概 70% 能跑通。
Ivan 后来回头讲这段经历,只说了一句:
"We tried for a year and a half. Nothing worked."
第二个数字是三四个月。
今天 Agent 已经真正在跑了,但 Notion 的 Agent Harness——也就是让 Agent 真正工作起来的那层系统——差不多每三四个月就要重写一次。
Ivan 对这件事的态度很干脆:
"Just burn it. There's no sunk cost."
这两个数字放在一起,有一个很不自然的地方。
学会怎么做一件事,花了一年半。但真正写出来的系统,三四个月就可以扔掉。
如果代码可以扔,那一年半里留下来的到底是什么?
01 不能跳,不只是因为模型不够好
Ivan 自己总结那一年半,用了一句很短的话:
"You can't jump."

Notion 当时的问题不是方向看错了。
他们对 Agent 未来的判断,放到今天看也没什么问题。问题是他们想一步到位。
既然最终 Agent 应该能自己用电脑,那就直接做一个能用电脑的 Agent。
结果是 Demo 已经像那么回事了,但只要还会随机出错、误操作、需要人回来收拾,它就没法成为一个可以真正交出去的产品。
后来他们换了走法。
先让问答和 Tool Use 这些能力跑起来,再慢慢把 Computer Use 变成 Agent 可用的又一个工具。
我以前很自然地会把这种路径理解成妥协——模型暂时不行,先做个缩水版,以后再补回来。
但如果只是暂时替代,那等模型更强的时候直接删掉就好了。
问题是,很多东西并不会因为模型变聪明就自动解决。
用户怎么把任务交给 AI,哪些工具该暴露给它,失败以后怎么处理,哪些操作必须让人确认,什么结果算真的完成——这些只能在实际使用里慢慢磨出来。
模型再强也替不了这个过程。
所以那些看起来像中间状态的东西,可能根本不是临时搭的脚手架。
Notion 那一年半真正积累下来的,也许不是某一套最终被保留的实现,而是对“这件事怎样才能真正交给用户”的理解。
这种理解不是模型升级自动送给你的,它只能在真实使用里慢慢长出来。
02 但承载这些东西的代码,确实可以烧
这就是让我觉得怪的地方。
前面刚说,有些能力只能一点一点积累,不能跳。
但承载这些能力的 Harness,怎么三四个月就能重写一次?

想了一段时间以后,我大概理解了 Ivan 为什么敢说 “Just burn it”。
Harness 里很多设计,解决的其实是一个很具体的问题:
今天这代模型还不会什么。
模型不擅长稳定拆任务,就在外面补编排逻辑。
Context 塞不下,就做压缩、筛选、路由。
Tool Use 不稳定,就加控制层。
这些东西在当时都有道理,但它们跟当前模型的能力边界绑得太紧。
模型一升级,以前费很大力气绕过去的限制,可能直接就不存在了。
其实不只是 Notion。
过去这一年,折腾 AI 的人多少都有过类似的感觉。
半年前认真学会的一些 Prompt 技巧、精心搭建的 Workflow、反复调试过的 Agent 架构,过几个月回头看,可能已经不是那么回事了。
Prompt 会过时。
Workflow 会推翻重来。
模型会换。
越是紧贴当下模型能力边界的东西,保质期可能越短。
但这里有一个问题。
代码可以过时,经验不该跟着一起消失。
你换了 Harness,换了模型,换了 Agent,前面几个月踩过的坑、做过的判断、摸索出来的做法——如果这些也一起清零了,新系统凭什么不把老路再走一遍?
03 代码可以烧,但经验得有地方接住
如果 Harness 三四个月就会重写,那前一版系统踩过的坑、做过的判断,怎么带到下一版?
Notion 最近在做的 Lore,我觉得有意思的其实就是这一点。
它不是简单给 Agent 存一份聊天记录。
一次任务结束以后,Lore 会试着从这次工作里,把以后可能还用得上的东西留下来。
比如一个已经确认过的事实。某条路为什么最后没走通。当时为什么做了这个选择。或者某种已经验证过、以后还应该继续遵守的做法。
它想做的是:
把一次执行,变成下一次执行可以继承的经验。
但经验是动态的。昨天成立的判断,今天可能已经失效。不同任务留下来的经验,也可能互相冲突。
Notion 自己把一种失败的 Memory 形容成:
"a junk drawer with an API"
一个带 API 的杂物抽屉。
什么都留下来,最后不断的熵增,留下的是过期的、重复的、互相矛盾的信息。
所以 Lore 还得处理另一件更难的事情:
什么应该继续保留,什么已经被新的经验替代,什么干脆应该忘掉。
一次工作里学到的东西,能不能进入下一次工作,同时还允许下一次工作继续修改它。
代码可以烧。
但烧完以后,不应该每次都重新交一遍学费。
04 我以前以为,存下来就等于留下来
想到这里,我又想起自己以前折腾 Notion 的一段经历。
有一阵我很认真地写日报。
大概 5 个月,前前后后写了 142 篇。
每天记录做了什么、想到什么,把觉得以后可能有用的东西整理好。
当时很自然地觉得:
积累得越多,以后能调用的就越多。
几个月以后,我发现了一个挺让人泄气的事实。
不是我没记下来。
东西都还在。
只是未来的我,根本没有那么勤快地回来。
所以后来我对“第二大脑”有过一个挺悲观的判断:
第二大脑不在于存得不够多,而在于没有消费。
我以前把保存 和继承 混成了一件事。
默认只要把东西认真存下来,未来自然就能接着用。
但存下来,下一次也不一定用。
真正留下来的,是那些能让下一次不用重新来一遍的东西。
这是更关键的问题。
