
Breadcrumb
Breadcrumb · 程式設計
Breadcrumb 是一套專為 TypeScript 應用程式設計的 LLM 追蹤函式庫,安裝方式就像程式碼相依套件,而不是託管服務。每一筆追蹤都會進到你原本就在運作的資料庫,而儀表板則以元件形式提供,讓你掛載進自己的應用程式。這是最字面意義上的自行架設追蹤。它是為那些想用一般查詢和自己的驗證機制來除錯 AI 代理的開發者而打造,而不是再多開一個供應商帳號。

關於 Breadcrumb
Breadcrumb 是什麼
Breadcrumb 是一套追蹤工具,給用 TypeScript 打造 AI 功能的團隊使用。核心概念是主控權:與其把提示詞和內容傳到第三方儀表板,Breadcrumb 會把 span 寫進你應用程式原本就在用的資料庫。你把一個實例指向自己的資料庫,把儀表板掛在自己的登入機制後面,從此你的追蹤資料就緊鄰著你的使用者資料表。
這樣的配置正是重點。因為 span 就存在你的結構描述裡,你可以把它們跟你儲存的任何東西關聯起來。想在帳務頁面上看到每位客戶的成本,或每個租戶的失敗次數?那些都只是用你熟悉的 ORM 就能寫的一般查詢。託管工具做不到這點,它永遠只看得到自己的資料。Breadcrumb 把查詢交給你,代價則是由你自己負責儲存。
主要的限制在於適用範圍。Breadcrumb 針對建構在 Vercel AI SDK 上的 TypeScript 應用程式。如果你的技術堆疊跑在 Python,它就不合用。想完全零設定的情況也一樣。資料庫的工作也得自己扛。對原本就在跑 Postgres 的團隊來說,這很便宜;對其他人來說,這是一筆實實在在的成本。
開始使用
- 從 npm 安裝核心套件和資料庫轉接器,然後建立一個指向你資料庫和一個基礎路徑的 Breadcrumb 實例。
- 在應用程式裡掛載儀表板元件,並用你自己的驗證機制保護它。
- 在 AI SDK 接受 experimental_telemetry 的地方傳入 bc.telemetry(),為模型呼叫加上追蹤。
- 把周邊的工作,例如檢索、工具呼叫和資料庫寫入,包進 bc.trace(),讓它們全部落在同一條時間軸上。
- 在儀表板裡讀取追蹤,或給你的程式碼代理一組 MCP 金鑰,讓它直接查詢。
產品資訊
快速了解 Breadcrumb 的定價、支援平台與效能。
適合對象
這項工具最適合的使用者、任務與情境。
使用者
- 打造 AI 功能的 TypeScript 開發者:Breadcrumb 適合已經在用 Vercel AI SDK 的團隊,因為追蹤機制會直接接上那套設定。你需要自己的 Postgres 或相容的資料庫。
- 後端與平台工程師:如果你想讓追蹤資料跟你既有的使用者、帳務或租戶資料表關聯起來,這種做進資料庫的設計能讓你省下打造同步管線的功夫。只要具備基本的 SQL 和 ORM 知識就能得到價值。
- 沒有專職可觀測性預算的小型 AI 產品團隊:自行架設讓追蹤成本綁在你已經付費的資料庫上,而不是綁在按事件計價的方案上。
任務
- 除錯緩慢或失敗的代理請求:bc.trace() 會把檢索、模型呼叫、工具呼叫和資料庫寫入放在同一條時間軸上,讓你看出是哪個步驟吃掉了時間。
- 追蹤每位客戶的支出:因為 span 會儲存成本和 token 數量,你可以依使用者加總,並把數字顯示在帳務頁面上。
- 讓程式碼代理檢視正式環境的行為:MCP 金鑰讓代理能直接讀取追蹤資料,加快調查速度。
情境
- 調查某些帳號為何流失:把追蹤資料跟你的使用者資料表放在一起查詢,你就能確認流失的帳號是否正是那些走到慢速路徑的帳號。
- 讓提示詞資料保持私密:啟用 hidePayloads 後,MCP 端點會在讀取追蹤資料時,不把原始提示詞暴露給代理。
- 稽核跨租戶的失敗:把每個租戶的失敗 span 加總起來,就變成例行性的 group-by 查詢,而不是從儀表板匯出報表。
主要功能
是函式庫,不是服務
Breadcrumb 以程式碼相依套件的形式安裝,這表示你的追蹤資料不會經過外部帳號或網路跳轉。你建立一個實例,把它指向你的資料庫,它就在你的行程裡運作。除非你另有決定,否則沒有任何東西會離開你的基礎架構。不會有意外。對資料規則嚴格的團隊來說,這往往就是決定性因素。
追蹤資料存在你自己的資料庫
Span 會被正規化到單一資料表 breadcrumb_spans,存在你應用程式原本就在寫入的資料庫裡。它不是匯出檔、不是 webhook,也不是架在別人結構描述上的唯讀 API。你的分析會變成用你所用 ORM 就能寫的一般查詢,所以你可以把追蹤資料跟使用者、訂單或你保存的任何東西關聯起來。舉例來說,Prisma 使用者可以把這張資料表拉進來,當成任何其他模型來處理。
自動的模型追蹤
模型呼叫會自己加上追蹤。你在 Vercel AI SDK 期待 experimental_telemetry 的地方傳入 bc.telemetry(),Breadcrumb 就會從 SDK 本來就會發出的屬性裡,讀取模型、供應商、token 數量、成本和內容。不必在每次呼叫周圍手動組裝 span。這讓設定維持精簡,也讓既有專案更容易加上追蹤而不必改寫。
用 bc.trace() 做時間軸追蹤
模型呼叫周邊的工作不會自己加上追蹤,所以要靠你用 bc.trace() 包起來。檢索、工具呼叫和最後的資料庫寫入,都會跟模型 span 落在同一條時間軸上。當請求感覺很慢時,你能看出延遲是在檢索、某個工具,還是模型本身,而不是憑猜測。
給程式碼代理的 MCP 存取
Breadcrumb 透過 MCP 提供追蹤資料,所以代理可以像開發者那樣查詢。你可以給程式碼代理一組金鑰,讓它在正式環境的追蹤資料裡翻找,或自己讀儀表板。hidePayloads 選項會讓原始提示詞不進入代理所能看到的範圍,這在追蹤資料含有敏感使用者輸入時很重要。
由你掌控的自訂儀表板
儀表板是一個元件,不是固定不變的 SaaS 畫面。託管工具必須保持通用,因為它要服務所有人的應用程式;你的儀表板只需要服務你自己的。你把它掛在自己的驗證機制後面,還能用頁面形式在裡面加上額外的面板。當儀表板介面位在別人的網域上、又得服務每個客戶的應用程式時,這種彈性很難得到。
無按事件計量的保留機制
保留期是你依環境設定的時間窗,隨著追蹤資料進來而逐步清除。沒有任何東西是按事件計量的,所以你永遠不必為了壓低帳單而去取樣或丟棄內容。資料留多久由你決定,而在保留期間內你能保存完整的追蹤資料。
優缺點
優點
- 追蹤資料存在你自己的資料庫,所以你能把它跟使用者、帳務和租戶資料關聯起來。
- 沒有按事件計價,讓你能保存完整內容,而不必為了控制成本而取樣。
- 追蹤機制很輕量:模型呼叫會透過 AI SDK 自動取得遙測資料。
- 儀表板是掛在你自己的驗證機制後面的元件,所以提示詞資料能保持私密。
- MCP 支援讓程式碼代理能直接查詢追蹤資料,加快調查速度。
缺點
- 它只針對 Vercel AI SDK 上的 TypeScript 應用程式,所以 Python 或其他技術堆疊不在涵蓋範圍內。
- 資料庫和儲存得由你自己處理,如果你原本沒在跑 Postgres,就會增加工作量。
- 沒有受管理的雲端選項,所以想要零設定的團隊得另找工具。
常見問題
Breadcrumb 會追蹤 TypeScript 應用程式裡的 LLM 呼叫,讓你能看出 AI 代理做了什麼、時間花在哪裡。它把模型呼叫、檢索、工具使用和資料庫寫入都記錄在同一條共用的時間軸上,並把每一個 span 保存在你能掌控的資料庫裡,而不是第三方的資料庫。
相關內容
探索與 Breadcrumb 相關的工具、技能與文章。
Breadcrumb 替代方案
Forefront
Forefront · 程式設計Forefront 是一個用來打造開源 AI 的網頁平台。你可以用自己的資料微調主流的開源語言模型、評估它們的表現,再透過 API 執行,或匯出後自行架設。想要封閉式平台的便利、卻堅持要自己擁有模型與資料的開發者,就是這裡的目標客群。
Startkit
StartKit.AI · 程式設計Startkit 是一套用來打造 AI SaaS 與 AI 包裝產品的樣板。可以把它想成一個 AI 新創樣板,把枯燥的部分都先接好了:驗證、Stripe 與 Lemon Squeezy 付款、用量限制、交易型電子郵件,以及一套能與 OpenAI、Anthropic、Groq 或 Llama 溝通的 AI API 啟動套件。你複製儲存庫、設定價格,然後專心在產品中使用者真正願意付費的部分。它建構於 React 與 Tailwind 之上的 Next.js,所以大部分的樣板程式碼對你來說並不陌生。
Testim
Tricentis · 程式設計Testim 是專為網頁、行動與 Salesforce 應用程式打造的 AI 測試自動化平台,用來建立並執行端到端測試。它靠機器學習在介面變動時維持測試穩定,團隊因此少花時間修補壞掉的定位器。對於一款今天就能開始使用的自動化測試工具來說,這表現不算差。你透過在瀏覽器錄製動作來建立測試,需要更多控制時再補上 JavaScript。對忙碌的 QA 團隊來說,這是個可靠的選擇。
