浏览器是新终端:驱动它的工具该怎么设计

2026 年 11 月 3 日,LangChain 的 Harrison Chase 把浏览器称作新的终端。同一天的工程复盘给了可核对的量级:模型与任务固定,只换驱动浏览器的工具集,单任务成本从 1.98 美元到 26.71 美元,单次导航返回从 117 个字符到约 17,000 个字符。

这两组数字已经把答案指出来了。在同一个任务里,上下文增长多快、一次调用能推进多远、状态由谁保存,全部由工具层决定,而不是由模型参数决定。浏览器智能体的上限,首先是被工具接口的形状卡住的,而不是被模型的记性卡住的。

浏览器是新终端,但成本与成败的分水岭在工具层

同样是让模型操作网页,决定成本与上下文增长速度的是工具层返回什么、几轮、几次往返,而不是模型够不够强。LangChain 在 WebVoyager 的 100 个日常任务上固定了 Claude Sonnet 5.5 与同一个评委,只更换七套工具:通过率被基准的饱和效应压平在 78% 到 90% 之间,成本却相差约 13 倍,Stagehand 三件套总花费 1.98 美元、单任务中位 17.4 秒,Playwright MCP 花 26.71 美元、耗时约三倍LangChain.

最刺眼的差距在返回量与轮数。同样是导航到新页面,Browserbase 托管的 navigate 工具中位返回 16,968 个字符,不管模型要不要;Stagehand 的 run 由片段自己决定返回什么,一次导航只回 117 个字符,相差约 145 倍。单任务模型轮数一边是 26,一边是 10。一次 Playwright 的 click 在协议层要拆成五次 CDP 调用:滚动到元素、读位置、移动鼠标、按下、松开,每次都要等上一个响应,于是一次点击就是五次往返。

这些数字必须连同口径一起读。它们是 LangChain 自测,单一模型、单一评委、单一数据集,被选中的 Stagehand 出自 Browserbase,其成员在文末致谢名单里;博客正文与它链接的 PR 是两轮不同运行,绝对值不同,不能拼成一张表。WebVoyager 本身已被作者判为接近饱和,所以它能干净地比成本与速度,区分不出浏览能力的上限。推文是个人判断,不是行业共识。

工具形态的分野可以归纳成四种。博客开篇列了 native tools、MCP server、CLI 三种,在对比处又按调用方式分了 native tools、CLI、code mode 三类,四类是把两处表述合并后的结果,不是原文的清单。更关键的一条口径是:工具面与传输方式是两个轴,同一个 MCP server 可以被逐个调用,也可以被代码批量调用。

四种形态的差别不在名字,而在一次调用能推进多少步、以及有多少中间结果被迫进入上下文。

形态一次调用粒度代表实现与工具面已知弱点
native tools1 个动作Playwright MCP 25 个工具、browser-use 16 个轮数与 token 双高
MCP1 个动作Browserbase 托管 MCP,6 个工具负载不可控,navigate 只接受 sessionId 与一句自然语言
CLI1 条命令agent-browser、browse CLIshell 里可以任意 sleep,工具层拦不住
code modeN 个步骤Stagehand 三件套、从代码里调 MCP工具本身已原子时收益有限

工具形态之所以能被这样横向比较,前提是浏览器早就变成了一个可编程、可重置、可度量的环境。2024 年底的 BrowserGym 生态论文把这件事固定下来:统一的 gym 式观测与动作空间,观测里带每个元素的唯一标识 bid、包围盒与可见性;AgentLab 把多个基准收进同一个实验台,六个模型乘八个基准行共 5,978 个 episodeBrowserGym. 每条任务开始前重置浏览器与后端,是这套基础设施的明文约定。

BrowserGym 生态总览

图注:AgentLab 与 BrowserGym 的生态总览:上方是实验台,下方是统一环境接口,框内列出该生态覆盖与考虑接入的网页基准,右侧是复现、排行榜与轨迹分析。它说明浏览器已经变成一个可编程、可重置、可度量的环境,而不是只能被爬取的页面集合。BrowserGym

这套约定解释了后面所有讨论的物理边界:每个 episode 都从干净状态开始,任务之间的状态不会自动延续。它也留下一个诚实的空白:原文没有给出成功率随步数衰减的曲线,只有最大步数与平均步数两个跨基准数字,任何衰减系数都不能从这里推出来。

