前言
在之前關于 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框架實際驅動瀏覽器行為,除了內置的無頭模式控制,也可以通過指定瀏覽器路徑和用戶瀏覽器進行交互。