2024年10月Anthropic发布Computer Use API时,业界还在争论"AI到底能不能真正操控浏览器"。18个月后的今天,这个问题已经有了明确答案——不仅能,而且已经催生出一个完整的技术生态。Browser Use以91K+ GitHub Stars成为Agent领域最热门的开源项目,Stagehand凭借act()/extract()/observe()三段式API在TypeScript生态异军突起,Skyvern用计算机视觉绕过CSS选择器死亡陷阱,OpenAI Operator和Claude in Chrome分别代表了闭源浏览器Agent的两条路径,而Agent-E则以层级式架构在学术基准测试中屡创佳绩。
本文将从架构原理、代码实战、基准测试成绩、Token成本、生产落地五个维度,对这六大自主浏览器Agent引擎进行深度拆解。
| 维度 | Browser Use | Stagehand | Skyvern | Operator | Claude in Chrome | Agent-E |
|---|---|---|---|---|---|---|
| 语言/生态 | Python | TypeScript | Python | 闭源API | 闭源Chrome扩展 | Python |
| GitHub Stars | 91K+ | 14K+ | 12K+ | N/A | N/A | 3K+ |
| 感知方式 | DOM-first | DOM+AI hybrid | Vision-first | Vision-first | Vision-first | DOM+Vision |
| 底层驱动 | Playwright | Playwright | Playwright | 自研浏览器 | Chromium注入 | Playwright |
| LLM支持 | 多模型 | 多模型 | 多模型 | GPT-4o CUA | Claude 4 | 多模型 |
| 开源状态 | 完全开源 | 完全开源 | 开源+商业版 | 闭源 | 闭源付费 | 完全开源 |
| 上手时间 | 5分钟 | 10分钟 | 15分钟 | 即用 | 即用 | 30分钟 |
| 自托管 | 支持 | 支持 | 支持 | 不支持 | 不支持 | 支持 |
| 适用场景 | 原型/MVP | 生产自动化 | 企业工作流 | 日常浏览 | 日常浏览 | 研究/定制 |
graph TB
subgraph "感知层 Perception"
DOM["DOM-first<br/>Browser Use / Stagehand"]
VISION["Vision-first<br/>Skyvern / Operator / Claude"]
HYBRID["Hybrid<br/>Agent-E"]
end
subgraph "推理层 Reasoning"
SINGLE["单Agent Loop<br/>Browser Use / Operator"]
HIERARCHICAL["层级Agent<br/>Agent-E / Skyvern"]
API["三段式API<br/>Stagehand act/extract/observe"]
end
subgraph "执行层 Execution"
PW["Playwright<br/>Browser Use / Stagehand / Skyvern / Agent-E"]
CLOUD["云端浏览器<br/>Operator / Browserbase"]
EXT["浏览器扩展<br/>Claude in Chrome"]
end
DOM --> SINGLE --> PW
DOM --> API --> PW
VISION --> SINGLE --> CLOUD
VISION --> HIERARCHICAL --> PW
HYBRID --> HIERARCHICAL --> EXT
style DOM fill:#4a90d9,color:#fff
style VISION fill:#e74c3c,color:#fff
style HYBRID fill:#2ecc71,color:#fff
Browser Use是当前GitHub上Star数最高的AI Agent项目——不是聊天框架,不是代码助手,而是浏览器自动化Agent。这个定位本身就说明了一个事实:浏览器正在成为AI Agent最重要的交互界面。
Browser Use的核心架构是感知-推理-执行三循环。每一轮循环中:
buildDomTree()函数将其压缩为LLM可消化的扁平结构。每个可交互元素被标记一个唯一elementId,形成[id] tag text格式的紧凑表示click(elementId=42)或type(elementId=7, text="hello"))from browser_use import Agent, Browser, BrowserConfig
from langchain_openai import ChatOpenAI
# 5分钟内启动一个自主浏览器Agent
browser = Browser(config=BrowserConfig(headless=True))
agent = Agent(
task="在京东搜索MacBook Pro M4,找到价格最低的商品,截图保存",
llm=ChatOpenAI(model="gpt-4o"),
browser=browser,
max_actions_per_step=5, # 防止失控循环
)
result = await agent.run()
关键设计决策是DOM-first而非Vision-first。Browser Use团队在官方博客中坦承:完整DOM树可能非常庞大,但他们选择了"DOM压缩+语义标注"而非截屏方案。理由很简单——结构化数据的Token效率远高于图像,一个中等复杂度页面的DOM压缩后约2000-5000 tokens,而同等信息的截图需要约2580 tokens(低分辨率)到28K+ tokens(高分辨率)。
优势在于上手极快、社区活跃、多LLM支持。劣势同样明显:DOM结构变化时容易崩溃(虽然比CSS选择器好得多),复杂SPA页面(如Gmail、Notion)的DOM压缩质量不稳定,多标签页管理能力有限。
Browser Use是目前最适合做"AI自动化训练营"内容的框架。一个3天训练营完全可以覆盖:基础浏览器操控→表单自动填写→多步骤工作流→生产部署。定价区间$299-$999具有市场可行性。
Stagehand由Browserbase团队开发,定位不是"AI浏览器Agent",而是给开发者用的AI浏览器自动化SDK。这个定位差异决定了它的一切设计选择。
Stagehand在Playwright之上构建了三个核心原语:
import Stagehand from "@browserbasehq/stagehand";
import { z } from "zod";
const stagehand = new Stagehand({ env: "LOCAL" });
await stagehand.init();
await stagehand.page.goto("https://airbnb.com");
// act():执行动作(点击、输入、导航等)
await stagehand.page.act("搜索东京的民宿,入住日期6月1日,退房日期6月5日");
// extract():结构化数据提取
const listings = await stagehand.page.extract({
instruction: "提取前10个民宿的名称、价格和评分",
schema: z.array(z.object({
name: z.string(),
price: z.number(),
rating: z.number(),
})),
});
// observe():页面状态观察
const actions = await stagehand.page.observe("页面上有哪些可操作的搜索筛选条件");
act()、extract()、observe()这三个API的设计哲学是把AI能力封装为确定性接口。开发者不需要关心LLM如何理解页面,只需要描述"要做什么"和"期望什么格式的输出"。
Stagehand的内部架构包含一个StagehandAgent模块,负责将自然语言指令翻译为Playwright操作序列。翻译过程中使用LLM进行元素定位,但最终执行仍然走Playwright的确定性API——这意味着AI只负责"找到元素",不负责"执行交互",后者由经过充分测试的Playwright引擎保障。
Stagehand的最大卖点是与现有Playwright测试代码的无缝兼容。如果你已经有一套Playwright测试套件,可以直接在关键步骤替换为Stagehand的AI操作,而不需要重写整个框架。
与Browser Use的关键差异:Browser Use是一个自主Agent,给定目标后自行规划全部步骤;Stagehand是一个开发者工具,需要开发者编排步骤,AI只负责单个步骤内的智能操作。前者适合"给一个目标自动完成",后者适合"给我可靠的单步AI能力"。
Stagehand更适合面向QA工程师和前端开发者的付费课程。目标人群愿意为"测试自动化效率提升"付费,企业采购意愿也更高。
Skyvern的核心理念是:不要依赖DOM结构,因为网页会变。它用计算机视觉+LLM的方案直接"看"页面,像人类一样理解布局和元素位置。
Skyvern的架构受到BabyAGI启发,采用任务驱动的自主Agent设计:
用户目标 → 任务队列 → 逐步执行
↓
视觉感知(截屏 + 元素检测)
↓
LLM推理(下一步动作)
↓
Playwright执行(基于视觉坐标的点击/输入)
↓
验证结果 → 更新任务队列
视觉方案的关键优势:当网站改版、CSS类名变化、DOM结构重组时,Skyvern不需要任何代码修改就能继续工作。而基于DOM或CSS选择器的方案在这种场景下会立刻崩溃。
from skyvern.client import SkyvernClient
client = SkyvernClient(base_url="http://localhost:8000")
# 定义工作流
task = await client.create_task(
url="https://supplier-portal.example.com/login",
navigation_goal="登录系统,导航到订单管理页面",
data_extraction_goal="提取所有未处理的采购订单",
extract_schema={
"type": "object",
"properties": {
"orders": {
"type": "array",
"items": {
"type": "object",
"properties": {
"order_id": {"type": "string"},
"status": {"type": "string"},
"amount": {"type": "number"}
}
}
}
}
}
)
视觉方案的代价是Token消耗更高(每次截屏需要1280-28K tokens取决于分辨率)和执行速度更慢(需要等待截屏、图像处理)。Skyvern的策略是在视觉和DOM之间做动态选择——对简单页面用DOM快速定位,对复杂动态页面切换到视觉模式。
Skyvern同时提供开源版和商业云服务(skyvern.com),商业版增加了工作流编排UI、定时调度、API网关等企业特性。
Skyvern最适合面向业务自动化团队(非技术人员)提供解决方案。可视化工作流编辑器降低了使用门槛,企业愿意为"免维护的浏览器自动化"付费。但视觉方案的成本是一个持续痛点,需要仔细计算ROI。
OpenAI于2025年初推出Operator,背后是Computer-Using Agent(CUA)模型——一个基于GPT-4o视觉能力微调的专用浏览器操控模型。
Operator的架构与前面三个开源框架有本质区别:
用户指令 → ChatGPT → CUA模型推理
↓
云端浏览器沙箱
(隔离的Chromium实例)
↓
截屏 → 推理 → 操作 循环
↓
结果回传 ChatGPT
根据多个独立评测,Operator在简单任务(填表、搜索、预订)上表现优秀,但在复杂多步骤工作流中经常"迷失方向"。一个典型的失败案例:要求Operator"在三个不同的旅行网站上比较同一航班的机票价格并给出最优推荐"——Operator会在第二个网站时忘记第一个网站的价格信息,或者被网站的反爬虫机制卡住。
CUA模型的另一个局限是无法自托管。所有浏览器操作都在OpenAI的云沙箱中运行,企业敏感数据无法通过Operator处理。2026年的公开信息显示,OpenAI正在推进"Project Atlas"项目,试图将Operator从浏览器扩展到整个桌面操控,但目前仍是实验阶段。
Anthropic走了一条与OpenAI截然不同的路:不做独立的浏览器Agent产品,而是把Agent能力注入到用户已有的浏览器中。
Claude in Chrome(前身为Computer Use API的浏览器版本)通过Chrome扩展将Claude嵌入浏览器:
Claude in Chrome的杀手级特性是调度任务(Scheduled Tasks):用户可以让Claude"每天早上9点检查我的Gmail,把未读重要邮件总结发到Slack"。这使它从"即时执行工具"升级为"持续运行的浏览器Agent"。
// Claude in Chrome 的用户交互模型(概念示意)
// 用户指令: "帮我把这个页面上的所有产品信息导出为CSV"
//
// 内部流程:
// 1. 扩展获取页面DOM → 识别表格/列表结构
// 2. Claude推理: 需要提取哪些字段?是否需要翻页?
// 3. 逐步执行: 提取当前页 → 检测下一页 → 循环 → 合并 → 生成CSV → 触发下载
Anthropic特别强调了浏览器Agent的Prompt注入风险:恶意网站可以在页面中嵌入不可见的指令(白色文字、display:none元素),试图让Agent执行非预期操作。Claude in Chrome的防御策略包括: - 指令来源隔离:严格区分"用户指令"和"网页内容" - 操作审批机制:敏感操作(如删除、付款)需要用户二次确认 - 权限最小化:扩展只请求必要的Chrome权限
当前仅对Claude Max付费用户开放($100/月或$200/月),且只能在Chrome浏览器中使用。对于需要大规模并发浏览器自动化的场景(如价格监控、竞品分析),Claude in Chrome的"一对一"模型远不如Browserbase等云端方案经济。
Agent-E由EmergenceAI开发,代表了一种更精细的浏览器Agent架构——层级式分工。
Agent-E将浏览器Agent拆分为两层:
# Agent-E 的层级架构概念示意
class PlannerAgent:
"""将复杂目标分解为可执行的子任务"""
def plan(self, user_goal: str) -> list[SubTask]:
# 例如: "在亚马逊找到最便宜的无线鼠标"
# → SubTask 1: "搜索 wireless mouse"
# → SubTask 2: "按价格排序"
# → SubTask 3: "提取前5个商品的价格"
# → SubTask 4: "返回最低价商品信息"
pass
class CrawlerAgent:
"""执行单个子任务,与浏览器直接交互"""
def execute(self, subtask: SubTask, browser_state: DOMState) -> Action:
# 感知当前页面状态 → LLM推理 → 返回操作指令
pass
# WebVoyager基准测试中的优异表现
# Agent-E在WebVoyager上的准确率超过多个竞品
这种层级设计的好处是上下文隔离:Planner不需要处理巨大的DOM树,Crawler不需要理解复杂的多步规划。两个Agent各司其职,各自需要的Token量都更小,推理质量也更高。
Agent-E在WebVoyager基准测试中表现突出,论文(arXiv:2407.13032)显示其在多项任务上的准确率超过同期竞品。但作为学术项目,其工程化程度(错误恢复、并发管理、生产部署)与Browser Use等有较大差距。
浏览器Agent的评测目前主要依赖三个基准:
| 基准 | 任务数 | 特点 | 领先方案 |
|---|---|---|---|
| WebVoyager | 15个网站×多任务 | 真实网站实时测试 | Agent-E, Browser Use |
| WebArena | 812个任务 | 自托管环境,可控性强 | CUA类方案 |
| Steel Leaderboard | 持续更新 | 社区驱动,多维度评分 | 动态变化 |
但基准测试成绩需要打一个巨大的问号。WebVoyager测试的是"快乐路径"——干净明确的任务描述、配合度良好的网站。真实生产环境中的挑战远比基准测试复杂:
一个在WebVoyager上得到90%准确率的Agent,在生产环境中面对这些干扰因素,实际完成率可能骤降到40-60%。这是所有浏览器Agent框架共同面临的"基准幻觉"问题。
浏览器Agent的Token消耗远超普通文本Agent。以一个"在电商网站搜索商品并比较价格"的典型任务为例:
| 方案 | 每步Token消耗 | 10步任务总消耗 | 估算成本(GPT-4o) |
|---|---|---|---|
| DOM压缩(Browser Use) | 3K-8K tokens | 30K-80K tokens | $0.15-$0.40 |
| 截屏低分辨率 | 1.3K tokens | 13K tokens | $0.07 |
| 截屏高分辨率 | 7.7K tokens | 77K tokens | $0.38 |
| Vision+DOM(Skyvern) | 10K-15K tokens | 100K-150K tokens | $0.50-$0.75 |
成本看起来不高,但这是单次任务的成本。如果你的Agent每天执行1000次这样的任务(比如价格监控、数据采集),月成本就达到$4,500-$22,500。对于需要高频执行的生产场景,Token成本优化是必须严肃对待的工程问题。
Browser Use团队在其官方博客中承认:浏览器Agent的上下文管理是最大的未解难题。每次页面变化都需要重新获取DOM/截屏,导致上下文窗口快速膨胀。他们的应对策略包括DOM增量更新、历史状态摘要压缩、以及超长任务的分段执行。
graph LR
subgraph "Token消耗瀑布"
A["初始页面状态<br/>3K-8K tokens"] --> B["LLM推理<br/>1K-3K tokens"]
B --> C["执行动作"]
C --> D["等待页面更新"]
D --> E["获取新页面状态<br/>3K-8K tokens"]
E --> B
end
subgraph "成本倍增因素"
F["多步骤任务<br/>× 步骤数"]
G["多标签页<br/>× 标签数"]
H["上下文累积<br/>× 历史长度"]
I["失败重试<br/>× 重试次数"]
end
style A fill:#e74c3c,color:#fff
style E fill:#e74c3c,color:#fff
style F fill:#f39c12,color:#fff
style G fill:#f39c12,color:#fff
style H fill:#f39c12,color:#fff
style I fill:#f39c12,color:#fff
把浏览器Agent从原型推向生产,需要做出三个关键架构决策:
| DOM-first | Vision-first | |
|---|---|---|
| Token效率 | 高(3-8K/步) | 低(1.3-28K/步) |
| 抗变更能力 | 中(DOM结构也会变) | 高(视觉不变) |
| 执行速度 | 快 | 慢(截屏+图像处理) |
| 适合场景 | 结构稳定的网站 | 频繁改版的网站 |
| 推荐方案 | Browser Use / Stagehand | Skyvern / Operator |
建议:如果目标网站是你自己控制的(内部系统、合作伙伴平台),选DOM-first;如果是第三方公开网站且经常改版,选Vision-first或混合方案。
| 自主Agent | 开发者SDK | |
|---|---|---|
| 控制粒度 | 粗(给定目标自动执行) | 细(逐步编排) |
| 可靠性 | 较低(规划可能偏离) | 较高(人为把关) |
| 调试难度 | 高(黑盒行为) | 低(透明执行) |
| 适合场景 | 简单重复任务 | 关键业务流程 |
| 推荐方案 | Browser Use / Operator | Stagehand / Playwright MCP |
建议:生产环境优先选择开发者SDK模式,逐步引入自主Agent能力。一步到位的"全自主"方案在生产中的失败率仍然太高。
| 自托管 | 云服务 | |
|---|---|---|
| 数据安全 | 完全可控 | 依赖第三方 |
| 扩展性 | 需要自行管理 | 按需伸缩 |
| 运维成本 | 高 | 低 |
| 适合场景 | 敏感数据处理 | 大规模并发 |
| 推荐方案 | Browser Use + Playwright | Browserbase / Steel |
建议:涉及企业敏感数据的场景必须自托管;大规模数据采集场景优先考虑Browserbase等云端方案,按并发浏览器实例数计费比自建集群更经济。
推荐:Stagehand + Playwright MCP 理由:Stagehand与现有Playwright测试代码兼容,AI能力可以作为渐进增强而非全面替代。Playwright MCP允许Claude等LLM直接操控浏览器进行探索性测试。
推荐:Skyvern(开源版)+ 自托管 理由:视觉方案抗变更能力最强,适合采集目标网站不受控制的场景。自托管保障数据安全,工作流编排UI降低业务团队使用门槛。
推荐:Claude in Chrome 或 OpenAI Operator 理由:无需编程,自然语言指令即可执行。Claude in Chrome的调度任务功能特别适合日常重复性浏览器操作。
推荐:Browser Use + Browserbase 理由:Browser Use提供最灵活的Python API,Browserbase提供云端浏览器基础设施,两者结合可以快速构建面向客户的浏览器自动化产品。Browser Use的社区规模和文档质量也是最大的。
推荐:Agent-E + 自定义扩展 理由:层级式架构提供了最大的定制空间。可以根据具体需求替换Planner或Crawler的实现,适合需要深度控制的场景。
浏览器Agent赛道在2026年正处于从"能用"到"好用"的拐点。三个关键趋势值得关注:
DOM感知正在从"压缩"走向"理解":未来的浏览器Agent不会简单地把DOM树压缩为文本,而是会用专门的视觉-语言模型理解页面布局的语义结构——"这是一个导航栏"、"那是一个数据表格"、"右边是筛选条件"。这将大幅提升Agent在复杂页面上的定位精度。
云端浏览器基础设施正在标准化:Browserbase、Steel、Bright Data等提供商正在把"运行大量浏览器实例"变成像数据库一样的基础设施服务。开发者不再需要自己管理浏览器集群,就像不再需要自己管理服务器一样。
安全防御正在成为差异化竞争点:Anthropic在Prompt注入防御上的投入表明,浏览器Agent的安全问题不是"锦上添花",而是"生死攸关"。能证明自己的Agent不会被恶意网站劫持的框架,将在企业采购中获得决定性优势。
浏览器是互联网的通用客户端,而浏览器Agent正在成为AI Agent的通用前端。这条赛道上的胜出者,很可能不是"最强的Agent框架",而是"最可靠的浏览器-LLM接口"。
[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。