裁剪观测不一定更好,点错也可能出在接口层

看什么格式和怎么点是一起决定的。观测的最优表示随模型能力与思考预算移动,没有一种格式通吃;一次点错,值得先查寻址方式与状态是否过期,再怀疑模型看不清。

2026 年 9 月的一篇效率综述把 GUI 智能体的开销拆成四条轴:观测、上下文与记忆、动作、规划器与系统,四条轴挂在同一条 observe–plan–act–verify 的环上GUI-Survey. 四条轴里,观测与动作在这里交汇:看见什么决定能不能点对,怎么点又决定需要看见多少。该综述只覆盖到 2026 年 9 月,这里只用它定位,不用它给结论。

GUI 智能体的四条效率轴

图注:GUI 智能体的五段闭环,以及四条效率轴各自挂在哪一段:观测效率挂在感知,上下文与记忆效率挂在 prompt 构造,动作效率挂在执行,规划器与系统效率挂在推理与运行时。这张图只用来定位,图中没有效率数字。GUI-Survey

裁剪观测不一定更好。NEC 的研究者在 WorkArena L1 的 330 个任务、15 个模型配置上做了受控复测,结论是紧凑的可访问性树有利于低能力模型,完整的 HTML 有利于高能力模型,而且思考预算越高,HTML 的收益越大ObsReduce. Claude Sonnet 4.6 从 52.4% 升到 67.0%,gpt-5.1 在高思考档从 55.8% 升到 73.3%,同一模型的低思考档只升 8.8 个百分点。

反方向同样清楚。o3-mini 从 39.7% 掉到 32.1%,gpt-oss-20b 从 46.4% 掉到 27.6%,同族小模型的退化更大。代价侧的差距是数量级:每步输入 token 在可访问性树下是 6,720,在 HTML 下是 56,653。所以“更省”与“更准”必须放在同一张图上看,单看 token 会得出相反的建议。

HTML 与可访问性树的成功率对照

图注:左图低能力模型从 HTML 转向可访问性树后成功率上升,右图高能力模型做同一转向后成功率下降;横轴是每步平均输入 token,且为反向刻度,所以更省与更准必须同时读。图只覆盖 WorkArena L1,橙色数字是原文以 thinking tokens 标注的数值。ObsReduce

错误分析给出了机理。从可访问性树切到 HTML 时,gpt-oss-20b 引用不存在元素 id 的 Not-found 错误大幅增加,gpt-5.1 几乎不变,gemini-2.5-flash 则在低思考预算下大增、高预算下被抑制;而点击被重叠元素拦截的 Intercepted 错误在所有模型上都减少,高能力模型减少更明显,作者推测原因是 HTML 里带着 CSS z-index 的叠放信息。结论带着前提:单一站点、只用 id 寻址、机理解释未经消融。

观测历史是另一件事:过去几步的观测放进上下文,在几乎所有模型与设置上都是正收益;改成字符级 diff 后,输入 token 从 39,011 降到 13,670,效果在部分模型上不劣于完整历史。

点错未必是视觉定位问题,接口层的引用过期与布局变更也会造成同类失败。微软研究院等的 HCU 把同一台桌面同时用三条通道暴露给模型:程序化的代码与 shell、语义的可访问性树、视觉的截图与像素输入,由模型自己组合HCU. 它在动作发出前放了两道守卫:AX 目标守卫把引用解析成活元素,目标缺失或已被替换时拒绝执行,并且不会退而求其次去找同名元素;GUI 布局守卫比较当前窗口布局与截图绑定的布局,不一致就阻断输入并回传新截图。

HCU 的三通道与两个守卫

图注:上半是三条通道与两个守卫的位置,下半是紧凑 AX 视图、批量动作加 wait、以及返回的 effect 摘要与 AX diff。图里没有数字,不能用它推算省了多少 token 或多少步。HCU

下半部分把观测与动作打包成一次调用:模型看到裁剪后的紧凑 AX 视图,发出最多 64 个有序动作加一个 wait 步骤,返回每个目标的效果摘要与相对上次快照的 AX diff,并区分“输入已送达”与“效果已验证”。这套设计面向桌面 OS,不是浏览器内网页自动化的现成方案,但它给出一条可操作的排查顺序:先查引用是否还指向活元素、布局是否已经换过,再怀疑视觉定位。

记不住分成四层,装个向量库只覆盖了其中一格

