AI Coding 删库跑路——史上最贵道歉! 踩坑经验、挽救与预防!别等 AI 删掉你的文件才看!

🎯 史上最贵的道歉,希望不会发生在你的身上!

AI Coding 或 AI Work 方面,大家都听说过一个被 AI 清空本地磁盘或者删除重要文件夹/文件的事件了。起初我也意识到了,也做了一些预防,可惜,没防住!也怪我没有把这件事情提升到一定的高度,用了四年的 AI,也算资深用户了,以为这种事情不会发生在自己身上,就没做过多预防。

结果,2026.09.18 10:10:00 它发生了,我收到了史上最贵的道歉......

图片

1、事故背景

  • 我的电脑 macbook m1,不熟悉 mac 的 windows 小伙伴把目录当成 win 的 D 盘来理解即可。

  • 由于公司资料的敏感,个别处马赛克了或者换了个{工作目录代指}名字来表达,不影响对这件事情的理解。

我在进行 AI Coding 的过程中,9 月 18 日 10:10 分,AI 突然终止了任务,给我了一个事故报告(如下图),告诉我它删除了我的工作目录/Users/javastarboy/work/{工作目录代指}并且无法恢复!

  • 这个工作目录是我日常工作的核心根目录,所有与工作相关的内容都在此目录下做了分类管理,有的目录已做了Git仓库关联。但是更多文件都仅存在于本地!因为由于公司以及客户资料的敏感性,不允许上传网络,这包括云盘、互联网Git仓库、iCloud等。而我又有很久没有做过离线硬盘备份,导致这些资料都没了,硬盘恢复也无法解决(后文解释)。

  • 到了这里,我才意识到,当初笑话网上那些被 AI 清空本地 D 盘资料这件事是多么的可笑...,如今我也收到了这份史上最贵的道歉!也意识到了,永远不要对自己过度自信,AI 安全不可忽视

图片

数据找不回来,有一个关键的点,后文看 2.1.5.2 章节了解。

2、数据恢复与补救

遇到这种问题,首先慌肯定是不行的,你一定要先冷静下来,停止所有工作,立刻想补救措施。

  • 首先就是数据恢复:如有没有开启过备份机制、或者找一些数据恢复软件、第三方机构做磁盘数据恢复

  • 如果前面这条路也不通,就得根据你自己电脑的使用习惯,想其他办法(后文我会提我的办法)

如果你是 windows 用户,成功概率较大,直接去专门做数据恢复的维修点付费恢复最靠谱,2.1 章节也可参考!

如果你是 macOS 用户,直接看 2.1 章节吧。

2.1 数据恢复

首先,上网找了一些关于 macbook 数据恢复的一些可行办法,大致为时间机器、iCloud、Disk Drill数据恢复软件、云盘、Git仓库等。(当然,这些路,我的情况都被堵死了)

犟眼子不要提废纸篓/回收站恢复哈,如果这么简单,就没有这篇文章了,具体可以看 2.1.5.2 章节了解原因。

2.1.1 时间机器

时间机器时苹果电脑自带的一款数据备份软件(机制),它会备份你的电脑并保留过去24小时的本地快照和每小时备份、过去一个月的每日备份以及过去所有月份的每周备份。最早的备份和任何本地快照会在可用空间不足时删除。所以,如果你开启过时间机器,那么你就欢呼、庆幸吧,这是成功率最高的一个恢复办法(关于 windows 应该也有类似的机制)!

我的情况:由于我磁盘内存限制,没开启过时间机器 😭 此路不通~~~

图片

2.1.2 iCloud 云盘

iCloud 是苹果自带的云盘,它会自动备份你电脑上的数据,但同样,前提是你开启过 iCloud 备份,并且你丢失的数据恰在在你设置的备份范围内。

我的情况:由于 iCloud 免费额度只有 5G,升级到6元/月也只有 50G,远不足日常使用(就连手机照片都存不下,更高的套餐也更贵),所以我也没有开启,此路不通~~~

图片

2.1.3 其他云盘

类似 iCloud 一样,比如百度网盘也有同步空间文件夹备份的功能,我也是 SVIP,但是由于前面说的由于公司敏感信息不允许上传互联网,网盘也的确有安全问题存在,所以我前阶段也关停了此功能,此路也不通。

