这是什么

本周技术圈翻出一个被忽视的细节:开源 AI 编程工具 Pi 的源码透露出一个尴尬真相——它内部用"树形结构"(可以理解为多条岔路)记录对话,而不是一条直线。听起来技术,但暴露的事实很具体:你在对话里点"撤销"回到旧消息,AI 接下来读到的是旧消息,但那些消息里 AI 早就改过的文件、装好的依赖、写进数据库的数据,不会跟着回去。

具体场景:AI 帮你修登录 bug(程序漏洞),第一次改错了;你回到"读取代码"那条让它换个思路,AI 听话换了思路并跑通测试。但它第一次改坏的代码、装错的库、跑过的脏数据,可能还在你的工作区里。所有把"对话回退"伪装成"系统回退"的工具,都是在骗你。

这是 Agent(能自己动手操作真实环境的 AI 助手)行业的结构性问题:AI 看得到的历史,与现实世界发生的副作用(side effect,即 AI 在真实环境中留下的改动),是两套东西。

行业怎么看

乐观的声音:Anthropic、OpenAI 等公司在做的 Code Interpreter、Agent SDK(软件开发工具包),已在向"环境快照"(environment snapshot,即保存整个工作区状态)方向走。Pi 自己也即将推出 /tree 命令管理实验分支。乐观派认为这是过渡期问题,2026 年内会标准化。

反对的声音更值得听。一位参与 GitHub Copilot 开发的工程师私下说:"Agent 不可逆操作(irreversible action,即无法撤回的真实改动)问题是 P0(最高优先级)级别的工程债,但没人愿意公开承认,因为一说就显得自家产品不靠谱。"事实上 Sentry、Linear 等 SaaS(在线软件服务)公司的工程师论坛上,"AI 偷偷改坏了数据库"的故事已经攒了一打。

中间路线:Cursor、Windsurf 等商用工具部分缓解了这个问题——它们每改一个文件都做 git 快照(版本备份)。但这只覆盖文件,不覆盖数据库调用、外部 API(应用程序接口)调用和长进程。

对普通人的影响

对企业 IT:把 AI 编程工具批量下发给开发团队之前,先问清楚"它的撤销到底撤销了什么"。没有独立环境版本机制的工具,不应该接触生产数据。

对个人职场:靠 AI 写代码产出物的人,得自己养一套版本控制习惯。把 AI 当实习生——它会犯错,错了还能恢复,但恢复的成本必须你承担。

对消费市场:外面打着"AI 自动化"旗号的 SaaS 服务,凡是涉及"帮你操作真实系统"的,短期内都不能完全信任。对方说"点错了可以撤回",请追问一句:撤回的到底是什么?