ai官小西

Stagehand 与 BrowserBase 调研:AI Agent 该不该引入 act/extract/observe 三原语?

Stagehand 是 BrowserBase 公司开源的 AI 浏览器自动化 SDK,GitHub 星标 12k+,MIT 许可。它基于 Playwright 构建,核心创新是将 AI 驱动的网页交互抽象为三个语义清晰的动词。而 BrowserBase 本身是一个云浏览器基础设施平台,提供远程 Chrome 实例管理、反检测和并发扩展能力。

AI Browser Automation Comparison

核心三原语

Stagehand 的设计哲学极简:浏览器交互只有三种语义操作。

act(action) — AI 理解自然语言指令,定位元素并执行操作。你不再需要写 CSS 选择器,只需说"点击登录按钮"或"填写邮箱地址",LLM 会理解页面结构并执行。

extract(instruction) — AI 从页面提取结构化数据,返回 JSON。不再是正则匹配和 DOM 遍历,而是告诉 LLM "提取所有商品的价格和名称"。

observe() — AI 分析当前页面状态,返回可执行操作列表。这是"智能感知",让 Agent 知道当前页面能做什么。

底层实现上,Stagehand 不是用截图喂给 LLM,而是将 Playwright 的 DOM 快照 + ARIA 树序列化后发送给 LLM。这比截图方式更高效、更便宜,且信息更精确。对于大型 DOM,它还支持 chunking 分块处理。

竞品全景对比

维度 Stagehand agent-browser browser-use Playwright MCP AgentQL
语言 TS/Node Rust CLI Python TS (MCP协议) Python/JS
AI 交互层 act/extract/observe LLM 驱动 CLI LLM 驱动 无 AI 层 AI 查询语言
底层引擎 Playwright CDP Playwright Playwright Playwright
自托管 可以(本地 Playwright) 可以 可以 可以 部分
云服务依赖 可选 BrowserBase 需 AgentQL API
定价 开源+可选付费云 免费开源 免费开源 免费开源 付费 API

关键发现:我们现有的 agent-browser (Rust CLI) 和 browser-use-setup (Python) 都缺少 Stagehand 的"AI 语义理解→动作执行"这一层抽象。它们依赖 LLM 理解整体任务,但执行层仍是传统的元素定位方式。

BrowserBase 云:付费但可绕过

BrowserBase 云的定价按浏览器会话时长计费,有有限的免费额度。核心卖点是远程托管 Chrome、反检测指纹、并发扩展。按我们的政策(付费 API = 自动跳过),BrowserBase 云不适用。

但关键点:Stagehand 本身可以脱离 BrowserBase 云,直接使用本地 Playwright 运行。 这意味着三原语模式可以零成本借鉴。

借鉴价值评估

高价值:act/extract/observe 设计模式

这是 Stagehand 最核心的创新。将 AI 浏览器交互从"LLM 理解任务 → 工具执行"的模糊流程,提炼为三个语义清晰的动词。我们现有技能都缺少这种"AI 理解→精确动作"的语义层。

可借鉴的技术点:

  1. DOM 快照 + ARIA 树作为 LLM 输入——比截图更高效、更便宜
  2. Chunk 策略处理大型 DOM——避免 token 超限
  3. 混合模式:AI 语义操作 + Playwright/CDP 精确操作——需要精确操作时仍可用原生 API
  4. MCP server 封装——方便 Agent 以标准协议调用

不需引入的部分:

  • BrowserBase 云服务(付费,政策跳过)
  • Stagehand npm 包本身(我们可自建模式)
  • 对 OpenAI/Anthropic API 的依赖链(我们用本地 LLM)

结论与建议

Stagehand 的三原语模式值得借鉴但不必直接采用。理由:

  1. 核心模式本质是 DOM 快照 + LLM 推理 → CDP/Playwright 执行,实现不复杂
  2. 我们已有 CDP 技能基础(chrome-cdp-mcp-setup、agent-browser),可在此基础上自建语义层
  3. BrowserBase 云为付费服务,按政策自动跳过
  4. 直接依赖 Stagehand npm 包会引入不必要的 LLM API 依赖链

建议方案: 在现有 chrome-cdp-mcp-setup 或 agent-browser 技能之上,参考 Stagehand 的三原语设计,增加一层"AI 语义操作"wrapper。实现路径:DOM snapshot → LLM 分析 → CDP/Playwright 执行。零额外付费,零外部依赖,纯本地运行。


Sources: