1Web Agent 的速度困境:为什么它总是那么慢
如果你使用过任何 Web Agent(浏览器自动化 Agent),你一定有过这样的体验:你让它「在电商网站上找到最便宜的手机」,然后你盯着屏幕,看着它一步一步地打开浏览器、导航到网站、点击搜索框、输入关键词、点击搜索按钮、滚动页面、读取价格……每一步都像是在慢动作回放。
这就是 Web Agent 的速度困境:每一个操作都需要等待网页加载、DOM 渲染、JavaScript 执行完成,然后才能进行下一步。一个 10 步的任务可能需要 30 秒到 2 分钟——而同样的任务,人类只需要 5 秒。
2026 年 5 月,研究者发布了 Skim 推测执行框架,将 Web Agent 的速度提升了 3 倍。这不是通过优化网页加载速度实现的,而是通过一种全新的执行范式——推测执行(Speculative Execution)。
Skim 的核心洞见是:Web Agent 的慢不是因为网络慢,而是因为它是串行的。传统的 Web Agent 采用「思考 → 行动 → 观察 → 思考」的严格串行模式——每一步行动后都必须等待观察结果,才能决定下一步行动。Skim 打破了这种串行模式,让 Agent 提前推测多个可能的行动路径,并发执行,然后选择正确的那条。
AI Master 的核心观点:Web Agent 的速度瓶颈不在于 LLM 的推理速度,也不在于网络延迟,而在于「每步必须等待上一步结果」的串行架构。 打破串行,就能突破速度极限。
更深层的问题:为什么这个瓶颈被忽视了这么久? 因为过去两年,整个行业的注意力都放在了提升 LLM 的能力上——让模型更聪明、更准确、更能处理复杂任务。但没有人停下来问:即使模型足够聪明了,它执行任务的方式是否最优?Skim 的出现回答了这个被忽视的问题——不需要更聪明的模型,只需要更聪明的执行方式。
💡 前置收获: 理解 Web Agent 的执行模式需要了解 AI Agent 的基本架构。AI Agent 入门:从概念到实现(agent-001)详细介绍了 Agent 的思考-行动-观察循环,这是理解 Skim 推测执行的前提。
在评估 Web Agent 性能时,不要只看「任务完成率」,还要看**「单位时间完成的任务数」**。一个 90% 成功率但耗时 2 分钟的 Agent,可能比 80% 成功率但耗时 20 秒的 Agent 实际效率更低。
Web Agent 的等待时间中,网页加载通常占 60%-80%。这意味着即使 LLM 推理速度提升 10 倍,整体速度也只提升 2-3 倍。真正的加速必须在页面等待时间上做文章。
2推测执行:从 CPU 到 Web Agent 的跨领域灵感
推测执行并非 Web Agent 的原创想法。它的灵感来自计算机体系结构——现代 CPU 中的分支预测(Branch Prediction)技术。
在 CPU 中,当遇到条件分支(if-else)时,CPU 不会等待条件计算完成后再执行,而是预测条件会走哪个分支,提前执行那个分支的指令。如果预测正确,就节省了大量时间;如果预测错误,就丢弃已经执行的结果,回退到分支点重新执行。
Skim 将这一思想应用到了 Web Agent 中:
第一步:草稿生成(Draft Generation)。用一个小型、快速的模型(通常是 Agent 自身的主模型,但用更少的 token 和更短的上下文)快速生成多个可能的行动序列。例如,对于「找到最便宜的手机」这个任务,草稿模型会生成 3 条候选路径:(A)搜索「手机」→ 按价格排序 → 读第一个;(B)搜索「手机」→ 逐个比较价格;(C)直接导航到手机分类页 → 找最低价。
第二步:并发执行(Concurrent Execution)。将这 3 条候选路径同时发送到浏览器执行。注意,这里不是顺序执行 3 条路径,而是并发执行——利用浏览器的多标签页能力,同时打开 3 个标签页,分别执行不同的路径。
第三步:结果验证(Verification)。用一个大型、精确的模型检查 3 条路径的执行结果,选出正确且最优的那条。验证模型检查的是:路径是否成功完成?结果是否正确?是否有更优的路径?
第四步:提交(Commit)。提交验证通过的结果,关闭其他标签页。如果所有路径都失败了,回退到传统的串行执行模式。
这个过程的核心 trade-off 是:草稿模型越快、候选路径越多,加速潜力越大;但验证成本也越高。Skim 的设计目标就是在这个 trade-off 中找到最优平衡点。
一个直观的理解方式:推测执行就像「多路并进」。想象你要从 A 地到 B 地,但不确定哪条路最快。传统方法是走一条路,如果走错了就返回来再试另一条。推测执行是同时派出 3 个人走 3 条不同的路,第一个到达的人告诉你正确的路线,其他人就不需要继续走了。在 Web Agent 的场景中,「派出 3 个人」的成本(3 个浏览器标签页的内存和 CPU)远低于「走错路再返回」的成本(等待页面加载 + 重新导航)。
推测执行的关键在于候选路径的质量。如果草稿模型生成的候选路径都很差,并发执行再多也是浪费时间。建议使用任务特定的草稿模型——针对常见 Web 任务类型(搜索、导航、表单填写)训练专用的轻量草稿模型。
并发执行会显著增加资源消耗。每个并发路径都需要一个独立的浏览器上下文(内存、CPU、网络带宽)。Skim 在论文中建议并发度不超过 5 条路径,否则资源消耗可能超过加速带来的收益。
3Skim 架构深度解析:三层设计
Skim 框架由三个核心组件构成,每一层都承担着特定的职责。
第一层:草稿器(Drafter)。草稿器是 Skim 的「想象力引擎」。它接收用户的任务描述和当前页面状态,快速生成 K 条候选行动序列(K 通常取 3-5)。草稿器的设计有以下特点:
首先,它使用简化版的上下文——只包含当前页面的关键 DOM 元素(标题、链接、按钮),而不是完整的 DOM 树。这将上下文大小从平均 50K tokens 压缩到 5K tokens,大幅降低了推理时间。
其次,它采用贪婪解码(Greedy Decoding)而非采样——不追求多样性,而是追求速度。这意味着草稿器生成的候选路径可能不够创新,但速度极快——通常在 200-500ms 内完成。
最后,草稿器会生成路径置信度——每条候选路径都有一个预估成功率。这帮助验证器优先检查更可能的路径,在验证预算有限的情况下最大化收益。
第二层:执行器(Executor)。执行器负责将候选行动序列并发地发送到浏览器执行。它使用 Playwright 的多上下文能力,为每条候选路径创建一个独立的浏览器上下文。执行器的核心挑战是资源管理——当并发度很高时,需要动态调整每个上下文的资源配额,避免系统崩溃。
第三层:验证器(Verifier)。验证器是 Skim 的「裁判」。它接收所有候选路径的执行结果,判断哪条路径是正确且最优的。验证器的工作比草稿器复杂得多——它需要理解任务的语义,评估结果的准确性,并在多条路径之间做出选择。
验证器的设计有一个巧妙的优化:早期退出(Early Exit)。如果验证器发现某条路径的结果明显正确且最优,它可以提前终止验证,不需要检查所有路径。这在高置信度场景下可以节省 30%-50% 的验证时间。
验证器的实现细节值得深入讨论。 在 Skim 的论文中,验证器使用了一个两阶段的验证策略:第一阶段是快速筛查——用简单的规则(如「页面是否包含关键词」「是否成功导航到目标 URL」)快速排除明显错误的路径。这个阶段通常只需要 50-100ms。第二阶段是深度验证——对通过筛查的路径进行语义级别的评估(如「找到的价格是否是最低」「表单填写是否完整准确」)。这个阶段需要调用大模型,耗时约 200-400ms。两阶段策略的好处是:大多数错误路径在快速筛查阶段就被排除了,不需要进入昂贵的深度验证阶段,从而大幅降低了整体验证成本。
如果你要自己实现 Skim,建议从草稿器开始——它是整个系统的核心。可以先用一个简单的模板生成器代替 LLM 草稿器,验证并发执行和验证器的设计,然后再逐步替换为更智能的草稿模型。
验证器的早期退出优化有一个隐蔽的风险:如果验证器过早退出,可能会错过更优的路径。建议设置最小验证数量——至少验证 2 条路径后才允许退出,以避免单一路径的误判。
4性能评估:Skim 真的快 3 倍吗
Skim 的研究团队在多个标准 Web Agent 基准测试上评估了推测执行的效果。以下是关键数据:
WebVoyager 基准测试。这是一个包含 350 个真实网页任务的基准测试。基线 Agent(无推测执行)的平均完成时间为 87 秒。使用 Skim 后,平均完成时间降至 29 秒——3 倍加速。任务完成率从 68% 提升到 71%——推测执行不仅加速,还略微提高了成功率(因为多条路径并发执行增加了「蒙对」的概率)。
MiniWoB++ 基准测试。这是一个模拟网页交互的轻量基准测试。基线 Agent 平均需要 12.3 步完成任务,总耗时约 6.2 秒。使用 Skim 后,步数减少到 8.1 步(因为并发执行跳过了无效路径),总耗时降至 2.4 秒——2.6 倍加速。
真实电商场景测试。研究者让 Agent 在 5 个主流电商网站上完成「找到最低价商品」任务。基线 Agent 平均耗时 45 秒。使用 Skim 后降至 16 秒。关键发现是:在结构化网站(如 Amazon)上加速更显著(3.5 倍),而在非结构化网站(如小型独立电商)上加速较弱(1.8 倍)。这是因为结构化网站的 DOM 更规范,草稿器生成的候选路径质量更高。
资源消耗分析。Skim 的加速不是免费的。并发执行导致内存消耗增加约 2.5 倍,网络请求增加约 3 倍。但在大多数场景下,这仍然比「串行等待更长时间」更划算——因为等待时间消耗的是用户的耐心,而资源消耗消耗的是服务器成本。
资源消耗的另一个维度是网络请求的频率。 每条并发路径都会发起独立的 HTTP 请求,这意味着如果并发度为 5,同一时刻会有 5 组请求发送到同一个网站。这可能触发网站的反爬虫机制——包括请求频率限制(Rate Limiting)、IP 封禁、以及行为分析检测。在实际部署时,必须加入请求间隔随机化和User-Agent 轮换,让并发路径的请求模式更接近正常用户的浏览行为。此外,还可以利用请求合并技术——当多条路径需要加载相同的资源(如 CSS、JavaScript 文件)时,浏览器可以利用 HTTP/2 的多路复用能力共享这些资源,从而减少实际的网络请求数。
不同并发度的对比:
并发度为 2 时,加速倍数为 2.1 倍,资源增加 1.8 倍。并发度为 3 时,加速 2.8 倍,资源增加 2.5 倍。并发度为 5 时,加速 3.2 倍,资源增加 4.1 倍。并发度为 8 时,加速 3.0 倍,资源增加 6.5 倍(出现了收益递减)。最佳并发度为 3-5,超过 5 后加速收益被资源消耗抵消。
| 并发度 | 加速倍数 | 资源增加 | 净收益 | 推荐场景 |
|---|---|---|---|---|
2 | 2.1x | 1.8x | 高 | 资源受限环境 |
3 | 2.8x | 2.5x | 最高 | 大多数场景 |
5 | 3.2x | 4.1x | 中等 | 性能优先场景 |
8 | 3.0x | 6.5x | 负 | 不推荐 |
从性能数据可以得出一个实用结论:并发度设为 3 是最佳起点。它在加速(2.8 倍)和资源消耗(2.5 倍)之间取得了最佳平衡。只有在资源充足且速度要求极高的场景下,才考虑将并发度提升到 5。
性能测试中的加速倍数是在理想网络条件下测得的。在真实环境中,如果网页加载本身就很慢(如 3G 网络),推测执行的加速效果会打折扣——因为并发执行的瓶颈从「浏览器上下文切换」变成了「网络带宽」。
5三种 Web Agent 加速方案对比
Skim 不是唯一的 Web Agent 加速方案。为了全面评估它的价值,需要将它与其他主流方案进行对比。
方案一:DOM 缓存加速。核心思路是缓存页面的 DOM 结构,在后续操作中直接使用缓存而不是重新加载。这种方法对重复访问同一页面的场景效果显著(如多次搜索不同关键词),但对首次访问无效。加速幅度约 1.5-2 倍。
方案二:头less 浏览器优化。通过优化 Playwright/Puppeteer 的配置来减少浏览器启动时间和页面加载时间。具体手段包括:禁用图片加载、关闭 CSS 渲染、使用无头模式、预加载 DNS。这种方法对所有场景都有帮助,加速幅度约 1.3-1.8 倍。
方案三:Skim 推测执行。与前两种方案不同,Skim 不优化单步速度,而是通过并发执行减少总步数。它的加速幅度最大(2.5-3.5 倍),但资源消耗也最高。
三者可以组合使用。实际上,Skim 的执行器本身就依赖头less 浏览器优化——如果每个并发上下文的页面加载都很慢,推测执行的效果会大打折扣。最佳实践是:先做浏览器优化(1.5 倍),再加 DOM 缓存(叠加到 2 倍),最后加 Skim 推测执行(叠加到 4-5 倍)。
AI Master 的判断:推测执行是 Web Agent 加速的「最后一公里」技术。 在它之前,必须先做好基础优化(浏览器配置、DOM 缓存),否则推测执行的效果会被底层低效所抵消。
| 方案 | 加速倍数 | 资源消耗 | 适用场景 | 实现难度 |
|---|---|---|---|---|
DOM 缓存 | 1.5-2x | 低 | 重复访问 | 简单 |
浏览器优化 | 1.3-1.8x | 极低 | 所有场景 | 简单 |
Skim 推测执行 | 2.5-3.5x | 高 | 多路径任务 | 复杂 |
组合方案 | 4-5x | 高 | 生产环境 | 中等 |
实施加速方案时,建议按以下顺序进行:先优化浏览器配置(5 分钟),再添加 DOM 缓存(1 小时),最后集成 Skim(1 天)。每一步都有明确的收益,且不会互相冲突。
DOM 缓存有一个严重的风险:缓存过期。如果页面内容在缓存期间发生了变化(如价格更新、库存变化),缓存的 DOM 将导致 Agent 基于过时信息做出决策。必须设置合理的缓存过期策略(建议 TTL 不超过 30 秒)。
6Skim 的工程实现挑战
虽然 Skim 的理论框架很优雅,但在实际工程实现中,有几个关键挑战需要解决。
挑战一:浏览器上下文隔离。并发执行要求每条候选路径运行在完全隔离的浏览器上下文中——不同的 cookie、不同的 session、不同的 localStorage。否则,一条路径的操作可能影响另一条路径的执行结果。Playwright 提供了 browser.newContext() 来创建隔离上下文,但每个上下文仍然共享底层的浏览器进程,在极端情况下可能互相干扰。
挑战二:动态页面的时序问题。Web 页面是高度动态的——JavaScript 可能随时修改 DOM、触发 AJAX 请求、弹出对话框。Skim 的并发执行要求所有路径的页面状态变化是独立的,但某些全局事件(如浏览器级别的弹窗、网络中断)可能同时影响所有路径。
挑战三:验证器的判断标准。验证器需要判断哪条路径是「正确且最优」的,但这个判断本身是模糊的。什么算「正确」?什么算「最优」?在搜索场景中,正确意味着找到了目标商品,最优意味着找到了最低价。但在更复杂的场景中(如填写表单),正确和最优的定义可能不明确。
挑战四:错误恢复。当所有候选路径都失败时,Skim 需要回退到串行执行模式。但这个回退本身是一个状态管理问题——并发执行可能已经改变了页面的某些状态(如点击了某个按钮、输入了某些文本),回退时需要撤销这些操作或重新导航到初始状态。
AI Master 的建议:在实际工程中,不要试图一次性解决所有挑战。 先实现最简单的版本——串行草稿 + 单路并发执行 + 简单验证器——验证基本的加速效果。然后逐步处理各个挑战,每次只解决一个,测试通过后再进入下一个。
对于浏览器上下文隔离的挑战,建议使用 Chromium 的 site isolation 功能——它为每个标签页创建独立的进程,从根本上避免了共享进程的干扰。代价是内存消耗增加约 30%,但在并发度为 3-5 的情况下仍然可接受。
错误恢复是 Skim 实现中最容易出 bug 的环节。一个常见的错误是:回退时只关闭了并发标签页,但没有清除 cookie 和 localStorage。这导致下一轮推测执行时,页面状态与预期不符。建议在回退逻辑中加入完整的状态清理步骤。
7Skim 与其他 Agent 加速技术的融合前景
Skim 推测执行不是终点,而是 Web Agent 加速技术演进的一个里程碑。未来几年,它将与多种技术融合,产生更强大的加速效果。
与模型蒸馏的结合。当前的 Skim 使用同一个模型作为草稿器和主 Agent——只是草稿器使用更短的上下文和贪婪解码。未来的方向是蒸馏一个专用的草稿模型——用主模型的知识训练一个更小、更快的草稿模型。这个专用草稿模型可以在 50-100ms 内生成候选路径,比当前的 200-500ms 快 2-5 倍。
与缓存机制的深度集成。Skim 当前每次并发执行都重新加载页面。未来的版本将集成智能 DOM 缓存——对于已知的页面结构和操作序列,直接复用之前的执行结果,跳过不必要的页面加载。这将把加速从 3 倍 提升到 5-8 倍。
与多模态理解的结合。当前的 Skim 草稿器只基于文本和 DOM 结构生成候选路径。未来将引入视觉理解——让草稿器「看到」页面的截图,利用视觉信息(如按钮颜色、图标位置、布局结构)来生成更准确的候选路径。这将显著提升草稿模型在非结构化网站上的表现。
与 Agent 编排框架的集成。LangGraph、CrewAI 等 Agent 编排框架提供了高级的任务分解和调度能力。Skim 可以与这些框架集成——由编排框架负责任务分解,Skim 负责每个子任务的加速执行。这将使 Skim 从「单个 Agent 的加速技术」升级为**「多 Agent 系统的加速基础设施」**。
AI Master 的趋势预判:2026 年下半年,Web Agent 的加速将不再是研究课题,而是工程标配**。就像 Web 开发中的 CDN 和缓存一样,推测执行将成为 Web Agent 框架的标准组件,而不是可选的优化插件。
如果你正在构建 Web Agent 产品,建议现在就预留推测执行的接口。即使暂时不实现,也要在架构设计上支持多上下文并发执行——这比事后重构容易得多。
多模态理解的引入会增加草稿器的计算复杂度。截图分析和 DOM 分析是两种不同的推理模式,合并后的草稿模型可能比单独的 DOM 模型慢 2-3 倍。需要在准确性和速度之间做 trade-off。
8从 Skim 看 Web Agent 的范式转变
Skim 推测执行框架的意义不仅仅在于速度提升 3 倍,更在于它揭示了 Web Agent 领域的一个范式转变。
从串行到并行的转变。过去的 Web Agent 设计假设:Agent 必须一步一步地行动,因为每一步都依赖前一步的结果。Skim 证明了这个假设是错误的——在许多场景下,Agent 可以提前推测多个可能的路径,并行执行,然后选择正确的那个。这个转变类似于编程范式中从同步到异步的转变。
从确定性到概率性的转变。传统的 Web Agent 追求每一步都正确——它需要一个 100% 准确的策略。Skim 接受了一个更现实的假设:每一步都可能有多个合理的行动,与其花大量时间确定「最正确」的那一个,不如同时执行多个合理的选择,让结果来决定。这是从「完美主义」到「实用主义」的转变。
从单模型到多模型的转变。Skim 的草稿-验证架构揭示了一个重要的设计原则:不需要一个模型做所有事情。草稿模型可以小、快、不完美;验证模型可以大、慢、精确。这种分工比「一个全能模型」更高效。这与 CPU 中的大小核架构(big.LITTLE)有异曲同工之妙。
AI Master 的总结:Web Agent 的未来不在于让单个模型更聪明,而在于让多个组件更聪明地协作。 Skim 是这个方向上的第一步——它证明了通过架构创新,可以在不提升模型能力的前提下,大幅提升 Agent 的整体性能。
💡 前置收获: 理解多模型协作范式需要了解 AI Agent 框架的对比。Agent 框架对比:LangGraph、CrewAI、AutoGen(agent-007)详细介绍了不同框架的架构设计,其中的「编排 vs 执行」分离思想与 Skim 的草稿-验证架构高度一致。
这个范式转变对所有 Agent 类型都有启发——不仅仅是 Web Agent。机器人 Agent、代码 Agent、数据分析 Agent 都可以从「并行推测」的思路中受益。关键问题是:在你的领域中,哪些步骤可以提前推测?
范式转变不是一蹴而就的。Skim 目前仍处于研究阶段,距离生产级别的可用性还有距离。在将其集成到生产系统之前,建议先在非关键任务上进行充分测试,确保加速不会引入新的失败模式。