微软研究院本周放出了 Webwright——一个 web agent 框架,丢掉了浏览器 DOM 点击和截图坐标预测,转而让 agent 在终端里写 Playwright 代码。架构赌注:把浏览器当作可启动的工具,不是有状态的会话。Agent 接收上下文,返回代码和推理,通过 Terminal Environment 执行,然后把观察结果(日志、截图、返回值)再带回上下文。三个组件,总共约 1000 行:Runner ~150 LOC 协调 loop,Model Endpoint ~550 LOC 处理 LLM 接口,Terminal Environment ~300 LOC 执行所有东西。单 agent loop,无多 agent 编排。对那些看着 browser-agent stack 不断累积 Operator 式 DOM 包装层和截图管线的 builder 来说,这是架构极简主义的动作。
Benchmark:Odysseys(长时多站浏览,任务平均 272.3 词)——GPT-5.4 基线 33.5%,Webwright 配 GPT-5.4 提升到 **60.1%**(相对提升 79.4%)。Odysseys 之前的 SOTA 是 Opus 4.6 的 44.5%,2026 年 4 月设定。Claude Opus 4.7 配 Webwright 完成任务用更少步数(均值 21.9 vs 26.3),但每任务 $6.09 对比 GPT-5.4 的 $2.37——成本/步数权衡是真实且明确的。Online-Mind2Web(300 任务,136 站点):Webwright+GPT-5.4 达到 86.67% 准确率。Qwen3.5-9B 配预构建工具脚本:hard split 上 66.2%。微软诚实记录的工程注意点:模型在没完成时过早声明"done",通过 self-reflection 加 fresh-folder 验证加显式成败判断来缓解;长轨迹上下文爆炸,通过每 20 步压缩历史缓解。
生态解读:这是微软自家 Fara1.5 模型家族(4B/9B/27B)发布后两周内第二个重大 browser-agent 发布。Fara 是模型侧;Webwright 是 harness。两者表达一个连贯姿态——保持模型界面最小,让 Playwright 代码(微软自己的浏览器自动化库,原本为测试设计)承载动作词汇。这与 OpenAI Operator(DOM 树感知,点击坐标)和 Google Antigravity 2.0(浏览器即运行时)是不同的赌注。对 builder 来说含义很具体:如果你写过自定义 DOM 抓取 harness,或在跟截图到坐标预测搏斗,Playwright-code-as-action-language 这条路现在有了一个公开 baseline,在 Odysseys 上超过前 SOTA 15.6 个绝对点。仓库:github.com/microsoft/Webwright。ship 时带一个 Claude Code skill——除了 Claude 订阅外不需要单独的 LLM 密钥,带 project-scoped 或 user-scoped 安装路径。
周一上午:如果你在 ship 一个 web-agent 产品,clone 仓库,把 Odysseys split 跑一遍对比你现在的 harness——苹果对苹果的对比能告诉你,你的 DOM-walker 是在做真正的工作,还是在同一个基础模型上用一个 Playwright 代码生成器会做得更好。1000 LOC 的预算让这个测试很便宜就能 setup。如果你从零开始原型 web agent,Webwright 的形状(Runner / Model Endpoint / Terminal Env)是一个合理的起手分解——小到一晚上能读完,有结构能扩展。Opus 4.7 上的成本/步数权衡也值得在你的预算里显式建模:每任务 $2.37 对比 $6.09 用 Opus,值不值得 4.4 步的减少要看你的 agent 实际是为什么被付钱的。
