Browser Agents' Bitter Lesson: Harness Engineering Should Be Dismantled as Models Get Stronger
This explains a key principle for developers building browser agents: as models improve, the need for custom 'harnesses' to define actions and states decreases, making the process more efficient.
Browser Use, a browser automation tool, proves that as models get stronger, the 'harness engineering' around them should be dismantled. In 2024, the team had to manually define state and action spaces for GPT-4o. By 2025, they introduced JavaScript execution and a persistent notebook, allowing models to write code directly. This reduced token consumption by 60% for Opus 4.8 and 66% for Kimi K3 while completing all 18 tasks. The bottleneck shifted to what the model could observe, leading them to use CDP for direct DOM access. They also stopped building their own agent loop, instead reusing established coding assistants like Pi and Codex.
模型越强,Harness 越该拆:Browser Agents 的苦涩教训 @browser_use 联创 @gregpr07 用自家 Browser Use 两年的演进证明,模型能力越强,围绕模型搭建的 “Harness Engineering” 就越应该被拆掉:从人工定义的点击/输入动作,一路收缩到给模型一个能直接写代码的浏览器原始接口(CDP)。这是 Rich Sutton 著名 “Bitter Lesson” 在浏览器智能体领域的一次完整实证。 browser-use.com/posts/bitter-l… # 论证脉络:一次持续两年的“做减法” 1. 起点 -- 人定义一切(2024 年 11 月) 产品发布时 GPT-4o 尚未针对 computer use 训练,团队必须显式定义状态空间(页面有什么、哪些可点)和动作空间(点击、输入、滚动)。harness 决定模型看什么、做什么。问题在于浏览器自动化是极端案例的博弈,每种异常都需要一次人工修复。 2. 动作自由化 -- 让模型写代码(2025 年 9–10 月) 引入 JavaScript 执行和持久化 notebook 后,模型从“从菜单里挑动作”变成“写程序完成任务”。画签名、循环遍历这类需求不再需要新增专用动作。关键证据是 Hermes 智能体案例:用单个 browser_exec 工具替换 12 个浏览器工具后,Opus 4.8 的 token 消耗下降 60%,Kimi K3 下降 66%,且两者都完成了全部 18/18 次任务运行——效率与可靠性同时提升,而非此消彼长。 3. 观察自由化 -- 撤掉预定义状态 动作开放后,瓶颈转移到“模型能看到什么仍由人决定”。典型失败:cookie 按钮就在屏幕上,却因无障碍树未暴露而永远进不了模型视野;文中 EHR 下拉菜单的例子(open shadow root → 跨域 iframe → closed shadow root)说明任何状态提取启发式都预见不了所有网站结构。解法是让模型直连 CDP,自己决定该截图、查 DOM 还是看某个 frame。 4. 接口最简化 + 外壳复用 -- 为什么选 CDP 而非 Playwright:CDP 是 Chrome 原生协议,位于 Playwright 抽象之下;Playwright 的定位器无法穿透 closed shadow root,CDP 可以。同时,团队不再自研 agent 循环,而是复用 Pi、Codex、OpenCode 这些经数百万人检验的编码智能体;文中坦承了一个自研循环里 compaction 自我触发的 bug,作为“不要自造轮子”的注脚。 # 深层解读:它真正在说什么? 1. 这是 Sutton “Bitter Lesson” 的第三次移植,也是最彻底的一次。 Sutton 2019 年的原文说的是:依赖算力增长的通用方法终将胜过注入人类知识的专用方法。此前业界已把这个逻辑套用到框架层,本文把它推进到观察与动作的粒度:人工设计的中间表示(预定义状态、动作菜单)不是在帮助模型,而是在限制它。人类工程师的领域知识从“资产”变成了“负债”。 2. 技术范式发生了一次倒置。 传统自动化是“人定义状态和动作,模型做选择”(经典 RL 式思路);新范式是“模型面对原始接口自己编程”。遥控器换成了编程语言。这个转变之所以现在成立,前提是模型的编码能力已跨过阈值,2024 年不可行的方案在 2026 年成了最优解,这正是“模型在变,harness 就需要重新思考”的含义。 3. 三条原则是文章的可迁移产出:复用经过验证的 agent harness;暴露模型能用好的最简底层接口;让模型自己选择观察与动作。作者明确表示该原理适用于浏览器、电脑、文本、音乐等所有智能体领域;这与 2026 年业界 “最小化 Harness” 共识完全同频。 Gregor Zunic @gregpr07 x.com/i/article/2099… 🔗 View Quoted Tweet 💬 0 🔄 0 ❤️ 0 👀 194 ⚡