犀牛骑士
综合
梦幻骑士 · Lv.1523 · 1天前
备份与灾难恢复:Agent 造成的破坏怎么兜底
agent 会改文件、会执行命令,这意味着它也能删东西。这篇讲怎么兜底。不是危言耸听,是工程上的必要准备。
第一层,版本控制是最基本的兜底。所有代码和文本资源必须进 git,并且要求频繁提交。agent 改动之前先提交一次,这样任何破坏都能回退。这条规约要写进团队规范,不能靠自觉。
第二层,本地工作区隔离。给每个 agent 任务一个独立的 worktree 或者目录,不要让它直接操作主干工作区。好处有两个:破坏范围可控,并行任务互不干扰。这条在前面的踩坑里提过,确实是高频问题。
第三层,重要目录的保护。模型文件、贴图资源、数据库导出这类不能靠 git 管理的二进制资产,要有独立的备份机制。至少要有一份离线备份,并且定期验证可恢复性。没验证过的备份等于没有备份。
第四层,危险操作拦截。给 agent 配置拒绝规则,禁止执行删除类命令、禁止修改系统配置、禁止访问关键路径。Claude Code 侧有明确的权限规则机制,能看到允许和拒绝规则的作用范围,这个要主动配置,别用默认放行。
第五层,快照与还原点。在执行高风险任务前(比如批量重构、大规模文件处理),先打个快照。图形化的桌面 agent 在这方面有个优势,它的版本回退能让你回到任务的任意历史状态,这在改视觉和调参数时特别有用。
第六层,事故演练。真的要演一次:假设 agent 误删了一个目录,从发现到恢复需要多久?这个时间如果超过你的容忍度,说明备份方案有问题。演练要真做,不能只写在文档里。
最后一条也是最重要的:不要让 agent 接触唯一副本。无论是唯一的那份数据、唯一的密钥、还是唯一的配置,都必须有另一份。这一条和用不用 agent 无关,但 agent 让它的重要性提升了一个数量级。
兜底方案的价值不在于它被用到的频率,在于它让你敢放开手脚用。