如果你的数据不是这种国央企、公司机密的不允许上传互联网的数据,完全可以使用百度网盘这两个功能:

  • 同步空间:

    它的机制是确保你本地与网盘上所关联的目录文件时刻保持一致,双向更新同步机制;

  • 文件夹备份:

    纯纯的是一个硬备份,即只上传你本地的新文件到网盘上,它不会判断是否为同一文件做更新。

2.1.4 Git 仓库

当然,如果我关联了 Git 仓库,也就不需要前面三个步骤了,肯定是没有关联 Git 才会想如何恢复数据。

作为一个软件公司的技术人员,为什么我没关联 Git?

因为一方面有一些文件同样涉及不方便所有同事都看到的,也有一些文件太大了不方便Git 托管等等原因。

其实也很正常,不可能每个人的个人电脑数据都要用公司 Git 托管,也不现实。

如果你个人有一个自己的 Nass 那就解决这个问题了,可惜,不是每个人都有私有 Nass。

所以,此路不通。

2.1.5 数据恢复软件,如 Disk Drill

至此,剩下最后一个物理大招了,从磁盘角度做数据恢复~

办法有二:一是自己基于数据恢复软件如 Disk Drill 进行数据恢复,还有一种就是找专业维修人员处理。

  • 对于 windows 用户,建议直接找专业人员处理,大概率可行。

  • 对于 macOS 用户,用 Disk Drill 来自己处理即可,如果这都不行,就不用出去花钱找人了。

2.1.5.1 Disk Drill 基本介绍与提醒

⚠️ 重要提醒

对于需要基于磁盘恢复数据的办法,在你出现问题后,禁止再次对磁盘进行写入数据,因为你写的越多,恢复成功率越低,磁盘扇区会被覆盖,到时候就真的没有办法恢复了。

这个写操作,不仅是 write,也报过 read,比如用 Disk Drill 扫描或者查看文件也会涉及操作!

所以,当你出现数据丢失问题后,应该立刻关闭所有软件,包括微信,然后做好准备,仅作一次扫描。如果第一次扫描失败了,那么第二次大概率不会成功了。

这里提示一下,Disk Drill 对于苹果芯片系列支持扩展内核扫描,所以你提前去官网了解一下再来操作。扫描时直接基于 Macintosh HD / Data 进行扫描。期间不要重复扫描。磁盘内存越大,时间越长,我的硬盘是 1T 的,扫描用了 5 个小时。关于费用,扫描是免费的,扫描后,你可以预览一下,如果能预览就是能恢复,这时才需要根据恢复难度是否花钱,如果需要花钱,官方是 $140,小 1000 块钱,你可以去某鱼买个激活码,才几十块钱。其实我当时都做好在官方买的准备了,毕竟数据无价,可惜我丢失的数据没有扫出来,稍后解释。

官网地址:https://www.cleverfiles.com/

如下图所示是操作界面,这里我不是宣传 ,也不做这个教程,大家可以自行去网上找操作步骤。

图片

图片

2.1.5.2 为什么我的数据无法从磁盘恢复?

5 个小时,我用 Disk Drill 扫完磁盘后,并没有找到我丢失的文件目录的数据,问了一些 mac 圈专业人士也表达找不回来了(Disk Drill 都找不到,就放弃吧)。其原因我们要了解一下 macOS 的删除机制:

  • 废纸篓/回收站
    • 我们在文件上基于鼠标右键或者执行删除动作,文件会先到废纸篓中。废纸篓如果没有清除的情况下,是可以一键恢复的。

    • 问题在于,废纸篓也清掉了呢,这时就是黄金时刻,有概率可以基于Disk Drill恢复,前提是不能进行磁盘读写,扇区覆盖,并且抢救及时,即 OS GC 尚未回收。

  • rm -rf
    • 我遇到问题的核心场景在于,AI 是基于rm -rf 机制删除文件的,这个操作跳过了废纸篓环节,它相当于你清理了废纸篓一样,数据索引已经不在,只能趁磁盘扇区还没有写入新数据前的黄金时刻进行数据恢复。

🎯 关于 macOS 磁盘机制解读

