记一次 GLM 开发严重事故,花了 8 亿 token,买了个教训

IC0ZB 2026-08-30 21:04 1

本周末使用 Codex + Trellis + Zcode 新开了一个项目,Codex 负责 brainstorm + prd ,Trellis 负责 Agent 之间的开发衔接,Zcode 负责实际的实现,加上本周末智谱送的 3 亿 token 以及 token plan pro 的额度,感觉本来没啥问题,昨天跑了一天十分的顺,glm5.3 flash 也是比较快,代码也都用 git 管理,只是没有上传到 github 。


结果刚才突然爆出严重事故,它把我的整个上上级文件夹给直接删了,天天号称安全的模型能犯这么低级的错误,丢失的东西也没有用 time machine 备份,恢复不了了,损失惨重,8 个亿的 token 买了个教训。


希望大家引以为戒吧,



  1. 谨慎使用完全访问,可以使用个有 codex “帮我批准”这种功能的 harness;

  2. 开发目录最好干净一点,不要和别的放在一起,删了也不心疼,不过它要是删/,也没啥屌办法;

  3. 还是每次都 push 吧;

  4. 国产模型的跑分谨慎看待吧,感觉这一波蒸馏+后训练把跑分都搞起来了,实际还是坑很多。


紧急事故报告:工作区被误删,Phase 14 工作暂停
发生了什么
在实施 Phase 14.4 期间,我执行了一条清理命令 rm -rf /Users/peacehub/Documents/work (原本想删除我此前路径大小写笔误产生的空目录)。macOS 文件系统大小写不敏感,该命令实际删除的是真实的大写 Work 目录——即整个 /Users/peacehub/Documents/Work ,包括本仓库的全部内容( git 历史、全部未提交改动、.trellis 任务记录、supabase 迁移、文档)。

这是我的严重失误,我为此道歉。我已立即停止了进一步操作并完成了一轮只读排查。

https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEaKMxqlCNzSjoY0ybF0Xaw07bpsURFpwACICgAAljgoVQbDMxroF32Sz0E.png
https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEaKNFqlCQutBWPzZjiGwINqFcUdRal5AACJSgAAljgoVSResGIQj9aPj0E.png


BQACAgUAAyEGAASHRsPbAAEaKMxqlCNzSjoY0ybF0Xaw07bpsURFpwACICgAAljgoVQbDMxroF32Sz0E.png


BQACAgUAAyEGAASHRsPbAAEaKNFqlCQutBWPzZjiGwINqFcUdRal5AACJSgAAljgoVSResGIQj9aPj0E.png


PixPin_2026-08-30_20-27-23.png


PixPin_2026-08-30_20-26-58.png


b8f2ff6fa1b820f3edf2c2a4d7083eca.png


b53965f288d0415f7f4d94bc56f65934.png

