Browser Use 成為近期的明星項(xiàng)目,兩個(gè)人的純技術(shù)開源項(xiàng)目,核心代碼 8000 行,融資 1700 萬美元,讓人好奇它具體做了什么,為什么這么值錢。

打開網(wǎng)易新聞 查看精彩圖片

做了什么?

簡(jiǎn)單說 Browser Use 讓大語言模型對(duì)網(wǎng)頁的識(shí)別和操作的效率、準(zhǔn)確度變高了,有利于 Agent 完成任務(wù)。

目前要讓 AI Agent 完成任務(wù),可以直接讓 AI 瀏覽網(wǎng)頁,像人一樣去理解頁面,執(zhí)行操作,之前一般的做法主要靠截屏:

  1. Anthropic 的 Computer use、OpenAI 的 Operator 等理解和操作 web 頁面,都是靠多模態(tài)大模型識(shí)別截屏,再輸出要操作的坐標(biāo)位置,Agent 執(zhí)行操作。

  2. 在這過程中,web 的源碼也可以加入上下文,讓模型獲得更多信息,但 web 源碼內(nèi)容太多,信息噪音太大,token 消耗也高。

而 Browser User 的做法是對(duì) web 頁面做了結(jié)構(gòu)化處理,翻譯成大模型友好的格式,再輸入 LLM 識(shí)別。舉例 Google 首頁:

1. Browser Use 會(huì)在頁面上嵌入腳本,遍歷 DOM 結(jié)構(gòu),找出頁面上的元素,顯式打上標(biāo)記:

打開網(wǎng)易新聞 查看精彩圖片

2. 轉(zhuǎn)換為以下純文本:

[Start of page] [1]Gmail/> [2]圖片/> [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [End of page]

內(nèi)容格式極簡(jiǎn),關(guān)鍵信息都有,提取了所有可交互元素,模型完全可以通過這些信息“看”和“操作”網(wǎng)頁。

例如要執(zhí)行搜索,模型很容易判斷搜索框是索引為[8]的元素,Agent只需要把元素[8]對(duì)應(yīng)的 XPath 拿出來,獲取到頁面上對(duì)應(yīng)的元素,執(zhí)行操作就可以。

所以 Browser Use 使用非多模態(tài)的模型例如 Deepseek 也可以跑起來,不依賴截圖識(shí)別。但如果是多模態(tài)模型,截圖也默認(rèn)會(huì)一起輸入模型,提升識(shí)別準(zhǔn)確率。

Browser Use 核心就是做了這個(gè)點(diǎn),剩下的就是怎樣把流程串起來。

實(shí)現(xiàn)細(xì)節(jié)

核心代碼包括四個(gè)部分:agent 負(fù)責(zé)決策和串流程,controller 負(fù)責(zé)轉(zhuǎn)換決策為具體操作,dom 負(fù)責(zé)網(wǎng)頁分析,browser 負(fù)責(zé)與實(shí)際瀏覽器交互。

1. agent實(shí)現(xiàn)了個(gè)小型 AI Agent,負(fù)責(zé)串起流程,管理上下文信息,決策生成下一步指令,讓 Browser Use 可以一步步完整執(zhí)行一個(gè)任務(wù)(例如購(gòu)買機(jī)票),這也讓 Browser Use 變成易于集成為 Agent

  • service.py 實(shí)現(xiàn)了典型的 Agent 的 ReAct 模式,推理 → 執(zhí)行步驟 → 模型觀察結(jié)果下一步。可單獨(dú)配置 plan 模型。

  • message_manager 管理消息歷史,并做了一些類似敏感數(shù)據(jù)過濾、圖片內(nèi)容處理等。

  • memory 實(shí)現(xiàn)記憶功能,基于mem0,但目前應(yīng)該只實(shí)現(xiàn)了一半,只把每步存起來,沒有調(diào)取使用。

2. controller負(fù)責(zé)控制和執(zhí)行瀏覽器操作的高級(jí)指令,是連接AI代理和瀏覽器操作的橋梁。

  • registry/ 實(shí)現(xiàn)了 Action 的注冊(cè)和管理能力

  • service.py 定義和注冊(cè)了所有可用的瀏覽器 Action,click/go_to_url/input_text等。

3. dom對(duì) web 頁面的處理和分析,生成上述 AI 友好的文本結(jié)構(gòu)。

  • buildDomTree.js 是嵌入頁面的 JS 腳本,遍歷 dom 過濾出可交互元素,繪制高亮框等。

  • service.py 操作 JS 注入、節(jié)點(diǎn)信息獲取、跨域處理等能力,views.py 提供 DOM 節(jié)點(diǎn)在 python 的數(shù)據(jù)模型。

4. browser對(duì)接 Playwright,在它上面封裝了一些能力。

  • context.py 管理瀏覽器上下文,以及一些細(xì)節(jié)功能處理,像標(biāo)簽頁/導(dǎo)航管理、截圖、定位和獲取元素、URL白名單檢測(cè)、文件下載處理等。

  • browser.py 封裝了瀏覽器實(shí)例的創(chuàng)建和配置。

它也用到了很多開源項(xiàng)目和服務(wù),值得看看:

  1. Playwright微軟開發(fā)的 web 自動(dòng)化測(cè)試框架,核心是提供了用代碼命令操作瀏覽器的能力,這能力剛好是 AI Agent 需要的,Browser Use 只需要基于它做上層開發(fā)。如果只需要瀏覽器的能力,官方也有封裝的 MCP 服務(wù)(github.com/microsoft/playwright-mcp)

  2. LangChain:Agent 基于 LangChain 構(gòu)造,主要用到模型調(diào)用和 message 管理。

  3. Laminartrace / 評(píng)估 AI 產(chǎn)品的服務(wù),Laminar 對(duì) LangChain / OpenAISDK 等框架做好了適配,加一行代碼就可以對(duì) Browser Use 整個(gè) Session 調(diào)用鏈路調(diào)用過程進(jìn)行追蹤和評(píng)估。Laminar 跟 Browser User 一樣也是 YC 初創(chuàng)公司,開源→服務(wù)的打法。跟另一個(gè)項(xiàng)目 openllmetry 類似,都是基于 OpenTelemetry 做 AI 的監(jiān)控分析工具,這個(gè)賽道也很卷。

  4. posthog數(shù)據(jù)采集,讓 Browser Use 的作者能更好知道項(xiàng)目被使用的情況,會(huì)收集一些使用數(shù)據(jù)上報(bào)到 posthog,Agent的執(zhí)行過程都會(huì)上報(bào),對(duì)數(shù)據(jù)敏感的可以關(guān)了。

  5. mem0專為 LLM 提供的記憶層服務(wù),分級(jí)存儲(chǔ)用戶信息、RAG 召回、易用的 API。也是開源+服務(wù)的模式。

  6. 瀏覽器服務(wù):Browser Use 支持連接遠(yuǎn)程的 Browser 服務(wù)去執(zhí)行任務(wù)(這也是 Playwright 支持的),官方文檔里推薦的就有 browserbase.com、anchorbrowser.com、steel.dev、browserless.io 這幾個(gè)服務(wù)。

其他就是一些配套實(shí)現(xiàn)了,gif 動(dòng)圖、多種模型調(diào)用的 example、test case 等。

為什么這么值錢

一個(gè)并不復(fù)雜的開源項(xiàng)目,得到市場(chǎng)這么大的認(rèn)可,事后分析,可能是因?yàn)椋?/p>