右键「移到废纸篓」只是移动文件到~/.Trash,元数据还保留;一旦【清空废纸篓】才会解除目录引用 + 发送 TRIM。而 rm -rf 是直接删除 inode 目录条目,完全跳过废纸篓,没有中间缓冲阶段。

但!M1 APFS SSD,两种方式最终都会触发 SSD TRIM,只是时机不一样

一、右键删除(移到废纸篓)

  1. 阶段 1(没清空废纸篓) 文件只是移动到废纸篓目录,原始目录记录还在,文件完整保留,随时可以放回原位置。 👉 Disk Drill Quick Scan 可以直接找到这个文件夹。

  2. 阶段 2(清空废纸篓) APFS 删除目录 inode,标记空间空闲,发送 TRIM 指令给 SSD。

  • 原文件夹目录条目消失;

  • M1 内置 SSD 后台垃圾回收,慢慢擦除数据块(抢救时机就在这里)。

二、rm -rf 文件夹

没有废纸篓中转,一步到位:直接删除目录 inode,解除文件系统引用

  • 不会在~/.Trash 留下副本;

  • 执行完的瞬间,这个文件夹的目录记录就从文件系统移除;

  • APFS

     同样标记块空闲,同样下发 TRIM

  • -f

     = force,跳过权限提示、不存在文件报错;-r递归删除文件夹 + 内部全部内容。

⚠️ 重点:

不管是【清空废纸篓】还是【rm -rf】,最终底层都是:inode 目录条目被释放,SSD 收到 TRIM。 所以:

  1. 如果你是rm -rf 删掉文件夹:从删除那一刻,Quick Scan 就找不到这个文件夹了;

  2. 如果你是右键丢废纸篓、但没清空,并且还没有触发操作系统 GC 机制也没有重复写入新数据时:Quick Scan 还有机会看到;一旦清空废纸篓或执行了rm -rf 就看你的黄金时刻了。

我的情况:Disk Drill 一点都没找回,应该与我的磁盘空间不足以及电脑软件太多频繁写盘有关!

到此为止,所有能想到的办法都试过了,此时距离事故发生已经过去了 5 个小时,已经放弃数据恢复这条路,开始人工想办法解决了。

2.2 补救措施

数据恢复行不通,我们只能自己想办法补救了,当然没有 100% 的补救办法,我下面基于我的情况来介绍一下我的方法,希望对你有帮助,第三章也会补充一下后续的预防机制。

2.2.1 补救找回数据,分为三种情况:

当然,前提都是基于 2.1 章节说的这些办法都解决不了的时候

  • 有 Git 仓库的子目录:

    这种最简单,直接从 Git 重新 clone 即可;

  • 无 Git 仓库的子目录
    • word、xlsx、ppt
      • 这类办公文件,从微信、钉钉、企微等办公软件中找最新版重新下载
      • WPS 如果你是会员并开启了云同步,也可以从云盘下载
    • 前后端代码
      • 这才是关键,也是我的失误,我三周前从 0 开始开发了一个新系统前后端分离的微服务应用。当时想着等基座开发完再传 Git,所以就先临时本地 git init ,暂时没有传远端。后来就忘记这茬了(岁数大嘞,记性不好!!!!!!!),而这些代码我也没发给过别人,也没上传过网盘...
      • 那么我的代码如何恢复?! 这可是我三周的成果呀,还花了不少 token !

2.2.2 代码“硬”找回(必看)

2.2.2.1 找回方式

走到了这一步,你的代码 1:1 还原肯定是不可能了,现在就看能找回多少算多少,总比从 0 开始干要强。

本文前提已经提到,事故发生的背景是AI Coding,既然是 AI Coding,那么本地就有从最开始与 AI 的所有聊天记录(术语叫转录记录)。它们都会在你本地的某个文件夹下,大多数以 jsonl或者.sqlite或者.db等各种格式存在。你不需要翻阅它,甚至你可以让 AI 告诉你这个目录在哪。然后让 AI 帮你基于聊天记录轨迹进行代码恢复即可。因为这个事情除了 AI 人也没法干!

当然还有 IDEA、Trae(VS Code )等 IDE 的缓存也是找回途径之一,但是由于我的情况是整个文件夹被删了,所以缓存也没了。

图片

  • 如下是 AI 基于对话记录找回代码的分析结果

    • 过程不赘述了,总之,接下来你只能寄托希望于 AI ,找回多少算多少。

