AgentQL是什麼
AgentQL是TinyFish所推出的AI網頁查詢語言與開發工具套件,可用自然語言來描述所需的資料或網頁元素。它適用於建立網頁資料提取功能、瀏覽器自動化功能、測試流程,以及能夠操作網站的AI Agent。
與依賴固定CSS或XPath選擇器的腳本不同,AgentQL是根據元素的含義、上下文以及查詢結構來進行定位的。當頁面佈局改變時,以語意方式進行查詢通常比使用位置選擇器更易於重複使用,但仍需透過測試和異常處理來確保其可靠性。
核心功能
- 使用自然語言字段名稱定位網頁元素和數據
- 按照查詢結構返回嵌套對象或列表
- 在Python和JavaScript中結合Playwright自動操作網頁
- 透過REST API從任意程式設計語言發起資料查詢
- 使用遠端瀏覽器運行需要會話和互動的任務
- 從網頁、PDF和圖像中提取結構化內容
- 利用Debugger擴展在真實網頁上調試查詢
- 透過Playground試驗提示詞並導出腳本
- 連接LangChain、Zapier和MCP等自動化生態
AgentQL查詢語言
AgentQL查詢是透過欄位結構來定義要尋找的內容以及結果的樣式,欄位名稱本身即可表達其含義。清單、巢狀對象和補充說明可組合使用,讓輸出結構在執行前就已相當明確。
| 查詢能力 | 作用 | 示例用途 |
|---|---|---|
| 語義字段 | 根據名稱和上下文識別元素 | 定位搜尋框、價格或下一页按鈕 |
| 列表 | 返回多個同類項目 | 提取商品、文章或評論列表 |
| 嵌套結構 | 表達項目內部欄位關係 | 每個商品包含名稱、價格和評分 |
| 自然語言說明 | 補充位置、含義或篩選條件 | 限定正文中的標題或特定卡片 |
| 數據轉換 | 按目標類型整理提取結果 | 將價格整理為數值 |
| Prompt查詢 | 由完整描述推斷數據結構 | 快速探索尚未建模的頁面 |
語義定位的工作方式
- 理解字段名稱在當前頁面中的業務含義
- 結合周圍文字、標籤和頁面層級判斷目標
- 不要求開發者提前知道具體DOM路徑
- 相似網站可嘗試複用相同查詢結構
- 頁面重排後仍可能找到語義相同的元素
- 歧義較大時可加入更具體的自然語言說明
網頁數據提取
開發者可以透過 SDK 或 REST API 來擷取公開網頁以及已獲授權網頁中的結構化資料。輸出的結構由查詢來定義,這樣就能減少後續的資料處理工作,不過空值、重複項目以及網頁狀態仍需在業務程式碼中加以處理。
- 商品名稱、價格、庫存和評價採集
- 新聞標題、日期、作者和正文整理
- 搜尋結果、目錄和分頁列表提取
- 登入後後台數據的授權採集
- 動態載入與無限滾動頁面處理
- 跨相似站點統一字段輸出
瀏覽器自動化
AgentQL的Python和JavaScript SDK是建立在Playwright工作流程之上的,它們能夠回傳出可以點擊、填寫或讀取的頁面元素。開發者仍可運用Playwright的等待功能、瀏覽器上下文、網路相關功能以及斷言功能。
- 打開網頁並定位輸入框、按鈕和菜單
- 填寫表單、選擇選項和提交任務
- 關閉Cookie提示或彈窗
- 翻頁、滾動並等待異步內容出現
- 在登入會話中執行獲授權操作
- 把提取結果寫入後續數據工作流
Python與JavaScript SDK
| 方式 | 主要能力 | 適合用戶 |
|---|---|---|
| Python SDK | Playwright自動化、元素查詢和資料提取 | 數據工程、研究與Python Agent開發者 |
| JavaScript SDK | Playwright自動化、元素查詢和資料提取 | 前端、Node.js和測試工程團隊 |
| REST API | 直接查詢網頁、文件和遠端瀏覽器 | 其他語言或輕量服務集成 |
| Debugger擴展 | 在瀏覽器開發者工具中測試查詢 | 調試和定位查詢歧義 |
| Playground | 試驗查詢、優化提示並導出腳本 | 原型驗證與學習 |
| CLI | 初始化環境並創建腳本模板 | 快速建立本地專案 |
REST API與文件提取
REST API可透過API Key進行認證,並回傳結構化資料,既能用於查詢網頁,也能處理PDF和圖像檔案。文件查詢可依頁數或圖像數量來計算請求次數,因此處理大檔案時需預估請求量。
- 從任意支援網路請求的語言呼叫
- 使用Query精確指定結構或用Prompt描述目標
- 選擇快速或標準提取模式
- 創建遠端瀏覽器會話執行互動任務
- 配置瀏覽器特徵與代理位置
- 透過請求標識追蹤運行和錯誤
遠端瀏覽器
AgentQL套餐包含一定的遠端瀏覽器使用時長及併發會話數,可用於在雲端執行動態網頁工作流程。Starter與Professional版在使用時長、超額費用以及併發上限方面存在明顯差異。
- 在託管環境中運行需要JavaScript的頁面
- 維持多步驟互動所需的瀏覽器會話
- 按地區配置受支持的代理出口
- 選擇輕量或更強調反偵測的瀏覽器設定
- 設定非活動超時避免遺留會話耗費時長
- 按任務隔離Cookie、登入和本地儲存
Debugger與Playground
Debugger擴展會在瀏覽器的開發者工具中新增AgentQL面板,可直接在當前網頁上測試查詢,並標出符合條件的元素。Playground則更適合用來探索查詢方式、獲取優化建議,以及產生可進一步開發的腳本。
- 切換元素查詢和數據提取模式
- 查看查詢命中的頁面區域
- 檢查清單與嵌套結構是否符合預期
- 為歧義字段補充自然語言上下文
- 在進入代碼前快速驗證目標網站
- 將驗證後的結果遷移到SDK或API
適用場景
- 構建能夠訪問網頁和執行任務的AI Agent
- 抓取電商、新聞、目錄或公開研究數據
- 自動填寫內部系統和合作夥伴門戶表單
- 監控頁面欄位、價格、狀態或內容變化
- 為測試腳本提供更易維護的語義定位
- 從PDF和圖片中提取固定結構資訊
- 跨多個結構不同但語義相似的網站採集數據
- 把網頁資訊接入LangChain、Zapier或內部流程
適合哪些用戶
- 需要快速開發網頁Agent的AI工程師
- 維護Playwright自動化的Python和Node.js開發者
- 需要結構化網頁數據的數據與研究團隊
- 希望降低選擇器維護成本的測試工程師
- 要用REST API接入網頁數據的後端團隊
- 需要專有雲或本地部署的企業客戶
AgentQL價格
AgentQL提供免費試用,以及Starter、Professional和Enterprise等方案。公開價格以月為單位顯示,而API與遠端瀏覽器的使用量則需另行計費。
| 方案 | 月費 | API額度與超額費 | 遠端瀏覽器 | 併發會話 |
|---|---|---|---|---|
| 免費試用 | 0美元 | 一次性300次;每分鐘10次 | 1小時 | 1個 |
| Starter | 0美元 | 每月50次;超額每次0.02美元 | 含10小時;超額每小時0.12美元 | 5個 |
| Professional | 99美元 | 每月10,000次;超額每次0.015美元 | 含500小時;超額每小時0.10美元 | 100個 |
| Enterprise | 訂製報價 | 按企業需求約定 | 專用雲或本地部署 | 按方案約定 |
免費試用不需要信用卡,適合在正式選型之前測試查詢功能及遠端瀏覽器。至於稅金、代理費、專業服務費或企業交付成本等是否需額外支付,則以結算頁面及訂單上的說明為準。
套餐選擇建議
| 需求 | 建議方案 | 原因 |
|---|---|---|
| 短期驗證 | 免費試用 | 300次呼叫和1小時瀏覽器便於評估 |
| 個人原型或低頻任務 | Starter | 無月費並支援按量擴展 |
| 穩定數據工作流 | Professional | 調用量、瀏覽器時長和併發更高 |
| 大規模或敏感數據 | Enterprise | 可獲得託管數據、專用雲或本地部署 |
快速開始教學
- 註冊開發者帳號並建立API Key。
- 安裝Debugger擴展,在目標網頁打開開發者工具。
- 先用簡單字段查詢定位一個明確元素。
- 用列表和嵌套結構定義完整輸出。
- 在調試器中分別檢查元素和數據結果。
- 安裝Python或JavaScript SDK並初始化專案。
- 將驗證後的查詢加入Playwright腳本。
- 添加等待、重試、空值和異常頁面處理後再上線。
數據提取教學
- 確認目標數據的使用權限和網站條款。
- 列出需要返回的字段、類型和層級關係。
- 為重複項目使用列表並為子字段建立嵌套結構。
- 選擇具有代表性的頁面測試正常和缺失字段。
- 處理分頁、無限滾動和動態載入狀態。
- 驗證重複項、空值、類型和字元編碼。
- 設定頻率限制、緩存和失敗重試。
- 定期抽樣對比原頁面以發現品質變化。
生產部署教學
- 估算每月網頁、文件頁數和遠端瀏覽器小時。
- 按併發與速率上限選擇合適套餐。
- 將API Key存入密鑰管理系統並限制訪問範圍。
- 為登入會話及不同客戶隔離瀏覽器上下文。
- 對超時、驗證碼、封禁和頁面變化設定明確狀態。
- 記錄請求標識、目標、耗時、結果和錯誤原因。
- 設定調用量、瀏覽器時長和費用告警。
- 安排人工複核高影響數據和自動操作。
查詢設計建議
- 使用業務含義明確且穩定的欄位名稱
- 只在必要時加入位置和外觀描述
- 用嵌套結構表達真實數據關係
- 對多個項目顯式使用列表
- 把複雜頁面拆成可驗證的小查詢
- 為可選字段接受空值並記錄缺失原因
- 使用代表性頁面和異常頁面建立回歸測試
可靠性與品質評估
| 指標 | 評估內容 | 建議方法 |
|---|---|---|
| 字段準確率 | 提取值是否與頁面一致 | 按字段人工抽樣 |
| 完整率 | 目標項目和欄位是否遺漏 | 與頁面總數對比 |
| 重複率 | 同一記錄是否被多次返回 | 建立業務主鍵去重 |
| 定位成功率 | 互動元素是否穩定命中 | 跨佈局與狀態回歸測試 |
| 任務成功率 | 多步驟自動化是否完成 | 按步驟記錄狀態 |
| 單位成本 | 調用和瀏覽器時長成本 | 按成功記錄計算 |
| 頁面變化恢復時間 | 站點更新後的影響 | 監控失敗並保留備用流程 |
安全與合規
- 只訪問公開或已獲得授權的頁面和賬戶
- 遵守網站條款、訪問頻率和數據使用限制
- 不要在查詢、日誌或代碼中暴露API Key
- 對Cookie、會話和下載文件實施隔離與加密
- 避免採集與業務無關的個人或敏感資訊
- 對提交、購買、刪除等高影響操作保留人工確認
- 為自動化設定速率、預算和允許域名清單
- 準備驗證碼、訪問阻斷和人工接管流程
產品優勢
- 自然語言定位比固定DOM路徑更易理解與維護
- 查詢本身定義結構化輸出,減少後處理代碼
- 同一工具同時覆蓋數據提取和網頁互動
- Python與JavaScript SDK直接銜接Playwright
- REST API便於其他語言及無狀態任務接入
- 提供調試器、Playground、CLI和豐富範例
- 可查詢網頁、PDF和圖像等多種來源
- 核心SDK與範例在GitHub以MIT許可證公開
使用限制與注意事項
- 語義定位仍可能在歧義頁面命中錯誤元素
- 網站登入、驗證碼和反自動化機制可能阻斷流程
- 動態頁面需要合理等待,不能只依賴單次查詢
- 頁面內容錯誤會直接影響提取結果
- API調用和遠端瀏覽器分別產生用量成本
- PDF按頁面計算調用,大檔案的成本會快速增加
- 跨站複用查詢前仍需逐站驗證字段語義
- 自動化不應規避網站安全措施或訪問限制
- 雲端服務與開源SDK不同,完整平台不能僅靠倉庫自托管
GitHub與開源情況
AgentQL的官方GitHub倉庫公開了Python、JavaScript的整合方式、範例以及開發相關資源,且採用MIT授權協議。至於所提供的API、遠端瀏覽器、開發者門戶以及企業級服務,則仍屬於商業平台,不應被視為全部的雲端服務都是開源的。
| 組件 | 狀態 | 說明 |
|---|---|---|
| AgentQL官方倉庫 | MIT開源 | 包含SDK集成、範例及相關工具代碼 |
| Python SDK | 官方開發工具 | 結合Playwright進行提取與自動化 |
| JavaScript SDK | 官方開發工具 | 面向Node.js和Playwright工作流 |
| REST API | 商業託管接口 | 按套餐和調用量計費 |
| 遠端瀏覽器 | 商業託管服務 | 按包含時長和超額用量計費 |
| Enterprise | 商業交付 | 可提供專用雲或本地部署 |
基本資訊
| 字段 | 內容 |
|---|---|
| 工具名稱 | AgentQL |
| 開發公司 | TinyFish |
| 工具類型 | AI網頁查詢、資料提取與瀏覽器自動化 |
| 主要語言 | Python、JavaScript及REST API |
| 自動化基礎 | Playwright |
| 支持內容 | 網頁、PDF和圖像 |
| 免費方案 | 有免費試用和Starter |
| 企業部署 | 可提供專用雲或本地部署 |
| 是否開源 | 核心SDK與範例採用MIT許可證;託管平台為商業服務 |
推薦指數
4.6 / 5。AgentQL適合那些希望透過語意查詢來降低網頁選擇器維護成本的開發者及Agent團隊,其工具鏈、Playwright整合功能以及公開的定價都相當完整;不過在實際使用時,仍需處理頁面歧義、存取限制、品質監控以及按量計算的成本問題。
常見問題
AgentQL主要做什麼?
它用自然語言查詢定位網頁數據和元素,並透過SDK或API完成結構化提取與瀏覽器自動化。
AgentQL和Playwright是什麼關係?
AgentQL SDK在Playwright工作流中增加語意查詢能力,原有的瀏覽器控制、等待和斷言能力仍可繼續使用。
AgentQL可以免費使用嗎?
可以。免費試用提供300次呼叫次數,Starter每月提供50次免費呼叫次數,並允許按量付費。
Professional多少錢?
Professional的公開價格為每月99美元,包含10,000次API調用以及500小時的遠端瀏覽器使用時間。
AgentQL能提取PDF嗎?
可以,REST API支援PDF和圖像;PDF通常依頁面數來計算API呼叫次數。
AgentQL支援哪些語言?
官方提供Python與JavaScript SDK,其他語言可以透過REST API接入。
AgentQL能處理登入頁面嗎?
可以在獲得授權的瀏覽器會話中處理登入後的頁面,但必須保護憑證並遵守網站規則。
AgentQL是開源的嗎?
官方代碼倉庫採用MIT許可證,但託管API、遠端瀏覽器及企業服務仍屬於商業產品。
語義選擇器會永遠穩定嗎?
不會。它能降低頁面結構變化帶來的維護壓力,但歧義、內容變化和訪問狀態仍可能導致失敗。
桂公網安備45132202000164號