mirage:一個統一的虛擬檔案系統,讓 AI 代理能使用 bash 指令與多元資料來源互動
mirage:一個統一的虛擬檔案系統,讓 AI 代理能使用 bash 指令與多元資料來源互動
它解決了什麼問題
Mirage 提供了一種統一的方式,讓 AI 代理能與各種資料來源與服務互動。它不需要代理為每個不同的服務(如 S3、Google Drive 或 Slack)學習多個 SDK 或 API,而是將這些服務掛載為單一的虛擬檔案系統(VFS)。這使得已經熟悉 bash 指令的 LLM 能夠透過標準的 POSIX 類操作(讀取、搜尋、搬移資料)在不同後端之間操作,而不需要學習新的詞彙。
它是如何運作的
Mirage 會建立一個「工作區」(Workspace),將遠端服務與資料來源映射到目錄路徑。它使用調度器與快取系統,將類 bash 指令(例如 grep、cp、find)轉換為相應後端的 API 呼叫。
主要技術元件包括:
- 統一介面: 超過 50 種內建後端(包括 Redis、S3、Gmail、GitHub 與 MongoDB)皆以檔案系統形式呈現。
- 快取機制: 兩層快取(索引快取用於中繼資料,檔案快取用於物件位元組)可降低網路延遲與 API 呼叫次數。
- 可擴充性: 使用者可以根據資源類型或檔案格式註冊新指令或覆寫既有指令(例如讓
cat將 Parquet 檔案渲染為 JSON)。 - 可嵌入 SDK: 提供 Python 與 TypeScript 函式庫,可在應用程式內部直接執行。
目標使用者
開發需要讓 AI 代理存取各種外部資料來源的開發者,以及希望提供類似程式碼代理環境,讓代理能使用標準 shell 指令在服務間操作資料的使用者。
重點特色
- 統一 VFS: 將 S3、Slack、Gmail 等服務掛載為單一檔案系統。
- 原生 Bash: 代理可直接使用
grep、pipe、wc等指令跨不同後端操作。 - 廣泛整合: 支援超過 50 種內建後端,並可與 LangChain、Vercel AI SDK、OpenAI Agents SDK 等主要代理框架整合。
- 可移植工作區: 工作區可被克隆、快照與版本化。
- 詳細快取: 內建索引與檔案快取,並支援可選的 Redis 共享狀態快取。
Sources
- undefinedstrukto-ai/mirage