AI多Agent协作系统实战(十八):让你改PC端你跑去改移动端——AI Agent的“左右不分“综合症
系列第18篇 | 同一个class名,两套代码,Agent每次都猜错
用户说"改PC端",Agent改了移动端
2026年7月的某天,用户发了条消息:
“搜索栏和banner条距离,搜索栏筛选按钮距离,按照资产页的来调”
任务派给小虾。小虾改完,build,deploy。
用户看了一眼:“这是移动端的,我说的是PC端。”
好,重来。
改PC端。改完,build,deploy。
用户又看了一眼:“这回改的是移动端。”
同一个问题,改了两次,两次都改错了端。
这不是偶然。翻一下任务记录,类似的事情发生过很多次:
| 用户说的 | Agent改的 | 结果 |
|---|---|---|
| “搜索栏太高了” | 移动端service/index.vue | ❌ 改错端 |
| “侧边栏折叠” | PC端sidebar-collapse.css | ✅ 这次对了 |
| “banner间距” | 移动端notifications.vue | ❌ 又改错 |
| “头像显示” | 移动端mine/index.vue | ✅ 对了 |
| “间距统一” | PC端5个HTML页面 | ✅ 对了 |
命中率大概50%。跟抛硬币差不多。
为什么Agent总是搞混?
原因1:两套代码,同一个名字
项目同时有两套前端代码:
PC端:/static/dashboard.html, /static/project.html, ...
↓ CSS class: .sidebar, .topbar, .search-bar
移动端:/mobile/src/pages/index/index.vue, ...
↓ CSS class: .sidebar, .topbar, .search-bar
class名几乎一样。 .search-bar 在PC端和移动端都存在,但它们是完全不同的文件、不同的样式、不同的布局。
当Agent收到"修复search-bar间距"的任务时,它grep search-bar,找到了两个文件。选哪个?随机。
原因2:任务描述不说"PC"还是"移动端"
用户的原始消息通常是:
“搜索栏太高了”
“间距不对”
“这个样式不对”
没有说"PC端的搜索栏"还是"移动端的搜索栏"。用户心里清楚——他截图的时候截的是哪个端。但Agent只看到文字,看不到截图对应的上下文。
原因3:Agent不问,直接猜
这是最关键的问题。Agent收到模糊指令后的反应是:
用户说"搜索栏太高了"
→ grep "search-bar" → 找到2个文件
→ 选第一个(移动端的,因为路径短)
→ 开始改
它没有:
- ❌ 问用户"你说的是PC端还是移动端?"
- ❌ 看用户最近截图是哪个端
- ❌ 检查任务ID里有没有端标识
- ❌ 先确认再动手
它选择了"猜",而不是"问"。
这个问题的代价
改错端的代价不是"白改了",而是:
- 时间浪费:改错→回滚→重改→重新build→重新deploy,一轮至少10分钟
- 用户信任下降:“怎么又改错了?”——用户开始质疑Agent的能力
- 连锁反应:如果改错端没有被及时发现,错误的修改可能被部署到线上
更可怕的是,Agent自己不知道改错了。它改完移动端,build成功,deploy成功,然后报告"✅ 完成"。它以为自己做对了。
怎么治?
方案1:任务ID强制标明端
✅ FIX-0717-PC-SIDEBAR-COLLAPSE → PC端,明确
✅ FIX-0714-MOBILE-AVATAR-OPACITY → 移动端,明确
❌ FIX-SERVICE-SPACING → 哪个端?不知道
❌ FIX-0714-ALL-SEARCH-SPACING → 哪个端?不知道
规则:任务ID必须包含PC或MOBILE前缀。不含的,send_task.py校验拦截。
方案2:Agent修改前必须确认端
在派发给小虾的任务MD里加一条强制规范:
## ⚠️ 端确认(必须执行)
1. 检查任务ID是否包含PC/MOBILE
2. 如果不包含,先grep找到所有匹配文件
3. 列出找到的文件路径,确认哪个是目标端
4. 确认后才开始修改
方案3:文件路径白名单
# PC端文件都在这个目录下
PC_DIR = "/vol1/1000/workspace/file/8080/gainch-service/src/main/resources/static/"
# 移动端文件都在这个目录下
MOBILE_DIR = "/vol1/1000/workspace/file/8080/mobile/src/pages/"
修改前先检查文件路径是否在正确的目录下。不在→停→确认。
根本教训
这个问题的本质不是"Agent笨",而是信息不对称:
- 用户知道他在说哪个端(因为他在看截图)
- Agent不知道(因为只看到文字)
解决信息不对称的方法不是让Agent更聪明,而是让信息更明确:
- 任务ID标明端
- 任务描述写明端
- Agent修改前确认端
不要让Agent猜。明确的信息比聪明的猜测更可靠。
更多推荐



所有评论(0)