1. 是 Agent 的核心基礎(chǔ)設(shè)施

  • Agent 跟現(xiàn)實(shí)世界交互,最優(yōu)方案是通過 API,而不是 GUI 界面,所以基于 MCP 統(tǒng)一協(xié)議封裝 API 是當(dāng)下一大熱門。

  • 但絕大多數(shù)服務(wù)沒有 API,只有給人類提供的 GUI,現(xiàn)階段要讓 Agent 用處更廣泛,還是得讓它能理解、使用 GUI,而 Browser 是 GUI 的主要容器,在現(xiàn)階段就是最核心的基礎(chǔ)設(shè)施之一。

2. 有很高的上限

  • Browser 足夠復(fù)雜,需要持續(xù)迭代,優(yōu)化識(shí)別率、上下文管理、新的評(píng)測(cè)機(jī)制、探索模型上限等,深耕能形成壁壘。

  • Browser 一定有很強(qiáng)的云服務(wù)訴求,要各種上層 Agent 自己部署容器和 Browser 成本太高,商業(yè)化路徑清晰。

3. 在這個(gè)領(lǐng)域做到了 SOTA

  • 據(jù) Browser Use 自己的評(píng)測(cè),在 WebVoyager Benchmark 上獲得業(yè)界最好的效果。

  • 從近期聲量、github 的活躍上看,穩(wěn)居頭部。

有需求,有商業(yè)化,有流量,在這個(gè)時(shí)間點(diǎn)讓它很值錢。

想法

  1. 長(zhǎng)期看, 模型直接理解截屏 是更自然更能 scale up 的做法,所有信息截屏都有,大模型應(yīng)該像人一樣能準(zhǔn)確識(shí)別和操作,模型公司應(yīng)該會(huì)一直在這條路上嘗試。

  2. Browser Use 是在模型能力不足時(shí)期的 中間優(yōu)化方案 ,如果這個(gè)時(shí)期足夠長(zhǎng),它就價(jià)值很大,如果模型很快突破,它就會(huì)失去價(jià)值。

  3. 可以用同樣的思路復(fù)刻 Mobile Use,iOS / Android 都有現(xiàn)成的 accessibility 能力,能拿到當(dāng)前界面結(jié)構(gòu)化的數(shù)據(jù),只是會(huì)有沙盒的各種限制,這事很適合系統(tǒng)廠商去做。桌面端應(yīng)該也可以。

  4. Agent 上下游相關(guān)配套基建都處于起步階段,小團(tuán)隊(duì)很有機(jī)會(huì)把其中某個(gè)點(diǎn)做出彩。