建立電腦使用代理人(CUA)
電腦使用代理人可以像人類一樣與網站互動:透過開啟瀏覽器、檢查頁面,並從所見中採取最佳後續行動。在本課程中,您將建立一個瀏覽器自動化代理,搜尋 Airbnb,擷取結構化的房源資料,並找出斯德哥爾摩最便宜的住宿選項。
本課程結合了基於 AI 導航的 Browser-Use、用於瀏覽器控制的 Playwright 和 Chrome DevTools 協定(CDP)、支援視覺推理的 Azure OpenAI,以及用於結構化擷取的 Pydantic。
介紹
本課程將涵蓋:
- 理解在何種情況下電腦使用代理比僅用 API 自動化更合適
- 結合 Browser-Use 與 Playwright 及 CDP,以實現可靠的瀏覽器生命週期管理
- 使用 Azure OpenAI 影像辨識與結構化的 Pydantic 輸出,從動態網頁擷取房源資料
- 判斷何時採用代理人優先、角色優先或混合的瀏覽器自動化流程
學習目標
完成本課程後,您將能夠:
- 配置 Browser-Use 與 Azure OpenAI 及 Playwright
- 建立一套瀏覽器自動化流程,導航真實網站並處理動態使用者介面元素
- 從可見頁面內容擷取具型別的結果,轉化為後續的商業邏輯
- 根據瀏覽器任務的可預測性,選擇代理人或角色模式
範例程式碼
本課程包含一個筆記本教學:
前置需求
- Python 3.12+
- 環境中已設定 Azure OpenAI 部署
- 本地安裝 Chrome 或 Chromium
- 已安裝 Playwright 相依套件
- 對非同步 Python 有基本認識
環境設定
安裝筆記本中使用的套件:
pip install browser_use playwright python-dotenv
playwright install chromium
設定筆記本使用的 Azure OpenAI 環境變數:
AZURE_OPENAI_ENDPOINT=...
AZURE_OPENAI_API_KEY=...
AZURE_OPENAI_CHAT_DEPLOYMENT_NAME=...
# 選用:省略時預設為最新的 API 版本
AZURE_OPENAI_API_VERSION=...
架構概述
筆記本示範一個混合型的瀏覽器自動化流程:
- 啟用 CDP 的 Chrome 開啟,讓 Playwright 與 Browser-Use 共用相同的瀏覽器工作階段。
- Browser-Use 代理人處理開放式導航任務,如開啟 Airbnb、關閉彈跳視窗、搜尋斯德哥爾摩。
- 以結構化的 Pydantic 架構檢視目前頁面,擷取房源標題、每晚價格、評分和網址。
- 透過 Python 邏輯比較擷取的房源,突出顯示最便宜的結果。
此方法結合了 Browser-Use 擅長的彈性、視覺推理能力,同時在需要時提供確定性的瀏覽器控制。
主要重點與最佳實踐
何時使用代理人 vs 角色
| 情境 |
使用代理人 |
使用角色 |
| 動態版面配置 |
是,AI 可適應頁面變動 |
否,脆弱的選擇器可能失效 |
| 已知結構 |
否,代理人比直接控制慢 |
是,快速且精準 |
| 尋找元素 |
是,自然語言適用 |
否,要求精確選擇器 |
| 時序控制 |
否,較難預測 |
是,完全控制等待和重試 |
| 複雜工作流程 |
是,處理不可預期的 UI 狀態 |
否,需要明確分支 |
Browser-Use 最佳實踐
- 初期採用代理人進行探索與動態導航。
- 互動穩定後,轉為直接頁面控制。
- 使用結構化輸出模型,確保擷取資料經過驗證且型別安全。
- 在觸發可見 UI 變化的操作後,有策略地加入延遲。
- 迭代時拍攝截圖,方便除錯失敗原因。
- 預期網站會變動,設計因應彈跳視窗與版面變動的備援策略。
- 混合使用代理人與角色模式,兼具彈性與精準。
真實世界應用
- 旅遊訂房與價格監控
- 電商價格比對與庫存檢查
- 從動態網站結構化擷取資料
- 具備視覺感知的 UI 測試與驗證
- 網站監測與警示
- 跨多步驟流程的智能填寫表單
其他資源
免責聲明:
本文件由 AI 翻譯服務 Co-op Translator 翻譯而成。雖然我們努力追求準確性,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件之母語版本應被視為權威依據。對於關鍵資訊,建議使用專業人工翻譯。對於因使用此翻譯而產生的任何誤解或誤譯,我們不承擔任何責任。