AI Agent 的致命傷:被忽略的 Web 存取層與 Token 效率
當我們熱烈討論 AI Agent 的推理能力時,一個更基礎卻致命的瓶頸正被忽略:如何高效地從網路獲取資訊。一篇日本開發者的實測,揭示了不同 Web 存取工具在 Token 效率上驚人的差異,這不僅影響成本,更直接決定了 Agent 能否在真實世界中規模化運行。本文將深入探討這個關鍵問題,並提供解決之道。
我們對 AI Agent 的想像,常聚焦在更強大的推理能力或更複雜的任務鏈。然而,Agent 的規模化瓶頸,往往不是死在模型本身,而是卡在更前端的資訊獲取(fetch layer)。一個設計拙劣的 Web 存取工具,會用無效的 Token 灌爆模型的上下文視窗,導致任務在第一步就失敗。這不是演算法問題,而是攸關 Agent 能否在真實世界存活的基礎設施問題,其重要性遠超我們想像。
為什麼 Web 存取是 Agent 的阿基里斯腱?
一個自主運行的 AI Agent,其工作流程高度依賴對外部世界的感知,而網際網路是它最主要的資訊來源。不論是預訂機票、分析財報,還是進行市場研究,Agent 都需要透過工具來「讀取」網頁、文件或 API。問題在於,這個「讀取」的動作遠非表面上那麼單純。網頁充滿了導覽列、廣告、腳本等無關內容;而 PDF、CSV 等格式更需要專門的解析。
最天真的作法,是將整個網頁的 HTML 原始碼或檔案的二進位內容直接丟給大型語言模型(LLM)。這種作法在學術實驗中或許勉強可行,但在實務上會立刻遭遇災難。即使是像 GPT-4 Turbo 擁有 128K 的上下文視窗,或更新的模型號稱支援百萬級 Token,一個稍有規模的網頁或檔案都能輕易將其填滿,不僅成本高昂,更會因為雜訊過多而嚴重影響模型的判斷品質。Agent 的可用性,因此常不是死在「思考」層面,而是死在「感知」層面。
Agent 的「眼睛」有多盲?五款工具的 Token 效率實測
這個問題有多嚴重?日本開發者 rererr_engineer 在一篇技術文章中,進行了一場極具說服力的比較。他挑選了五款常用於編碼代理(Coding Agent)的 Web 獲取工具,針對 7 個真實世界的日文 URL 進行測試,涵蓋了技術部落格、政府網站、PDF、CSV,甚至包含反爬蟲機制的網站。
測試結果中最驚人的一組數據,來自一個 3.9MB 的 CSV 檔案。不同工具的處理方式與其產生的 Token 數量,呈現出天壤之別:
- Jina Reader:作為一款知名的工具,它採取了最直接的作法,將整個 CSV 檔案內容轉換後送出,最終產生了高達 459 萬個 Token。這個數字足以讓任何現行的商用 LLM 模型瞬間崩潰,任務直接失敗。
- amenbo (作者自研工具):相較之下,這個工具的設計顯然更為聰明。它並未讀取整個檔案,而是只回傳了檔案的標頭(header)作為預覽,並提示 Agent 可以用何種方式(例如 Python 的 pandas 函式庫)來完整讀取與操作這個檔案。整個過程,只消耗了 909 個 Token。
兩者之間超過 5000 倍的 Token 效率差距,赤裸裸地揭示了問題的核心。Agent 能否順利執行任務,關鍵不在於模型是否理解 CSV 格式,而在於前端的獲取工具是否具備足夠的「智慧」,以一種對上下文預算友善的方式來呈現資訊。
Agent 的行動能力並非受限於它的大腦(LLM),而是受限於它的眼睛與耳朵(fetch tool)。一個無法有效過濾、聚焦資訊的感知系統,會讓再聰明的模型也無用武之地。
如何設計一個更聰明的 Fetch Layer?
從上述案例可以得到啟發,一個高效的 Web 存取層,應該是 Agent 基礎設施的核心組件,而非一個簡單的附屬品。它的設計理念,必須從「完整傾倒」轉向「智慧摘要與引導」。我認為,一個成熟的 fetch layer 至少應具備以下幾個特質:
- 語義內容提取:如同 Readability.js 的原理,工具應能自動過濾掉網頁中的模板化內容(如頁首、頁尾、廣告),只回傳主要文章或核心資訊區塊。
- 漸進式揭露 (Progressive Disclosure):針對大型文件(如長篇報告 PDF 或大型 CSV),應優先提供摘要、目錄、或前幾行預覽,讓 Agent 先對內容有初步了解,再由 Agent 自行決定是否需要請求更深入的特定部分。
- 格式感知處理:工具需要能辨識不同的檔案格式。遇到表格數據,就應提示使用結構化數據處理工具;遇到程式碼,就應以純文字呈現而非渲染後的 HTML。這也與 RAG (Retrieval-Augmented Generation) 的理念相通,重點在於提供「可用」而非「原始」的資訊。
- 互動式引導:當遇到需要登入或有反爬蟲機制的網站時,一個好的工具不該直接回傳失敗,而應回傳當前的狀況(例如「偵測到登入頁面」或「需要人機驗證」),讓 Agent 能夠規劃下一步的應對策略,例如呼叫瀏覽器自動化工具 Playwright 來模擬使用者操作。
總結來說,當我們在追求更強大的 AI Agent 時,或許該將一部分注意力從模型本身,轉移到這些看似基礎卻至關重要的「周邊設施」上。正如一個優秀的作業系統需要高效的 I/O 管理,一個能夠規模化運行的 AI Agent,也絕對需要一個聰明、克制且高效率的 Web 存取層。解決了這個基礎設施問題,我們離真正實用的自主代理系統,才會更近一步。
延伸閱讀
- 原作者 rererr_engineer 的 Zenn.dev 比較文章 (日文)
- Jina AI Reader 官方文件
- WebArena: A Realistic Web Environment for Autonomous Agents (arXiv)
我是江中喬,專注於 AI Agent Architecture、Memory Governance 與 Cognitive Diversity,持續研究如何打造能夠長期協作、可信任且可治理的 AI 系統。