ai-agents-for-beginners

建立電腦使用代理程式(CUA)

電腦使用代理程式可以以與人類相同的方式與網站互動:透過開啟瀏覽器、檢查網頁,並根據所見採取下一個最佳行動。在本課程中,您將建立一個瀏覽器自動化代理程式,用於搜尋 Airbnb,提取結構化的房源資料,並確定斯德哥爾摩最便宜的住宿。

本課程結合了利用 AI 進行導航的 Browser-Use、Playwright 與 Chrome DevTools Protocol(CDP)來控制瀏覽器、具備視覺推理能力的 Azure OpenAI,以及用來結構化提取的 Pydantic。

簡介

本課程將涵蓋:

學習目標

完成本課程後,您將能夠:

程式碼範例

本課程包含一個Notebook教學:

先決條件

安裝設定

安裝 Notebook 中使用的套件:

pip install browser_use playwright python-dotenv
playwright install chromium

設定 Notebook 使用的 Azure OpenAI 環境變數:

AZURE_OPENAI_ENDPOINT=...
AZURE_OPENAI_API_KEY=...
AZURE_OPENAI_CHAT_DEPLOYMENT_NAME=...
# 可選:省略時默認為最新的 API 版本
AZURE_OPENAI_API_VERSION=...

架構概覽

Notebook 演示混合瀏覽器自動化工作流程:

  1. 開啟啟用 CDP 的 Chrome,Playwright 和 Browser-Use 可共享同一瀏覽器會話。
  2. Browser-Use 代理處理開放式導航任務,如開啟 Airbnb、關閉彈出視窗及搜尋斯德哥爾摩。
  3. 以結構化的 Pydantic schema 檢視當前頁面,抽取房源標題、每晚價格、評分與網址。
  4. Python 邏輯比較抽取到的房源並標示最便宜的結果。

此方法保留了 Browser-Use 擅長的靈活視覺推理,同時在需要時提供確定性的瀏覽器控制。

主要重點與最佳實務

何時使用代理或執行者

情境 使用代理 使用執行者
動態布局 是,AI 能適應頁面變化 否,脆弱的選擇器容易損壞
已知結構 否,代理較執行者慢 是,快速且精確
尋找元素 是,自然語言表達效果佳 否,需要精確選擇器
時間控制 否,不易預測 是,完全掌控等待及重試
複雜工作流程 是,能處理意外 UI 狀況 否,需要明確分支

Browser-Use 最佳實務

  1. 初期使用代理探索及動態導航。
  2. 互動變得可預測時,轉為直接控制頁面。
  3. 使用結構化輸出模型,確保提取資料驗證及型別安全。
  4. 在觸發可見 UI 變化後策略性加入延遲。
  5. 迭代過程中拍攝螢幕截圖,方便除錯。
  6. 預期網站會變動,設計備援策略應對彈窗與佈局變動。
  7. 混合使用代理與執行者模式,兼顧靈活性與精確度。

實際應用場景

其他資源


免責聲明
本文件由 AI 翻譯服務 Co-op Translator 翻譯而成。雖然我們致力於確保準確性,請注意自動翻譯可能包含錯誤或不準確之處。原文文件應被視為權威來源。對於重要資訊,建議採用專業人工翻譯。我們不對因使用本翻譯導致的任何誤解或曲解承擔責任。