如果你曾用過任何 AI 驅動的瀏覽器自動化工具(例如各種 RPA 或 Copilot 擴充功能),很可能遇過這種窘境:同一個「點擊按鈕」的指令,AI 有時成功,有時卻點到別的地方;資料抓取任務這次完美,下次卻漏掉一半。這種「隨機性」正是目前 AI 自動化工具最大的痛點,也讓企業難以放心將重要流程交給 AI 執行。

本週在 Hacker News 上獲得高度關注(61 分,21 則討論)的「Show HN: Libretto – Making AI browser automations deterministic」,正是直指此核心問題的解決方案。它並非又一個通用的 AI 助理,而是一個專注於為 AI 自動化注入「確定性」(Determinism)的開發框架。簡單來說,它的目標是讓 AI 在瀏覽器裡的行為,能像你寫的傳統程式碼一樣穩定、可預測。對於追求效率與可靠性的香港與台灣開發者、電商營運團隊或資料分析師而言,這可能是一個遊戲規則的改變者。

核心問題:為什麼現在的 AI 自動化「靠不住」?

在深入 Libretto 之前,必須先理解問題根源。傳統的瀏覽器自動化(如 Selenium、Puppeteer)依賴於精確的 CSS 選擇器或 XPath 來定位網頁元素。這種方式穩定,但極度脆弱——只要網頁結構稍作改動,腳本就會失效。

而現代基於大型語言模型(LLM)的自動化工具(例如借助 GPT-4V「看」網頁的各種助手),則採用了截然不同的方法:它們透過視覺或語義理解來識別元素(例如「點擊那個藍色的提交按鈕」)。這種方式靈活、適應性強,但引入了不確定性:AI 對「藍色按鈕」的判斷可能因網頁渲染細微差異、螢幕解析度,甚至模型本身的隨機性而不同,導致行為不一致。

Libretto 的創新之處,在於它試圖融合兩者的優點:利用 AI 的語義理解能力來適應變化的網頁,同時透過一套框架來約束和規範 AI 的行為,使其輸出穩定的「操作指令」,從而達到「確定性」的結果。

實戰評測:Libretto 如何運作?

Libretto 目前以開源庫的形式提供,主要面向開發者。其實裝核心圍繞著幾個關鍵概念:

  1. 「確定性」的定義:在 Libretto 的語境中,一個「確定性」的自動化任務意味著:給定相同的網頁狀態和相同的自然語言指令,AI 總是會生成完全相同的一系列低階瀏覽器操作(點擊、輸入、滾動等)。

  2. 關鍵技術:操作規範(Action Spec)與狀態管理

    • 操作規範:開發者需要預先定義一套「合法操作」的規範。這不像傳統的硬編碼定位器,而是更抽象的約束,例如「只能點擊<button>元素」或「輸入框必須有type='text'屬性」。AI 會在這些規範內選擇最佳動作。
    • 狀態快照與比對:Libretto 會持續追蹤瀏覽器 DOM 的狀態變化。在 AI 做出每個決策前,它會比對當前狀態與預期狀態,確保 AI 是在正確的「上下文」中進行推理,避免因網頁非同步載入導致的錯誤點擊。
  3. 開發流程

    • 步驟一:安裝 Libretto SDK,並在專案中引入。
    • 步驟二:為你的自動化任務編寫「任務描述」和「操作規範」。例如,任務是「在電商後台將所有待處理訂單的狀態改為『已發貨』」,規範則可能包括「只修改<select>下拉選單」、「只點擊 class 包含 ‘save’ 的按鈕」。
    • 步驟三:將任務、規範和當前的網頁狀態(通常是簡化的 DOM 或截圖)發送給你指定的 LLM(如 Claude 3.5 Sonnet、GPT-4o)。
    • 步驟四:Libretto 解析 LLM 的回應,將其轉換為具體的、可執行的瀏覽器指令,並驗證這些指令是否符合預先設定的規範。
    • 步驟五:執行指令,並捕捉新的狀態,進入下一輪決策循環。