记不住不是一个存储问题,而是四种生命周期的层各记不同的东西。把“给智能体装个向量库”当成记忆方案,只覆盖了其中一格。

这套分层不是新词。2023 年的 Generative Agents 已经把记忆流、检索、反思、计划写回做成闭环:感知进入记忆流,检索出相关记忆用于行动,计划与反思再写回记忆流GenAgents. 作者当时的动机就是完整记忆流塞不进上下文窗口,代价是 25 个 agent 模拟两天烧掉数千美元 token 额度、耗时数天。

Generative Agents 的记忆流架构

图注:感知进入记忆流,检索出的记忆用于行动,计划与反思再写回记忆流。图里没有检索权重、公式与数值,它只说明这套分层的原始形状。GenAgents

2026 年修订的一篇记忆综述把这套东西整理成三个正交维度:存成什么形式、承担什么功能、服务谁,它的文献语料止于 2025 年第四季度AgentMemory. 第一个维度里,外部记忆有四种实现形态,向量索引只是其中之一;内部记忆有三种,权重、隐状态与 KV cache。第二个维度把认知记忆分成短时与长时两组,短时负责筛选与抽象,长时负责固化成可复用的知识与技能。

三个经常被混用的词可以这样切开。该综述没有专设一节讲这组边界,下面的切分是从它三处原文综合出来的,属于二手判断。

做法对应概念主要代价
把历史塞回窗口上下文工程token 随步数线性增长,迟早溢出
存起来再检索RAG,外部记忆的一种实现构造与检索都会丢证据
抽象成知识语义与程序记忆的固化抽象会遮蔽证据,错误也可能被一起固化

四层里,程序记忆这一层的失效在环境演化下有直接测量:受控的自托管实验中,池化任务成功率在漂移条件下明显下降,作者也说明这类结果不能直接当作真实开放网页的退化率。一段可复用的操作套路,在站点改版之后就不再局部可执行,任务意图没变,失败发生在调用、定位或执行可行性上。这一层的失效可以被分别测量,后面会看到它如何被拆成三条可测量的通道。

压缩不是省事,它会把纠错反馈和证据一起删掉

压缩的失败不是装不下,而是压过的内容学不会。真正有效的省上下文来自源头不让它进来,事后裁剪往往只是让 agent 多跑一趟。

AMBER 把每一步的推理、动作与一条记忆条目写在一起,条目追加进持久记忆库,再作为下一步上下文;策略只学写什么,保留由一条确定性规则决定AMBER. 这套设计要对付的是覆盖式记忆:每一步把固定容量的记忆重写一遍,每条事实能不能活下来,由策略在每一次重写时重新决定。

AMBER 的单步追加式记忆循环

图注:每一步同时产出推理、动作与一条记忆条目,条目追加进持久记忆库,并作为下一步上下文。这张图只画追加式,不含覆盖式或摘要策略,也不能读出任何任务或成本数字。AMBER

覆盖式记忆丢掉的第一样东西是环境的纠错反馈。在覆盖式记忆的轨迹里,仍保留环境反馈的比例随步数衰减为 100.0%、25.6%、7.5%、4.5%、0.8%,四步之后基本归零。后果是同一个无效动作被反复重发:追加式方案每个被拒绝事件平均重发 1.29 次,覆盖式基线是 1.95 次;同一个无效动作被重发六次以上的事件占比,前者是 3.3%,后者是 15.4%。

第二样东西是已经写对的证据。作者把它命名为 recursive-compression loss:覆盖式记忆在重写时会丢掉曾经正确记录过的内容,等到需要时已经取不回来。论文给了两个个例,一个把两位审阅人中的一位丢掉,另一个保留了 4 月的订单却丢了 5 月的一笔记录。作者自陈这只是例子,不是发生频率的估计。

差距的定性落在可学习性上,而不是容量。覆盖式记忆原则上能装下追加式能装的一切,但它必须学会把每条事实一路搬运穿过每一次重写,而在只有终局奖励的稀疏监督下,这个技能学不出来。追加式把保留交给确定性规则,策略只需要学写什么。

策略保留什么谁决定保留本文实测
推理加动作历史过去的推理与动作,丢弃观测固定规则有,WebAgent-R1 基线
覆盖式固定容量每步重写一份紧凑记忆策略在每次重写时决定有,MemAgent 基线
周期性摘要对交互历史定期摘要摘要策略未实测,只出现在摘要与相关工作
追加式每步一条条目,一直保留确定性规则有,AMBER

