Browser Use

开源浏览器智能体(browser agent)项目。在 Jev 生态里,它以 browser-use/jev-ultrafast 这一实验项目出现:让 Jev 承担网页操作中”点哪里、做什么”的类型化判断,把需要写字的部分留给文本生成模型。

关键信息

  • Jev 生态项目:browser-use/jev-ultrafast。社区清单对其的描述是”Browser Use agent with a dynamic indexed action space, batched operation and target decisions, traces, and a measured Google Flights demo”。
  • 核心做法:
    • 动态编号动作空间(dynamic indexed action space):从当前页面的 DOM 中动态枚举出可操作元素并编号,让 Jev 在一个受限的动作集合里选择,而不是自由生成选择器。
    • 批量操作与目标决策(batched operation and target decisions):把”做什么操作”与”对哪个元素”作为 Jev 的类型化判断批量问出。
    • 保留 traces(轨迹),并有可复现的测量。
  • 公开演示(Google Flights):打开航班查询页面后,Jev 负责”下一步点哪个元素”共 17 次,只有在需要打字时才交给生成模型 2 次,整趟操作耗时 7.07 秒。该演示由 Gregor Zunic 在公开渠道发布,并简述了动态 DOM 动作空间的做法。
  • 生态衍生:Jev for Chrome 是 Jev Ultrafast 思路的非官方 Chrome 扩展移植(Manifest V3)——Jev 在一次请求里同时选出操作与 DOM 元素,小型文本模型写入类型化取值,可在用户自己的标签页里经 OpenRouter、TypeSafe AI 或 Cloudflare 运行,并附带 17 个任务的 headless-Chromium 测试套件与录制轨迹。
  • 协作型用法:jev-agent-browser 把浏览器执行委托给父级智能体——由 Jev 选出有界类型化动作,交由 agent-browser 执行,遇到含糊或被阻断的流程再升级回父级智能体。

为什么这个组合成立

浏览器操作的核心难题是”动作空间巨大且不断变化”:一个页面可能有成百上千个可点元素,且每次加载都不同。传统做法要么写死选择器,要么让生成模型自由输出,前者脆、后者可能编出不存在的元素名。

  • 受限选择消除类型错误:Jev 只能在当前编号后的动作集合里挑,编不出集合外的元素,这与 工具调用 里”从有效工具列表中选择”的思路一致。
  • 高基数选择:Jev 的 Choice 原生支持最多 255 个选项;官方博客提到游戏类高基数场景会采用”先独立打分、再显式选择”的两段式。
  • 快慢分工:Jev 做每步的反射式判断(快、便宜),文本生成模型只在确实需要”写字”时介入,演示里 17:2 的比例正是这一分工的体现。
  • 置信度门控:判断带置信度,为”低置信时升级/转人工”预留了出口。

注意事项

  • 本项目与衍生项目均属社区条目,社区清单明确声明”独立项目,包含不等于 TypeSafe 官方审核或认可”。
  • Jev for Chrome 附带的 17 任务套件是测试套件(带录制轨迹),不等于生产准确率测量。
  • jev-agent-browser 的设计强调”含糊或阻断流程升级回父级”,即不把 Jev 当作唯一决策点。

与哪些概念/实体关联

  • Jev — 承担操作与目标选择的判断层。
  • TypeSafe AI — Jev 的开发方,Browser Use 项目调用其 API。
  • 工具调用 — 动态编号动作空间是”受限工具集合内选择”思路在浏览器场景的落地。
  • Agent — 浏览器智能体是智能体循环里”感知页面—选择动作—执行”的一类实现。
  • 模型路由 — 演示中 Jev 与文本生成模型分工:判断走 Jev,写字走生成模型。
  • OpenRouter、Vercel — 浏览器侧项目的可选后端渠道。