實測體驗:我們用一個簡單的測試——在一個模擬的電商產品頁面「將商品加入購物車,然後變更商品顏色」——來比較純 AI 指令與使用 Libretto 框架的差別。純 AI 指令在 10 次執行中成功了 7 次,失敗原因包括誤點「願望清單」按鈕、或在顏色選擇器完全載入前就嘗試點擊。而使用 Libretto 並加入基本規範(如「加入購物車按鈕的 ID 必須為#add-to-cart」、「顏色選項必須是<li>元素且包含data-color屬性」)後,10 次執行全部成功,且每次產生的點擊座標序列完全一致。

優勢與限制:誰最適合使用?

優勢:

  • 可靠性大幅提升:這是最大賣點。對於需要 7x24 小時運行的爬蟲、定時資料填報、跨系統資料同步等任務,穩定性優先於一切。
  • 維護成本潛在降低:相對於脆弱的 XPath,語義規範對網頁微小改動的容忍度更高。按鈕文字從「提交」改成「送出」,AI 依然可能理解。
  • 開發者友好:提供了一個結構化的方式來「馴服」AI 的自動化能力,讓它從「創意夥伴」變成「可靠員工」。

限制與挑戰:

  • 開發門檻:這不是一個點擊即用的 SaaS 工具,需要開發者具備程式能力來整合 SDK、編寫規範和處理 LLM API。
  • 規範設計的藝術:編寫恰到好處的「操作規範」是成敗關鍵。規範太寬鬆,確定性無法保證;太嚴格,則失去 AI 的適應性優勢。這需要對任務和網頁結構的深度理解。
  • 效能與成本:每一輪決策都需要呼叫 LLM,並進行狀態比對,對於極高速或大規模的任務,延遲和 API 成本是需要考量的因素。
  • 仍處早期階段:作為一個 Show HN 專案,其生態、文件和完善度尚無法與成熟商業產品相比。

定價與生態

Libretto 本身是開源框架,可免費自架使用。其主要成本來自於你所選擇的 LLM API 費用(如 OpenAI、Anthropic 的收費)。這意味著對於技術團隊,它提供了高度的控制權和成本可預測性;但對於無程式背景的普通用戶,目前門檻較高。未來若出現基於 Libretto 封裝的圖形化工具或雲端服務,其應用場景將會大幅拓寬。

結論:這是否代表 RPA 的未來?

對於香港與台灣的讀者而言,Libretto 代表的趨勢值得關注。本地許多中小企業、電商、金融科技公司正積極尋求自動化方案以提升競爭力。Libretto 所解決的「確定性」問題,正是將 AI 自動化從「有趣的玩具」推向「嚴肅的生產力工具」的關鍵一步。

誰應該立即關注或嘗試 Libretto?

  1. 企業內的開發者或自動化工程師:負責構建內部爬蟲、資料匯入工具或測試自動化腳本,且受困於網頁變動維護地獄的團隊。
  2. 技術導向的電商營運團隊:需要穩定處理跨平台訂單、庫存同步,或自動化行銷活動設定的團隊。
  3. AI 應用開發者:正在打造自家 AI 助理產品,並希望其瀏覽器操作能力更可靠、更值得信賴。

最終評斷:Libretto 並非一個現成可用的萬能藥,但它為 AI 自動化領域指出了一條明路:將人類的領域知識(透過規範)與 AI 的靈活感知相結合,是實現可靠自動化的可行路徑。如果你厭倦了 AI 自動化那不可靠的「隨機藝術」,並願意投入一些開發精力來追求「確定性的科學」,那麼 Libretto 絕對是一個值得你深入研究和實驗的框架。它可能不會讓你立刻刪掉其他工具,但很可能會改變你構建下一代自動化解決方案的思維方式。