前言
在之前关于 AI 测试相关的几篇文章中,我们分别介绍了通过 playwright-mcp
,以及 midscene.js
、magentic ui
等几个不同的 AI 浏览器工具,实现 AI 驱动自动化测试的方法介绍。而其实在这些不断涌现的新工具出现之前,还有一个更早推出(2024.11),也同样还在不断完善的AI浏览器驱动工具 Browser Use
,其工具实现思路,为后来的相关工具提供了很多借鉴。 而经过半年多40多个版本的迭代,目前最新版本 0.2.5
,工具功能也日臻完善。
本文,我们就再来对这个 AI 浏览器做一个系统的介绍。
browser-use简介
browser-use 的定位是提供一个简易且功能强大的,将不同AI Agent和浏览器连接起来的方案,实现基于AI的智能化浏览器自动化。
它是一个基于Python的开源库,在github上已有超过 61K 的Stars,可以说是备受关注。
主要依托 Playwright/Puppeteer 的浏览器控制能力和 AI 大模型的推理分析能力,完成让 AI 从资讯助手向辅助执行的转变。在其之后,mcp大行其道,包括后续的其他各种浏览器AI驱动,也都能看到 browser-use 方案的影子。
实现原理
browser-use 的实现,其实是通过 Langchain 和 LLM 大语言模型实现的一个 AI Agent 智能体,来理解网页内容并进一步生成操作指令。项目底层依赖 Playwright 框架实现浏览器自动化操作,支持多浏览器(如 Chromium、Firefox 等),能够模拟真实用户的点击、输入、导航等行为。
基于 AI 能力,系统能够自动识别网页中的可交互元素(如按钮、输入框等),并结合上下文的理解生成对应的交互逻辑,提升自动化效率,实现基于 AI 的浏览器智能。
核心架构解析
browser-use 通过分层架构实现 AI Agent 与浏览器的深度集成,其核心架构不同分层的主要作用如下:
Agent 层(决策中枢)
这一层,主要负责任务流程编排与决策制定。通过实现小型状态机管理任务流程, 并与 LLM(如 OpenAI)进行交互获取决策指令。
Controller 层(指令转换器)
这一层负责将高级决策转化为具体浏览器操作指令, 支持 DOM 操作、页面导航等基础动作,也提供对多标签页交互逻辑的管理。
DOM 解析引擎
在这一层对网页结构与内容实时解析,包括提供视觉识别能力(OCR 支持),完成对可操作的网页元素映射关系的构建。
Browser 接口层
在这一层,基于Playwright框架实际驱动浏览器行为,除了内置的无头模式控制,也可以通过指定浏览器路径和用户浏览器进行交互。