资讯动态

让 AI 自己去点后台页面,它把我们的库存点没了

发布时间:2026/10/23 2:41:21 来源:尧图企业网站定制
本文是「Agent 工程实战」系列的第 08 篇属于界面线。系列索引21 篇阅读路线Agent 放权前先补权限、出站、发现这三道口子摘要OpenAI 说 agent 能操作界面了我没光看热闹在隔离沙箱里搭了个假后台让 agent 自己去批量调价。结果它跑得飞快对账时发现零星几个商品库存被清零——它把编辑点成了删除还把确认弹窗当成了流程下一步。本文复盘完整事故链路拆三个根因视觉噪声、上下文缺失、默认猜测给出三层护栏方案和适用边界。文章目录一个认真的沙箱实验现象跑得飞快日志一片绿排查回放每一步点击根因界面是给人眼设计的agent 在猜三层护栏我后来怎么修的什么时候可以放手总结一个认真的沙箱实验上一篇文章刚聊完 OpenAI 说 agent 能操作界面 这回事。光看发布页不过瘾我决定自己上手验证一下——在隔离沙箱里搭了个假后台让 agent 自己进去干活。这里先交代清楚是沙箱不是生产。所有数据都是假的任务也是我自己布置的就是为了看 agent 操作界面到底靠不靠谱。事实证明这个决定非常正确。现象跑得飞快日志一片绿假后台是个典型的商品管理页表格、每行有编辑和删除按钮、顶部有批量操作入口。任务很简单把列表里一小批商品的价格整体上调一成。agent 干得确实快几分钟就把活干完了。页面日志一片绿没有一条报错。我当时心里还嘀咕computer use 这波可能真成熟了。真正让我冷汗下来的是对账环节。我按沙箱的备份一对比发现零星几个商品的库存变成了 0——不是我让它改的价格是库存被清零了。排查回放每一步点击沙箱的好处是可以完整回放。我把 agent 的操作记录翻出来一行一行看最后定位到这样一条链路列表页每行两个按钮编辑 / 删除 ↓ agent 的点击坐标错位 点到相邻行的删除按钮 ↓ 系统弹出确认框确定删除该商品 agent 把弹窗里的确认当成流程的下一步 ↓ 直接点了 该行被删除库存显示归零问题出在两个环节的叠加点错了行以及把确认弹窗当成了必经流程。第一个错回放里看得很清楚——agent 的点击坐标落到了相邻行的删除按钮上。我猜是截图里表格行距不够按钮靠得近模型按坐标定位时偏了一格第二个错更隐蔽——在 agent 眼里弹窗里的确认就是继续它不知道这一步不可逆。根因界面是给人眼设计的agent 在猜复盘完这条链路我最大的感触一句话界面是给人眼设计的agent 在猜。拆开说有三个机制放大了这次事故视觉噪声。截图里全是角标、状态色、装饰性元素模型分不清哪些是数据、哪些是摆设。两个按钮之间靠间距和 hover 状态区分这些对 agent 来说都是弱信号。上下文缺失。我看到删除两个字脑子里会自动补全删了不可恢复这是生产数据不能乱点。agent 没有这个上下文它看到的只是两个名字相似的按钮。默认猜测。当界面不提供机器可读信号时模型只能按普遍网站的常见布局去猜。单按钮弹窗在绝大多数网站里是下一步的意思于是它就点了。说白了人眼会再三确认的高危按钮agent 按概率就点了。这个差异拿人和 agent 摆在一起看更清楚维度人agent视觉理解靠颜色、间距、经验判断按钮层级靠截图 可访问性树猜歧义处理不确定时会犹豫、会再看一眼按普遍网站的习惯默认猜测按钮意图结合业务上下文理解删除的后果只读到两个名字相似的按钮确认行为高危操作会反复确认单按钮弹窗 “下一步”直接点三层护栏我后来怎么修的翻车之后我在沙箱里给界面加了三层护栏然后让 agent 重新跑同一个任务同一套护栏下连着重跑了好几轮没再出现同类误点。第一层写操作走结构化通道。批量调价这种事直接给 agent 一个 API让它提交商品 ID 新价格的 JSON别让它逆着 UI 去点。这样 agent 根本碰不到那些高危按钮。// 给 agent 的结构化通道批量调价POST/api/products/batch-price{items:[{productId:P1001,pricePercent:10},{productId:P1002,pricePercent:10}]}运行结果HTTP 200 { updated: 2, failed: 0 }agent 不再需要看界面也就不存在点错行的问题——这是最彻底的一层护栏。边界说清楚这个方案的前提是系统有可用的结构化接口。很多老后台没有只能从第二层做起。第二层高危控件加机器可读信号。给删除按钮补语义让 agent 在可访问性树里能读到这是删除、不可逆。这一步主要依赖 WAI-ARIA 1.2 规范里的 aria-label、role 这类属性buttonclassrow-actionaria-label删除商品不可逆需二次确认data-actiondeletedata-irreversibletrue删除/button运行结果可访问性树视角button name删除商品不可逆需二次确认 >什么时候可以放手三层做完我要划一条边界免得矫枉过正只读操作可以放手。查询、搜索、分析数据这类不改状态的活让 agent 自己跑出错了重来就行。写操作必须人盯。改数据、删数据、发消息、转账任何不可逆动作至少留一层人工确认。等 agent 的可靠性和你的监控能力证明它值得信任了再逐步放权。沙箱永远是验证场。想让 agent 操作界面先在隔离环境跑几轮看它在哪里犯错。我这次要是直接在真系统上试清零的就不止是沙箱里的假库存了。总结这次沙箱演练把为 AI 设计界面从概念变成了刚需。上一篇我说语义层是让 AI 看得懂当时还是推论这次翻车是实证——界面在可访问性树里长什么样直接决定 agent 会不会点错。以后谁跟我说agent 操作界面已经很成熟了我就把这次的回放日志给他看。「Agent 工程实战」系列路线界面线computer use / Agent UI上一篇07 AI 都要自己点界面了下一篇09 给 AI 看的界面三层适配系列索引21 篇阅读路线Agent 放权前先补权限、出站、发现这三道口子专栏Agent 工程实战如果这篇对你有用欢迎收藏想追更可以关注「Agent 工程实战」专栏。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