图片

2.2.2.2 找回结论

说一下结论,最终,非代码部分我从微信、钉钉等基本都找回来了。代码部分我用 AI 帮我找回了约 2/3,找不回来的部分我分析原因为:

    • 历史对话做过 /compact 压缩和 /clear清理。

    • 我用 AI 基于对话记录恢复代码这个节点,没有做历史对话备份,导致一边恢复一边覆盖对话记录,也造成了影响(操之过急了),这个经验也希望你不要踩坑

⚠️ 切记

  • 当恢复达到极限时(6 成左右),不要再寄希望于进一步恢复了,这是做不到的,立刻收手,然后重建你的工作空间,把恢复出来的代码迁移到新的工作空间下,后面就是全新的开始了。不要贪大,恢复回来多少算多少。

2.2.2.3 费用与耗时

最终,AI 恢复代码这个时间我用了两天一夜,恢复代码约 67%。费用 ¥820.00

AI token 成本:

    • GLM-5.3-Flash 团队版:6亿token

      ,约 ¥500 元(如果不是团队版会更贵)

    • Claude-Opue-5:3亿token $1400

       (我用的高性价比中转站并且用了最贵分组确保质量,约 ¥320

    • 总费用:820 元人民币

      (有的小伙伴可能觉得贵,但是真的已经不算贵了, 能找回 60%,比你重新开发投入的成本算,截止太合算了)。

图片

图片

3、预防措施

说了这么多,踩过坑了,后面怎么预防呢?

同样分为种情况:AI Coding 安全控制和备份机制。

3.1 AI Coding 防护

  • 权限控制:现在的 AI Agent 工具,如 Codex、Claude Code、WorkBuddy、Qoder 等都有权限控制,尽量避免开启完全访问权限,这存在巨大风险!

  • 日常使用 AI Agent 工具进行 AI Coding 或者 AI work时,可以把如下三条命令配置到全局规则当中,这是我在事故之后,手动加上的规则,实测有很好的效果。也欢迎分享给更多的人。

在个性化指令中追加如下三个全局规则,或者把这句话加到全局 Agent.md 中:

- 禁止删除任何文件夹,禁止使用 `rm -rf`命令删除任何文件,如需删除文件,请列出删除命令清单提醒我检查后手工删除。
- 禁止 `git push` 代码,你可以准备 git commit message 给我,但不允许提交甚至推送我的代码,此步骤必须人为处理。
- 如果有数据结构和数据字典的调整,不允许直接操作我的数据库,你需要把脚本给我,让我手动执行。脚本要符合命名规范,以便于区分时间顺序,如:{系统标识符}_ddl_patch_{yyyymmdd}_{两位序号} 和{系统标识符}_dict_patch_{yyyymmdd}_{两位序号}

下面分别针对每一款 AI 软件添加这三条规则的方式之后截图说明:

3.1.1 Codex 中

图片

3.1.2 Claude Code 中

  • 桌面版 Claude

图片

  • 全局~/.claude/settings.json中追加deny,官方推荐

3.1.3 Deepseek Harness 中 

~/.dsh/下新建 Agent.md,追加前面三条全局规则

3.1.4 在 trae、qoder、cursor、vscode 等 IDE 中

在 设置 > 用户级规则下追加三条规则

  • Trae

     下配置这三条规则

图片

  • Qoder

     下配置这三条规则

图片

🤝 其他软件都是类似原理,不再赘述了。有需要帮助的小伙伴,欢迎骚扰~

3.2 备份机制

  • Git仓库:

    能创建远程 Git 仓库管理的,尽快创建,不要偷懒,切忌弄完 xxx 再说的侥幸心理。

  • 云盘备份:

    不是特别敏感的数据,可以利用网盘的自动备份功能进行备份

  • 定期离线备份:

    没有前两者的时候,只能定期拷贝到自己的备份硬盘中了。注意,本地 git 仓库是没用的,一旦.git被删了,也是找不到的。

🎯 最后,希望大家永远不要遇到这个问题,也不要有侥幸心理,我就是因为侥幸心理和过度的自信才导致遇到了这个问题。 如果哪个小伙伴有更好的经验,欢迎分享、交流。

🎯 往期推荐👇

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AGI舰长

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值