工程侧还有一组正反对照。code mode 省上下文的原因不是观察得更少,而是中间结果留在代码片段的变量里,只有返回值进入上下文;而事后把快照裁到 8,000 字符无效,agent 会重新取一次页面,每通过任务的成本不变。压缩本身也要付能力税:把压缩当默认协议时,9B 模型的零样本成绩从 34.22% 掉到 21.82%,模型有能力在网页里推理与行动,却不能可靠地生成压缩过的逐步记忆。

加了记忆可能更差:净收益会为负,错误还会被抽象固化

记忆的净收益可能为负。抽象既带来收益也遮蔽证据,而错误会经由再抽象被写第二遍,所以记忆要带出处,原始证据要留一条回退的路。

把“记忆有没有用”变成可核对的账,需要一个参照系。Memory Tax 用朴素 RAG 作参照,把记忆的价值拆成逐题配对的两个量:记忆答对而 RAG 答错的题是 benefit,RAG 答对而记忆答错的是 tax,两者之差就是净价值MemoryTax. 在三个基准、三个骨干、十一个记忆系统的组合里,按总分表逐格汇总,99 格中有 90 格低于第二档 RAG,LongMemEval-s 上 33 格全部为负。这是对原表的机械汇总,不是原文的表述。

记忆与 RAG 的逐题配对

图注:上下两幅按 both correct、benefit、tax、both wrong 四段切分的配对条形图。同一根条上蓝段是记忆答对而 RAG 答错的题,红段是反过来的题;net 是题数差,不是准确率百分点,图里只画了 5 个代表系统。MemoryTax

净价值的符号会随系统与基准翻转,这正是“同一设计在不同题上同时带来收益与损失”的样子。结论必须写成净价值在很多情形下为负,不能简化成记忆无用。读这张图还要记住两把尺子不能混用:总分表对着第二档 RAG,逐题配对对着第一档 RAG。

税源分三层,加上评测侧一层:构造阶段保不住信息,取回阶段证据被埋深、打散或改写,换骨干后掉分比朴素 RAG 更多,而现有基准偏检索友好,留给重型记忆的空间有限。可落地的动作是让偏差可恢复:检索记忆的同时并行回源原始历史,再联合 rerank。在 LongMemEval-s 上,SimpleMem 的准确率从 73.6 升到 82.8,税从 12.0 降到 5.2。

另一条失效通道更隐蔽。只把错误留在轨迹里,属于错误传播;把错误抽象成一条规则再复用,才是错误复现。删掉那条规则并不撤销它在轨迹里留下的痕迹,因为那些轨迹还会被再次抽象,同一个错误被重新读回来Anti-Persistence.

错误传播与错误复现

图注:左栏是错误留在轨迹里被检索复用,中栏是错误规则进入抽象层、影响后续任务、再被抽象一次并回到规则框,右栏是两条路线的五维对照。图里的评分与延迟都是示意性例子,它只说明机制差别,不证明错误必然放大。Anti-Persistence

决定性对照很干净:同一套合成指引,只改用完是否持久化,四个设置里丢弃全部更好,分别高出 28.0、12.3、3.3、6.7 个百分点。落到写入侧就是三条约束:记录发生了什么,而不是认证它是对的;原始结果与派生奖励分列;日志只追加,不改写。机制主张只是“可能”,论文自己反复说明放大并不必然。

跨会话能剩什么,取决于运行时状态而不是提示词

跨会话剩下的东西必须落在浏览器 profile 与任务账本上,并带出处、有效期与回滚路径。提示词里放不住,因为浏览器每次重启都等于世界重置。

持久状态不只是可检索的记忆。一篇编码了 435 篇文献、覆盖到 2026 年 6 月的综述把它扩到任务账本、权限、凭据、承诺、溯源与审计记录、触发条件,以及与这些记录保持链接的外部已提交效果AlwaysOn. 它给了一条很好用的判据:写进去但从不被读取的状态是惰性的,不构成持久状态。

always-on 智能体的演化树

图注:从左下的情景式智能体生长到中央的持久状态枢纽,再分出记忆机制、行动底座、个性化与社会状态、治理与安全、评测五条线索;六条诊断轴从两侧指向目标状态。图中没有数量或占比。AlwaysOn

