大模型瀏覽器自動化工具 brower-use
簡介
Browser-Use Web UI 是大模型的瀏覽器自動化利器,其作用是提供了大模型和瀏覽器之間的交互方式,manus 等大多也能看到他的影子
工作原理
brower-use 執行主要分成以下幾步
┌────────────┐ 狀態提示詞 ┌───────────┐
│ │ ───────────────> │ │
│ 瀏覽器環境 │ │ 大模型 │
│ │ <─────────────── │ │
└────────────┘ 結構化動作 └───────────┘
狀態獲取:框架捕獲當前瀏覽器狀態,包括 DOM 結構、可交互元素和頁面元數據。例如,當打開一個網頁時,系統會獲取該網頁的 HTML 結構、頁面上的按鈕、文本框、鏈接等可交互元素的信息,以及頁面的標題、描述等元數據。
狀態表示:將狀態轉換爲結構化提示詞注入大模型上下文。系統會把獲取到的瀏覽器狀態信息進行整理和轉換,形成一種大模型能夠理解的結構化提示詞,然後將其作爲輸入提供給大模型。
決策生成:大模型分析狀態並生成結構化的動作計劃。大模型接收到結構化提示詞後,會根據自身的算法和訓練數據進行分析,生成下一步需要執行的動作計劃,這個動作計劃以結構化的形式呈現。
動作執行:框架解析動作計劃並在瀏覽器中執行相應操作。系統會對大模型生成的結構化動作計劃進行解析,然後通過底層的瀏覽器控制框架(如 Playwright)在瀏覽器中執行相應的操作,如點擊按鈕、輸入文本等。
結果反饋:執行結果和新狀態反饋回大模型,進入下一輪迭代。瀏覽器執行完操作後,系統會獲取新的瀏覽器狀態和操作執行結果,並將其反饋給大模型,大模型根據這些反饋信息進行新一輪的分析和決策。
安裝
brower-use 項目
帶 web-ui 地址: https://github.com/browser-use/web-ui
client 地址:https://github.com/browser-use/browser-use
brower-use 的安裝相對比較簡單 按着 readme 直接安裝就行
打開後配置頁面主要分成
V2.0.0 版本分成
⚙️ Agent Settings: 主要是大模型相關的配置頁面
🌐 Browser Settings: 主要使用瀏覽器組件相關配置
🤖 Run Agent: 提示及任務運行相關展示
🎁 Agent Marketplace: 用於 mcp 相關的配置及 Deep Research 相關功能 之後有需求再研究
📁 Load & Save Config: 配置相關的保存和加載
執行任務過程
以一個簡單的任務爲例:
打開谷歌搜索杭州天氣 告訴我明天杭州什麼天氣
總共花了 6 步 然後獲取到最後的結果
先來看一下一步包含什麼信息:
{
"current_state": {
"evaluation_previous_goal": "Failed - 之前的操作與最終任務無關,當前頁面是關於'2.5天休假模式'的搜索結果,而非杭州天氣查詢。需要立即糾正任務方向,重新開始執行原始任務:打開谷歌搜索杭州天氣,並獲取天氣信息。",
"memory": "用戶最初的任務是打開谷歌搜索杭州天氣,並告知明天的天氣情況。然而,當前操作偏離了目標,錯誤地處理了'2.5天休假模式'的新聞結果。需要記住:尚未執行原始任務,必須重新開始。",
"next_goal": "立即終止當前搜索,返回到初始任務,打開谷歌搜索杭州天氣,並提取天氣信息。"
},
"action": [
{
"go_to_url": {
"url": "https://www.google.com/search?q=杭州天氣+明天"
}
}
]
}
每一步都會 browser use 輸出的處理信息包含:
-
- current_state: 當前狀態
-
- evaluation_previous_goal: 和當前目標的之間
-
- memory: 歷史的記憶
-
- next_goal: 下一步目標的任務
-
- action: 下一步的動作
這些 信息也是 agent 運行所需的信息
- action: 下一步的動作
我們來看一下這一個問題 agent 的執行過程比較有意思的:
第一步
{
"current_state": {
"evaluation_previous_goal": "搜索'官方迴應2.5天休假模式'的相關新聞",
"memory": "用戶可能想要了解關於2.5天休假模式的官方政策和相關討論。",
"next_goal": "找到與'官方迴應2.5天休假模式'相關的新聞條目並提取關鍵信息。"
},
"action": [
{
"search_google": {
"query": "官方迴應2.5天休假模式"
}
},
{
"extract_content": {
"goal": "找到新聞條目並提取關鍵信息",
"should_strip_link_urls": true
}
},
{
"search_google": {
"query": "2.5天休假模式 官方迴應"
}
},
{
"extract_content": {
"goal": "找到新聞條目並提取關鍵信息",
"should_strip_link_urls": true
}
}
]
}
第二步
{
"current_state": {
"evaluation_previous_goal": "Failed - 之前的操作與最終任務無關,當前頁面是關於'2.5天休假模式'的搜索結果,而非杭州天氣查詢。需要立即糾正任務方向,重新開始執行原始任務:打開谷歌搜索杭州天氣,並獲取天氣信息。",
"memory": "用戶最初的任務是打開谷歌搜索杭州天氣,並告知明天的天氣情況。然而,當前操作偏離了目標,錯誤地處理了'2.5天休假模式'的新聞結果。需要記住:尚未執行原始任務,必須重新開始。",
"next_goal": "立即終止當前搜索,返回到初始任務,打開谷歌搜索杭州天氣,並提取天氣信息。"
},
"action": [
{
"go_to_url": {
"url": "https://www.google.com/search?q=杭州天氣+明天"
}
}
]
}
第一步由於瀏覽器默認頁面中有默認的 2.5 天休假的信息,導致第一步處理是否錯誤的
但第二步由於 evaluation_previous_goal 這一信息在成功矯正了錯誤,一步還是比較奇妙的,然後這一步我使用的還只是 qwen3:14b ,qwen3 14b 還是可以的
複雜任務執行的缺陷
以這個任務爲例:
給我打開 steam 這個網頁 https://store.steampowered.com/charts/mostplayed 爬取當前前 100 的熱門遊戲 注意網頁要滾動下滑才能加載更多遊戲 返回給我一個 json json 中包含遊戲排名 遊戲名字及當前在線人數
這個任務相對比較複雜 ,包含打開頁面,分析數據,多次下滑等創作
{
"current_state": {
"evaluation_previous_goal": "Success - The page has loaded the first 10 games in the '最熱玩的 100 款遊戲' section. The elements [32] to [61] represent these game entries with their rankings, names, and player counts. The next step is to scroll further to load the remaining 90 games.",
"memory": "Navigated to https://store.steampowered.com/charts/mostplayed. Loaded the initial 10 game entries. Need to scroll down to load the remaining 90 games. Current progress: 10 out of 100 games loaded.",
"next_goal": "Scroll down the page to load the next set of game entries. Continue until all 100 games are visible in the DOM."
},
"action": [
{
"scroll_to_text": {
"text": "100"
}
}
]
}
brower-use 對下滑操作支持好像不是很好 雖然識別出需要下滑了的動作 ,但實際還是很少觸發下滑
2. 複雜情況下 爬取了超過 10 步後,會出現不符合目標的動作時,不能很好得做出 回退的操作
總結
- 這次使用了 brower-use 界面組件,整體對於簡單任務 使用 brower-use 能進行執行 並能有蠻好的結果,對於複雜的任務還是有缺陷,可能還是和使用方式有關
- 對於個人 brower-use 自發式的 planer 規劃還是不怎麼可控,由於我想讓大模型做的任務時每天重複的,所以可能會自己寫 workflow,然後讓大模型執行,Playwright 這個工具還是可以的 可以找時間對比一下和 selenium 的區別
- 速度上本地部署 32B 的大語言模型或者 gemma3:27b 的視覺模型來運行還是太慢了,用於完整替代爬蟲還是不怎麼可行
附錄:
-
- Building Effective AI Agents: A Guide from Anthropic: https://medium.com/accredian/building-effective-ai-agents-a-guide-from-anthropic-e66b533ff091
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/2saTdDuOIjyFYMrafhv-aA