1问题:浏览器自动化的 Token 噩梦
AI 操作浏览器已经不是一个新鲜话题。从早期的 Selenium 到 Playwright,再到各种「AI Agent」框架,让大模型控制浏览器的技术路径层出不穷。但所有方案都面临同一个瓶颈:描述元素的指令太长了。
传统方案的问题
这些方案各有致命弱点:
- CSS 选择器:前端一改 class 就失效,且描述冗长
- 自然语言:"蓝色的按钮"可能有三个,AI 猜错概率高
- 坐标:响应式布局下坐标随时变化,完全不可靠
核心痛点每次操作都要传输大量描述信息,Token 成本高、延迟大、出错率高。
2解决方案:元素编号系统
agent-browser 的核心创新可以用一句话概括:让 AI 和浏览器说同一种「方言」。
工作流程
实际使用示例
393% Token 节省怎么来的?
| 方案 | 指令示例 | 估算 Token | 可靠性 |
|---|---|---|---|
| CSS 选择器 | button[class='btn primary'][id='submit'] | ~25-40 | 低(易失效) |
| 自然语言 | the blue submit button at bottom | ~12-20 | 低(有歧义) |
| XPath | /html/body/div[3]/form/button[2] | ~20-35 | 极低(结构一变就挂) |
| agent-browser | @e2 | ~2-3 | 高(ID 映射稳定) |
为什么编号更稳定?
关键在于 ARIA 无障碍树(Accessibility Tree)。
传统方案基于视觉 CSS 或 DOM 结构,这些都是「表象」——前端一改就失效。而 agent-browser 基于页面的无障碍树,这是浏览器为屏幕阅读器等辅助技术生成的「语义层」:
- 按钮就是按钮,不管它是蓝色还是红色
- 输入框就是输入框,不管它的 class 是什么
- 语义稳定,不受视觉样式变化影响
ARIA 树是页面对自己「是什么」的诚实描述,而不是「看起来像什么」的表面呈现。 无障碍设计的核心理念
4技术架构:为什么这么快?
Rust 核心 + Node.js 包装
agent-browser 采用分层架构:
- Rust 核心:负责浏览器控制、快照生成、指令解析 —— 亚毫秒级性能
- Node.js 包装:提供 npm 安装和 CLI 接口
性能对比全局安装的 Rust 二进制文件比 npx 路由快 10-100 倍,解析延迟低于 1 毫秒。
Snapshot 设计哲学
传统方案:每次操作都要「看」一眼页面,确认元素位置。
agent-browser:一次 snapshot,获取整张页面的「地图」,后续所有操作基于这张地图。
关键优势减少了 AI 和浏览器之间的往返次数。传统方案需要 N 次「查看-操作」循环,agent-browser 只需要 1 次 snapshot + N 次轻量级指令。
5与 ContextBench 论文的呼应
这篇报告引用的 ContextBench 论文有一个核心发现:复杂的 Agent 脚手架对上下文检索的提升微乎其微——这就是所谓的「痛苦的教训」(The Bitter Lesson)。
agent-browser 的践行
agent-browser 正是这一理念的完美体现:
- 不追求复杂的视觉理解(不用看截图猜元素)
- 不堆砌多层抽象(不用先转自然语言再转指令)
- 直接用标准化原语(@e1, @e2 就是最简洁的符号)
设计哲学浏览器自动化的「Token」——用最少的信息传递最多的意图。
这和我在 Token 报告中讲的概念形成呼应:就像 AI 把文字切成 Token 来理解,agent-browser 把网页元素切成编号来操作。压缩、标准化、符号化——这是效率的终极形态。
6实际应用与局限性
适合的场景
- 表单自动化:登录、注册、数据录入
- 测试脚本:稳定、可重复的 UI 测试
- 数据抓取:结构化信息的批量提取
- AI Agent 集成:作为浏览器操作的后端
当前的局限
- 动态内容:SPA(单页应用)中内容异步加载时,需要重新 snapshot
- 复杂交互:拖拽、画布操作等仍需要特殊处理
- 视觉验证:无法直接「看到」页面效果,需要配合截图
实用技巧
7安装与快速开始
相关资源
- GitHub:https://github.com/vercel-labs/agent-browser
- 安装:npm install -g agent-browser
- 替代安装:brew install agent-browser
8一句话总结
agent-browser 把浏览器自动化从「描述视觉」降级为「引用符号」,就像编程语言从汇编升级到高级语言——不是让机器更难理解,而是让人机沟通更高效。
93% 的 Token 节省不是魔法,而是信息压缩的艺术:去掉所有不必要的描述,只保留最精简的引用。这正是 AI 时代工具设计的方向——Context, not control。