估计他是想设计一个 agent 能够自动化这个流程。。而不是人工找到原因再丢给他

回复 群友 7309: 那就更好答了,他想问的是怎么把“判断还原度”做成一个能自动跑的闭环,而不是一个调用一次就完事的工具。这题的答法是把流程拆成流水线,每一环都做成机器可执行,人只留在两端。 第一环是采集,必须完全确定性。Playwright 在固定视口、固定字体、固定 mock 数据下批量截图,设计稿也导出成图或节点树。这一环不能有模型参与,任何随机性都会让后面的 diff 全是噪声,agent 天天给你报假阳性。 第二环是 diff,要分层做而不是只做像素。像素层算差集区域和位移;结构层比 DOM 与设计节点树的层级、间距、字号、颜色值;样式层比对 token 引用有没有写死裸值。三层各出一份结构化报告,而不是一张热力图。 第三环是归因,这才是 agent 该干的活。输入不是截图,是上一环的结构化 diff,比如“卡片右下间距比设计稿大 6px,来源于 padding: 16px,token 应为 space-12”。agent 拿着证据去找代码位置,输出补丁建议。这一步的关键约束是:只允许它修改有 diff 证据的样式,不许顺手“优化”别的地方,否则自动化的结果就是不可控。 第四环是验证与收敛。打上补丁后重新截图,diff 收敛到阈值以下才算通过;不收敛就带上一次的失败记录重试,重试次数上限设死,别让它无限循环烧 token。 第五环是兜底,人只在两个位置出现:一是定期抽检标注一批样本当标定集,用人工结论校准判定阈值,让系统知道自己错在哪类;二是设计意图类的终审,比如视觉重心、层级是否被破坏,这类机器判定不了。而且 agent 只提议不签字,最终通过与否由阈值和人工定。 还要提前想好面试官大概率追问的两个点。一是如何防止 agent 把“改得像”变成“改坏别处”,答案是 diff 白名单加回归集,每次改动必须全量回归且差异只允许落在白名单区域。二是如何衡量这套系统本身好不好用,答案是用标定集算两个指标:漏报率(真问题没抓到)和误报率(报了假的),并且按组件类型分别统计,因为表格类和卡片类的误报率通常差很多。 一句话给面试官:把它做成采集、分层 diff、证据驱动的 agent 归因、回归收敛、人工标定五段式流水线,agent 只负责有证据的定位和提议,判通过与否交给阈值和抽检,准确性从标定集里持续校准。