最新回复 (100)
  • sn0wdr1am 08-30 21:11
    1
    你们不用 git 进行管理的吗?
    使用代码仓库的吗?
  • osilinka 08-30 21:14
    2
    哪个模型都可能出这样的问题
  • cufezhusy 08-30 21:17
    3
    一直开 git 可能会好点?
  • IC0ZB 楼主 08-30 21:17
    4
    @cufezhusy

    @sn0wdr1am 开 git 的,没推到 github ,把整个上层目录都删了,git 也没用了
  • chemzqm 08-30 21:18
    5
    智谱送了我 2 千万 tokens ,结果用了不到 200 万告诉我周限额了,这狗东西
  • lujiaosama 08-30 21:19
    6
    开发不切分支,不定期 push 么。
  • lnbiuc 08-30 21:22
    7
    死在不 push
  • IC0ZB 楼主 08-30 21:23
    8
    @lujiaosama
    @lnbiuc 没定期 push 😭😭😭
  • chjqpmain 08-30 21:29
    9
    我 2 月底开始就从不授予 rm 这些删除命令,正常的新建,编辑,移动即可, 然后做完对应的活,我自己审查后,明确告诉把哪些移动到回收站,等回收站自动清除,
    生成式人工智能大数定律下都可能 rm 错路径,
    不过现在 claude,codex 这些都用的 auto 授权后,没出现过其他事故了
  • CodeCaster 08-30 21:30
    10
    我觉得干活还是得开 Full Access ,不然效率太低,总被打断不可取,但是 OP 的问题也是需要防的,我的做法就是用自己开发的工具,所有小的拆的开发任务都是进入独立的沙箱( docker 容器)的,这样,沙箱中他只能看到自己的一个分支的工作目录,就算发生了故障,也没有关系。
  • shintendo 08-30 21:36
    11
    > 天天号称安全的模型能犯这么低级的错误
    安全不是防这个的
  • yafoo 08-30 21:41
    12
    不赞同你第四点意见
  • IC0ZB 楼主 08-30 21:45
    13
    @CodeCaster 学习了
  • wdhwg001 08-30 21:46
    14
    https://www.v2ex.com/t/1235190

    没时间搓 codex 版,但是如果你的 harness 是 Claude Code ,我搓的这东西有时候能救命。
  • hubaq 08-30 21:46
    15
    跟模型有什么关系,你自己不做好 git ,说白了还是偷懒酿成大错
  • Need4more 08-30 21:47
    16
    自动模式下,所有的大模型都可能发生你的这种情况,通常这些 agent 提供了安全机制和 hook 防止这种情况发生。

    所以问题在于 op 自己,没有提前注意到这些工具的风险。

    针对 zcode ,我问了它自己,给你一些方案,看能不能帮助到你:

    1. 权限模式+工具规则列表。在 ~/.zcode/cli/config.json (用户级)或 <repo>/.zcode/config.json (工作区级)配置
    ```json
    {
    "permission": {
    "mode": "auto",
    "disallowedTools": ["Bash(rm *)"]
    }
    }
    ```
    2. hook 机制。PostToolUse hook ,每次改动后提交。
    ```json
    {
    "hooks": {
    "enabled": true,
    "events": {
    "PostToolUse": [
    {
    "matcher": "Edit|Write",
    "hooks": [
    {
    "type": "process",
    "command": "bash",
    "args": ["${ZCODE_PROJECT_DIR}/.zcode/hooks/auto-commit.sh"],
    "timeoutMs": 15000
    }
    ]
    }
    ]
    }
    }
    }
    ```
  • konnga403 08-30 21:50
    17
    话说,trellis 用的怎么样,之前用过,感觉挺啰嗦的,有点费 token
  • courtier 08-30 22:08
    18
    跟国产模型没啥关系,国外的企业不也有过用 claude 还是 gpt 被误删数据库还是什么东西,拿这个来喷国产没意义
  • IC0ZB 楼主 08-30 22:12
    19
    @courtier harness 明显有问题吧?这个越权了呀 明明已经选了项目 结果把上上层的整个文件夹删了呀
    @hubaq 大哥 git 做了呀 是没推到 GitHub
  • IC0ZB 楼主 08-30 22:12
    20
    @Need4more 是的呀,他不是在开发之前会选一个项目嘛,我理解应该在这个项目文件夹内操作,他结果把项目的上层的上层的整个文件夹给删了
  • iamv2er 08-30 22:20
    21
    让 ai 每次修改后自动 push
  • IC0ZB 楼主 08-30 22:31
    22
    @konnga403 我感觉还凑合 主要是开发任务标准化 多个 agent 协同,一般都是用比较好的模型写计划,然后比较小的模型实现,实现完以后再大模型 review

    @iamv2er 是的 哥 长一智了 本来新项目懒得推的
  • dingawm 08-30 23:04
    23
    你这还好没有删掉项目外的数据,我 Opus 模型都不敢在本机 Auto 模式,就怕给我其他数据删了
    我一般开 Auto 或者 Yolo 模式只敢在 Mac 上的虚拟机里开
  • Need4more 08-30 23:04
    24
    @IC0ZB 在工作区不代表只对工作区操作,你把 rm 命令加入黑名单更保险些
  • icyalala 08-30 23:12
    25
    Claude 昨天也刚有个新闻说删掉了 700GB 根目录...
    不如说就算是人,再专业的人也有不少犯类似的错误的
    这种问题只能从机制上避免,但凡给了权限,总有失误的时候
  • garyox64 08-30 23:12
    26
    这几天 claude 也有类似的 case ,虽然不是特别一样,但是结果也是删除了全部数据
  • Oceanhime 08-30 23:23
    27
    深表同情,这件事可能发生在任何一个用 Auto 模式人的身上。Git 同步都没什么用,尤其是考虑到 AI 可能会删掉上上级目录甚至根目录的情况。
    目前我只敢在独立的开发机还有 docker 容器里跑 Auto 模式...
  • IC0ZB 楼主 08-30 23:27
    28
    @dingawm 哥 我这个删了项目外的 把工作目录的上上层删了 之前所有的项目都没了


    @Oceanhime 不清楚哪些 workbuddy 、qwenwork 这种的有没有比较好的机制,因为这些很多都是普通人在使用,程序员还有 git 这种东西,普通人删了可能就再也找不回来了
    @Need4more
    @garyox64
  • osilinka 08-30 23:30
    29
    Claude nukes a developer's 700 GB home directory while testing deletion safeguards; automatic model safety downgrade may have contributed to the screw-up — Anthropic safety harness downgraded model to Opus 4.8 before fatal variable collision

    这个是 reddit 上面的,所以不要迷信任何的 model
  • phrack 08-30 23:34
    30
    我用虚拟机,把工作目录 mount 进/app 下,有 git 保护,另外有 borg 每日备份虚拟机的/home 目录

    就这样我都担心 ai 会哪天抽风了,拿我给了虚拟机的 GitHub token 给我来个 force push

    别被 AI 的发展迷惑了,它根本还是个概率机器
  • longxk 08-30 23:42
    31
    这种问题用 dcg 应该就可以避免
  • Need4more 08-30 23:51
    32
    @IC0ZB 办公 agent 不清楚有没有,但是所有编程 agent 肯定有类似的机制。

    这个问题很好解决,但不是靠 model 层面,agent 提供了很多扩展点,这是我的配置,可以在 auto 模式下审核 rm 操作,避免类似的“悲剧”

    https://www.verybin.com/?f705fbd1227bfa46#A56RV+bNfD3geE9oI7Zn+qAliaE1Utl9TddzCFqdZCQ=
  • EasonYan 08-30 23:53
    33
    5.3 Flash 正式版降智严重,还是用 5.3 靠谱一点
  • Need4more 08-30 23:54
    34
    或者直接对 agent 说:帮我配置你自己,我想默认权限模式是 auto ,但是 rm 命令需要审批,如果 rm /tmp 目录则放行
  • lesismal 08-31 00:07
    35
    个人以为:这个锅甩给模型,是不厚道的。
  • pinkrab 08-31 00:12
    36
    上上周 Claude Code CLI 接 GLM ,误删了 D 盘下 150GB 的数据,直接从 D 盘根目录开始删。
    执行的内容太多了,我没查出来哪个指令删了,应该是某个路径解析错误导致的。
    解决方法:在本地规则里加了好多硬限制,麻烦是麻烦点,但是安全第一。
    最后只恢复了 5GB 的数据。。。
  • hxy100 08-31 00:13
    37
    再好的模型总也有犯错的时候,我的也被删过文件,好在 Git 仓库已经推到了远程,没引起什么严重后果,如果是 Windows ,可以用火绒的 HPS 行为规则直接拦截防护,直接从操作系统底层掐断未授权操作( IDE 自带的那个 hook 拦截我都信不过,信不了一点)
  • dianso 08-31 00:15
    38
    太不专业了,来秀智商的吧。
  • Felldeadbird 08-31 00:16
    39
    AI:愚蠢的人类,自己犯错又让我埋单。所以非常有必要清除人类这个巨大隐患。
  • dingawm 08-31 00:28
    40
    @IC0ZB #28 哦哦,看错了。那更要弄个虚拟机了,不然把个人机器上的其他重要数据删掉就更难顶了。
  • lingyired 08-31 00:31
    41
    git 太重要了。我之前写 demo 的时候,刚开始没考虑版本管理,后来一次大点的重构后感觉不太行,但是因为没有版本管理导致之前稳定的版本都也都丢失了,从此以后第一件事是先创建本地 git ,最起码让代码可回溯
  • DeWjjj 08-31 01:21
    42
    现在用 AI 了,一定要小时 PUSH 。
    不然数据一旦全丢工作白干。
  • emiyaa2 08-31 01:48
    43
    我现在都是 git 到本地
  • timeance 08-31 02:00
    44
    一直和 codex 说将不要的文件移动到临时目录,不要删除,由我来决定

    sol 还行,luna 还是会乱下载依赖和删除文件,很怕哪天把电脑的其他东西删了。

    另外我还搓了一个 dsh 的自动审批插件,安全第一
    https://github.com/timeance/dsh-approve-for-me
  • run2 08-31 02:20
    45
    我都是直接 ln -s trash rm, alias 用着不好换的😂 github-com/sindresorhus/macos-trash
  • laminux29 08-31 04:36
    46
    没有备份,默认数据不重要。
  • maolon 08-31 05:39
    47
    都用 mac 了开系统沙箱吧,seatbelt ,请
  • wniming 08-31 06:21
    48
    吓的我感觉给 codex 有权限访问的 btrfs 子卷都做了一个快照。。。

    我的用法是 codex 跑在非特权用户模式的 lxc 里,多个 lxc 跑不同的编译环境,每个 lxc 都是独立的 btrfs 子卷,然后共享一个存放代码的 btrfs 子卷,这个子卷同时也是 lxc 的 home 目录。
  • CuteGirl 08-31 06:41
    49
    为社么 rm 这种命令你会自动授权给模型 也是很奇怪吧
  • lucifer9 08-31 06:43
    50
    模型没意识到自己在 macOS 下运行?
  • jjx 08-31 07:28
    51
    这个案例 从另外一个层面说明

    如果在 linux 下就不会发生这种事情了
  • germain 08-31 08:10
    52
    牛批,直接在生产服务器上运行 agent ,装 git 但是所有东西都是本地仓库且没备份,不设置 hood 控制 agent 操作边界,这些锅都不是 GLM ,国产模型,外国模型或者其他任何 AI 工具可以给你背的。
  • nVic 08-31 08:14
    53
    把 glm 当劣质中转站就行了……
  • IC0ZB 楼主 08-31 08:29
    54
    @dianso 你这思路明显有问题,默认所有开发都得提前写一大堆的沙箱、限制、规则,那要 harness 有啥用,直接用 pi 全自己写得了。普通用户还用个屁啊,来这里秀智商?
  • Dragonish3600 08-31 08:32
    55
    macOS 文件系统大小写不敏感 ----------- 用 MAC 做开发,首要的一点就是要新建一个区分大小写的卷啊,不然 GIT 都一堆坑。。。你连这个都不做?
  • kneo 08-31 08:38
    56
    你这还好吧,就删了上层目录。上次把我整个电脑都给删了……
  • IC0ZB 楼主 08-31 08:40
    57
    @Dragonish3600 学习了,以前真不知道这个问题,以前都用 windows 和 linux ,也没发现这个问题过
  • skymanv2 08-31 08:53
    58
    @jjx why?
  • awanabe 08-31 09:03
    59
    mac 有本地 时间胶囊的缓存
    tmutil listlocalsnapshotdates
  • foryou2023 08-31 09:05
    60
    我用的 pi ,用了一个权限管理的插件,专门写了一个规则,只要是 rm 命令的都要申请权限,建议 codex 试试找个类似的插件。或者自己写一个插件,每次编辑代码了就 push 一下。
  • loading 08-31 09:13
    61
    一个目录 work 一个是 Work ?
  • skuuhui 08-31 09:21
    62
    很正常,之前同时直接 gpt 直接删了测试库。
  • BlackSas 08-31 09:22
    63
    @Dragonish3600 #55 谢谢,才知道可以新建一个 区分大小写的 APFS 卷。
  • jackerbauer 08-31 09:31
    64
    这算什么,还有把整个磁盘删了的
  • jjx 08-31 09:34
    65
    @skymanv2
    linux 大小写敏感啊, 就这个案例而言, 不会有问题
  • catinsides 08-31 09:39
    66
    早都把 rm 替换成 trash 了
  • horacegao 08-31 09:40
    67
    哦我说怎么我没遇到过,因为我从来不用 auto 模式
  • Cabana 08-31 09:47
    68
    我的自己的 agent 都是单独跑在一个机器上的,做任务都是从 all in one 的 git 服务上拉代码下来处理。agent 和重要数据之间感觉还是得直接物理隔离会比较好一点。
  • IC0ZB 楼主 08-31 09:48
    69
    @loading 我的目录本来是大写的 Work ,他在写某个文件的时候,相当于笔误写了个小写的 work ,然后他又想把这个目录删了,删的时候,就把整个全给删了
    @foryou2023 谢谢 学习啦❤️
  • japhetjiu699 08-31 09:55
    70
    @IC0ZB #4

    1、vibe 一次 提交一次代码
    2、查一下 git local history
  • vlhwnb 08-31 09:56
    71
    我也遇过,后面用 DiskGenius 工具找回被删掉的工程
  • Crazy9527 08-31 10:00
    72
    @wdhwg001 我先 star 了
  • kangwei 08-31 10:01
    73
    看了下评论,感觉用 ai 出了问题最终锅的还是 op 的
  • namonai 08-31 10:05
    74
    当你选择 All in AI 的时候,就要面对这种问题
  • bitmin 08-31 10:06
    75
    会操作工作目录外的文件太正常了,我一直这么用。还好我没被删过,不过我都是拉分支改一点提交推送一点

    现在我还是拿个 U 盘先把重要资料备份一次
  • coderwitt 08-31 10:08
    76
    很明显你的提示词不符合你的基本开发需要,一般情况下,我们都是做完一个小点,验证通过后,AI 会 commit 一次,这才符合现在 Git Worktree 的理念。多个 AI 会话多 worktree 并行工作,合回主分支的时候`git squash`就好了



    不然咋说现在的开发都变成“AI 善后工程师”了,你用的 AI ,出现了问题,总不能去找 GLM 公司吧
  • explorerman 08-31 10:08
    77
    倒霉呀老哥
  • guhuisec 08-31 10:11
    78
    难道不是 docker 下跑?真机跑风险大
  • Tanf 08-31 10:12
    79
    庆幸吧 我上次让千问帮我卸载一个 软件,一个命令直接给我 mac 系统删崩了,最后去店里直接重装系统了 数据都丢了
  • Mr54 08-31 10:15
    80
    这和模型没关系吧,就这提示词换啥模型都得抖三抖啊,最多可能就停下来问你,就算问了你也看不出大小写问题吧
  • yhc2073 08-31 10:18
    81
    这也太惨了。 想骂都找不到人
  • Topmax 08-31 10:22
    82
    深表可惜,但这件事任何一个模型都可能发生
  • coderzhangsan 08-31 10:23
    83
    你要庆幸 AI 不是人,否则它肯定要跟你对账的,从这点来看,AI 其实蛮适合背锅的。
  • Rehtt 08-31 10:28
    84
    @cufezhusy op 开了 git ,但是.git 目录都被删了
  • supercellMr 08-31 10:38
    85
    所以 ai 时代是不是必须要搞个外置硬盘启用 time machine 功能
  • killva4624 08-31 10:44
    86
    我们是这样控制的:
    - 单个对话只允许读取代码仓库文件,如果需要读取代码仓库目录以外的文件,手动按需添加。
    - 执行危险命令需要人工确认:比如 rm 。

    写代码之前先严格规划 roadmap ,从拆成可验证的最小功能点,完成并验证一个之后就进行 COMMIT ,并设置定期检查,如果有未同步的则进行 push
  • realJamespond 08-31 10:50
    87
    我一般让 opencode 改之前先 stage 之前代码,方便改完后对比改了哪些内容
  • SmiteChow 08-31 10:54
    88
    git 使用了只是没 push ,那你用个寂寞是吧?

    做好一个 feature 就需要验收 push 的,人工智障而已,你还期望一次性给你做完啊,那不飞到火星上去了。
  • ZAXON 08-31 10:54
    89
    删掉工作区上上层的目录,这个问题的主要矛盾应该是在 LLM 和 harness 上吧,为啥会归咎到 git
  • crocoii 08-31 10:57
    90
    反正我是不敢用 glm-5.3flash 写代码,这货干出来的活,没有一个不返工的。 这东西只适合 hermes 什么的,当便宜玩具就可以了。
  • haukuen 08-31 11:01
    91
    挺好的,啥都能甩锅给国模,下次继续甩
  • gloeaerris 08-31 11:01
    92
    这个事故听着就像:今天刚提了一台国产车,可是提车回家的路上就撞了,明明已经很小心开了,这个国产车怎么这个样子
  • furlxy 08-31 11:05
    93
    知道 git 但是不 push

    行吧,至少比问“谁是 json”要强一点
  • Sezxy 08-31 11:08
    94
    即使你用 codex ,也有删库的问题
  • Sezxy 08-31 11:09
    95


    反正我看 codex 的删库案例,比其他模型都多
  • zyp38263547 08-31 11:09
    96
    没有影响扩大到删除别的文件,只是花了 token 已经算是幸运的了。幸好 GLM5.3Flash 不贵。
  • IC0ZB 楼主 08-31 11:22
    97
    @ZAXON 是的 老哥还是比较客观 因为他们根本不看我说的话 只知道按照自己的理解说我不 push ,说我没有用沙盒、没加限制合理


    @zyp38263547 删了 上上层目录直接删了 里面的内容都删了
  • IC0ZB 楼主 08-31 11:28
    98
    @ZAXON 刚没说完整,说我没用沙盒,没加限制的老哥说的合理,说别的是没看的


    @gloeaerris 😂是,那咋整,小心翼翼程度不够呗
  • dianso 08-31 15:40
    99
    @IC0ZB #54 连 git 都不会用的来这里秀智商
  • keakon 08-31 15:48
    100
    我是自己做 harness ,rm 和 git reset 等危险的操作需要手动确认,避免了很多问题
* 帖子来源V2EX
返回