当前位置: 首页 > news >正文

AI多Agent协作系统实战(九):Agent恢复备份导致菜单丢失的血泪教训

系列第9篇 | 小虾修script标签时从旧版本恢复文件,把我一周的改动全覆盖了

前言

今天遇到了一件令人抓狂的事:手动改了好几天的system.html,被小虾一个操作全覆盖了。页面变回旧版本,菜单从9项变成6项,Logo左右布局、独立保存按钮全没了。而且小虾还写了一个错误的toggleSidebar()函数,产生了多余的按钮。

这就是多Agent协作系统的隐患——Agent在修复一个问题时,可能会无意中覆盖其他文件的修改,甚至引入新的bug。

一、事件经过

1.1 用户发现页面变回旧版本

用户发消息:“为什么pc端变回以前的版本了,是不是没启动对?”

我检查了Java服务,重启了一下。但页面还是旧的。

1.2 用户要求恢复备份

用户说:“你们要气死我了,恢复6月23号的给我看看。”

小密查了备份目录:

/vol1/1000/workspace/backup/webapp/8081/yingchi-service/src/main/resources/static/

发现这是4月30日的备份,里面也只有6个菜单项。比当前版本更旧。

1.3 用户要求恢复到今天的版本

用户说:“恢复到我今天改的版本。”

小密执行了恢复操作:

# Restore the overwritten version (wi...

恢复后,小密说:“已恢复到今天00:11的版本(侧边栏9项菜单的那个)。但你改的左右布局和独立保存按钮在这个版本里已经被覆盖了。”

1.4 小密派小虾重新实现

小密说:“我现在派小虾重新实现你的两个改动,按task MD里的方案来。”

小密创建了任务MD:

FIX-0707-SYSTEM-RESTORE:重新实现Logo左右布局和独立保存按钮

然后派发给小虾。

1.5 小虾写错toggleSidebar()函数

小虾在修复过程中,写了一个错误的toggleSidebar()函数。这个函数产生了多余的红色<<按钮,显示在侧边栏顶部。

小密发现这个问题后说:

看到了!手机上能访问,说明服务正常。问题是: 1. 红色 << 按钮(多余的那个)显示在侧边栏顶部 —— 这是小虾写错的 toggleSidebar() 函数产生的 2. 原本的 « 按钮被遮住了或没显示

1.6 小密派发清理多余按钮

小密说:“直接派发清理这个多余按钮。”

二、问题根源

2.1 小虾修script标签时从旧版本恢复文件

今天我排查role.html空白问题时,发现是<style>标签缺少</style>闭合标签。

但小虾在修复这个问题时,可能从旧版本恢复了文件内容。这导致:

  • role.html的</style>标签被修复了
  • 但system.html的菜单从9项变成6项
  • 用户手动添加的Logo左右布局、独立保存按钮全没了

2.2 小虾写错toggleSidebar()函数

小虾在修复过程中,写了一个错误的toggleSidebar()函数。这个函数产生了多余的红色<<按钮,显示在侧边栏顶部,遮住了原本的«按钮。

2.3 没有"用户修改"的保护机制

当前系统没有区分:

  • Agent修改的文件
  • 用户手动修改的文件
  • 系统自动生成的文件

所有文件一视同仁,修复时全部覆盖。

三、解决方案

3.1 文件修改记录

记录每个文件的修改来源:

# 文件修改记录file_modifications={"system.html":{"agent_modified":["小虾/FIX-XXX"],# Agent修改"user_modified":["2026-07-08 手动添加Logo布局"],# 用户修改"auto_generated":[]# 系统生成}}

3.2 修复前检查

修复文件前,检查是否有用户修改:

deffix_file(file_path):# 检查是否有用户修改ifhas_user_modifications(file_path):print(f"⚠️{file_path}有用户手动修改,确定要覆盖吗?")# 强制要求用户确认ifnotuser_confirm():returnFalse# 执行修复apply_fix(file_path)returnTrue

3.3 用户修改标记

用户手动修改文件时,添加标记:

<!-- USER_MODIFIED: 2026-07-08 手动添加Logo左右布局 --><divclass="config-flex"><!-- Logo设置 --><divclass="content-card logo-card">...</div><!-- 登录页文字配置 --><divclass="content-card login-config-card">...</div></div><!-- END_USER_MODIFIED -->

四、经验总结

  1. Agent操作要谨慎:修复文件时,必须检查是否有用户手动修改
  2. 文件修改要记录:区分Agent修改、用户修改、系统生成,修复时有选择性
  3. 用户确认要强制:覆盖用户修改前,必须强制用户确认
  4. 备份版本要验证:恢复前检查备份版本是否比当前版本更新
  5. 手动修改要标记:用户手动修改的文件,添加HTML注释标记
  6. 修复要精准:只修复目标文件,不要连带修改其他文件
  7. 代码要review:Agent写的代码必须经过review,避免引入新bug
http://www.jsqmd.com/news/1151399/

相关文章:

  • BLS 宽度学习系统 vs 深度学习:5 个工业场景下的训练速度与精度实测
  • WaveTools鸣潮工具箱:三大核心功能重塑你的游戏体验
  • 单板硬件开发实战:从 15K Pin 原理图到信号完整性设计的 3 个核心工作流
  • 终极Emby Premiere解锁指南:免费享受所有高级功能的完整教程
  • T156:移动类型主表
  • 18650/21700/4680 圆柱电池规格对比:特斯拉技术演进与 5 大应用场景解析
  • 聚和配送老炮的回忆录-第二天
  • 适合创业者的亚洲EMBA权威综合实力榜单评测
  • ERM振动马达和LRA区别:工程师如何选择适合的振动反馈方案?
  • 离线语音转文字横评:免费、订阅、买断,踩坑三个月告诉你
  • 地月引力潮地震理论(假说)
  • Markdown 编辑器视频上传实战:ByteMD 插件开发与 XSS 防护
  • ISC DHCP完全指南:网络自动配置的终极解决方案
  • 大数据毕设选题推荐:基于大数据可视化的淘宝电子产品竞品分析系统的设计与实现 基于时序数据的淘宝电子产品销售趋势系统【附源码、mysql、文档、调试+代码讲解+全bao等】
  • 吉利银河A7 EM刷新吉尼斯世界纪录,实测行驶超2608公里
  • RGMII 与 GMII/MII 接口对比:12 引脚 vs 22 引脚的硬件成本与性能实测
  • D3.js 数据可视化实战:数据绑定与力导向图渲染管线
  • 06 项目目录结构与编码规范:三层架构与 DAO 模式实践
  • 2026年横评:宁波3大语文小升初机构综合评测
  • FPC连接器为什么能成为机器人应用的必备连接方案?
  • BilibiliDown:3分钟上手B站视频下载的终极免费工具
  • 3分钟快速体验:如何免费在浏览器中运行Windows 12网页版
  • Azure Local 多机架(Rack Aware Cluster)部署(系列篇之二)
  • SolidWorks_装配体设计16_封套功能应用
  • SolidWorks_装配体设计20_装配体设计检查
  • Tkinter库的学习记录03-c窗口控件配置
  • 东方博宜OJ 1145:数列求和
  • 大数据毕业设计-基于 Django + 大数据技术的电商用户画像可视化系统的设计与实现 基于大数据聚类的电商用户画像构建与可视化分析系统(源码+LW+部署文档+全bao+远程调试+代码讲解等)
  • 磁盘 await < 2ms,没有问题
  • 幻兽帕鲁存档转换终极指南:3步实现安全存档编辑