六条诊断轴把“记不住”拆成可以回答的问题:谁授权它影响行动、覆盖谁、能不能改、从哪来、能不能撤、是不是一条可执行的承诺。生命周期分两弧,前弧从观察到写入、校验、组织、检索、行动,后弧是更新、遗忘、审计、回滚。语料统计显示前弧拥挤、后弧变薄,回滚在 435 篇里只有 27 篇涉及。这些计数是作者自编码语料的估计,复编码一致性只有中等,应读作方向性结论。

这套框架必须和物理约束一起看。AMBER 的训练架构里,一个任务展开成一组 rollout,每个 rollout 有自己的浏览器会话与网站容器,容器挂在租借来的站点虚拟机上,结束后释放AMBER. 浏览器重启,页面状态与任务断点不会自动延续,登录态要靠任务自己的准备步骤重新建立,这是环境设计,不是记忆算法能绕过去的。

rollout 级的浏览器与容器隔离

图注:一个任务展开成一组 rollout,每个 rollout 有自己的浏览器会话与网站容器,容器挂在租借来的站点虚拟机上,结束后释放。这是训练基础设施,不是记忆算法本身。AMBER

环境还会变。SkillShift 把“网页每天都在变”拆成三条可分别测量的通道:调用、定位、执行可行性,任务意图、关键实体、所需功能与判定标准都不变,只改局部执行条件SkillShift. 池化成功率从 40.97% 降到 35.23%,再降到 18.69%;技能失败率从 9.83% 升到 16.70%,再到 27.60%,执行漂移压力最大。

三类受控环境漂移

图注:中心是“学到的技能被复用”的四个前提:任务意图、任务实体、所需功能、判定标准都不变;三条分支分别是调用、定位、执行可行性上的漂移,各给出扰动目标与典型失败。图里没有任何实验数值。SkillShift

一个反直觉的结果是:在目标环境里重学一个静态技能库,反而更差。在 Magento 上,固定源站技能库的任务成功率是 36.84%,重学得到的原生库是 35.09%,而在测试时用当前页面的可行性证据重排候选动作,能到 37.72%。原因是部署时才注入的运行时中断,比如一个全屏遮罩,根本无法被任何静态库预先编码。这套重排不引入新技能,平均成功率相对提升 8.87%。

四条取舍都能对应到上面的证据:观测表示按模型能力与思考预算分档,不要默认裁剪;记忆写入带出处与有效期,抽象与原始证据分开存;压缩保留一条回退到原始历史的路径,并优先在源头拦截;跨会话状态落在浏览器 profile 与任务账本上,带审计与回滚。开放问题仍然存在:跨会话记忆缺一个可照搬的评测协议,profile 与登录态的具体持久化方式材料里只到任务级重置,记忆治理在真实系统里怎么存、怎么测也还没有定论。

参考文献

本专题引用的核心资料如下,建议深入学习时阅读原文:

  1. Efficient GUI Agents: A Systems Survey of Observation, Memory, Action, and Runtime Optimization — arXiv:2609.02309
  2. A Survey of Agent Memory in the Second Half: Towards Self-Evolving and Long-Horizon Agents — arXiv:2602.06052
  3. Always-On Agents: A Survey of Persistent Memory, State, and Governance in LLM Agents — arXiv:2606.30306
  4. AMBER: Training Long-Horizon Web Agents through Append-Only Memory — arXiv:2610.07118
  5. Read More, Think More: Revisiting Observation Reduction for Web Agents — arXiv:2604.01535
  6. Hybrid Computer Use: A Unified Programmatic, Semantic, and Visual Interface for General Agents — arXiv:2610.41432
  7. Memory Tax: Dissecting the Net Value of Agent Memory — arXiv:2610.34073
  8. More Memory, Worse Agents: Error Reproduction and Anti-Persistence in LLM Agents — arXiv:2610.27406
  9. SkillShift-Bench: Benchmarking Skill Learning under Environment Evolution for Web Agents — arXiv:2610.33528
  10. Generative Agents: Interactive Simulacra of Human Behavior — arXiv:2304.03442
  11. The BrowserGym Ecosystem for Web Agent Research — arXiv:2412.05467
  12. How We Optimized Browser Use for Deep Agents — https://www.langchain.com/blog/how-we-optimized-browser-use-for-deep-agents
浏览器是新终端:驱动它的工具该怎么设计