教程2026-11-04 · 智涌AI

Agent 浏览器工具怎么选:通过率相近,成本差 13 倍

Agent 浏览器工具选型教程头图:四组工具在 100 个网页任务上的总成本柱状图,Playwright MCP 26.71 美元,Stagehand 1.98 美元

给 Agent 接浏览器,最常见的选择是 Playwright MCP、各家云浏览器的 MCP,或者 Stagehand、agent-browser 这类专门给 Agent 用的工具。LangChain 在 2026-11-03 发了一篇评测,用同一个模型、同一批 100 个网页任务比了 7 套浏览器工具:通过率都在 78% 到 90% 之间,花的钱却差了 13 倍。下面按 LangChain 官方博客和文档(2026-11-04 北京时间查阅),讲清差距出在哪,以及选型和接入时该看什么。

通过率差不多,账单差 13 倍

评测用的是 WebVoyager 的 100 个任务,模型统一为 Claude Sonnet 5.5。7 套工具的通过率落在 78% 到 90%。Stagehand 工具通过率最高(90%),100 个任务总共花了 1.98 美元,单任务中位耗时 17.4 秒。Playwright MCP 通过 78%,花了 26.71 美元,约是前者的 13 倍,单任务耗时也是它的 3 倍。

指标Stagehand对照
WebVoyager 通过率 / 总成本90% / 1.98 美元Playwright MCP:78% / 26.71 美元
平均每任务步数10 步Playwright MCP:26 轮
一次页面导航回传中位 117 字符Browserbase 托管 MCP:中位约 17,000 字符
HardBench 38 个核心任务通过 30 个(写代码的 run)命令式 browse CLI:通过 21 个

这些是 LangChain 在自己的评测集上测的,Stagehand 又是他们推荐的方案,换成你的任务数字会变。差距的方向和原因值得参考。

钱花在哪:回传内容和轮数

每次工具调用的返回值都会进模型上下文。一次导航回来 17,000 字符的页面,和回来 117 字符的摘要,乘上几十轮,token 账单就拉开了。轮数是第二个乘数:每多一轮,模型就要把前面的上下文再读一遍。

浏览器工具省不省钱,看两件事:每次回传多少,一共走几轮。

评测里另有两条发现:

让 Agent 写代码,少走几轮

把一串点击、输入合并成一次执行,是降轮数最直接的办法。评测里,把 Browserbase 的 MCP 工具改成在解释器里用代码批量调用,成本降了 4 倍(17.87 美元到 4.52 美元)。Stagehand 的 run 工具本身就接受代码,支持 Playwright 风格的 page、context、browser 对象。思路和站内讲过的 Code Mode 一样。

代码风格也有讲究。LangChain 试过让 run 改收 Stagehand 原生 API,通过率反而少 5.3 个百分点,每个通过任务的成本高 19%。模型对 Playwright 写法更熟,换成它没见过的 API 就容易写错。

等待也很费时间。Agent 写的 sleep(8) 大部分时间在空等。LangChain 把 run 改成页面安静 500 毫秒就结束等待,不超过 Agent 要求的时长,一次 8 秒的等待 0.6 秒就返回了。配合其他改动,HardBench 上的中位耗时从 182 秒降到 124 秒,准确率在误差范围内。

用 Stagehand 给 Deep Agents 接浏览器

LangChain 文档给的最小接法如下(要求 Python 3.11+、LangChain 1.4.7+、Stagehand 4.3.0+):

pip install langchain-stagehand deepagents langchain-openai
export OPENAI_API_KEY="..."
export BROWSERBASE_API_KEY="..."

然后用 StagehandMiddleware 把一个配好的 Stagehand 客户端挂到 Agent 上:

from deepagents import create_deep_agent
from langchain_stagehand import StagehandMiddleware

agent = create_deep_agent(
    model=...,
    middleware=[StagehandMiddleware(stagehand=stagehand)],
)

Agent 会拿到三个工具:snapshot 读当前页的无障碍树并给可交互元素编号,run 批量执行点击、填写或一段 JS,screenshot 截图。不用另起 MCP 服务器,也不用写浏览器系统提示词。

浏览器放哪也要选。本机或沙箱里的 Chrome 能访问 localhost,适合测自己的应用;Browserbase 这类云浏览器和你的机器隔离,要 API Key,但访问不了你本机的 localhost。托管版 Managed Deep Agents 用 define_browser 声明浏览器,scope 可选按线程或按用户保留会话。

登录这一步,交给人做

浏览器任务最常卡在登录页。把账号密码写进提示词,密码就会出现在模型消息、调用记录里,也会发到模型服务商那边。Managed Deep Agents 的做法是给 Agent 一个 browser_handoff 工具:遇到登录页,Agent 调用它并写明原因,比如「请登录某某网站,我再继续」。你在 LangSmith Studio 里拿到同一个浏览器,自己登录后点 Hand back,Agent 接着往下做。

会话范围决定登录态留多久。scope="thread" 是默认值,每个对话都从一个干净的浏览器窗口开始,不带别的对话留下的 cookie。scope="user" 让同一个用户的多个对话共享 cookie,登录一次,后面的对话都能用;每个对话仍有自己的窗口,不会互相抢着点。浏览器闲置超过 idle_ttl_seconds(默认 600 秒)就会停掉,不为没人用的浏览器付钱。

已经在用 Playwright MCP 怎么办

不一定要换。文档里 Playwright MCP 和 Vercel Labs 的 agent-browser 都列为可选方案。想省 token,可以从这几处下手:

  1. 让 Agent 优先读快照文本,截图只在需要看布局时用。
  2. 能写成一段脚本的连续操作,让 Agent 一次执行完,别一步一调。
  3. 把固定的 sleep 改成等待具体元素或网络空闲。
  4. 按任务统计步数和 token,找出回传最大的那几个调用。

常见坑

完成标准

最后

先别急着换工具。挑 10 个常跑的网页任务,把步数和 token 记下来,看钱是花在回传上还是轮数上,再决定改写法还是换工具。想了解浏览器 Agent 的基本原理,看本站的 Computer Use 入门。

关注公众号「智涌AI速递」

每天的 AI 快讯、实用教程和 AI项目实测,也会同步发到微信公众号。在微信里搜索「智涌AI速递」就能关注;不用微信的话,可以用 RSS 订阅本站。