
Mastra
Mastra AI · 程式設計
Mastra 是一套以 TypeScript 撰寫的開放原始碼框架,用來打造 AI 代理與 AI 驅動的應用程式。它把代理、圖形化工作流程、記憶,以及跨數十家供應商的模型路由,再加上可觀測性,整合進單一技術堆疊。你可以把它接上 React、Next.js 或 Node,也可以當成獨立伺服器來執行。如果你的團隊本來就寫 TypeScript,Mastra 是通往可運作 AI 產品的短捷路徑。

關於 Mastra
Mastra 是什麼
Mastra 是一套框架,不是免寫程式的建構工具。它就是程式碼。你留在程式碼裡,描述代理、工具與工作流程,然後讓框架處理那些平常得從頭重寫的底層管線:呼叫模型、執行工具、儲存狀態,以及追蹤發生了什麼。
它的訴求明確而誠實。多數 AI 框架以 Python 優先,JavaScript 支援往往來得晚。Mastra 從第一天就是為 TypeScript 而寫,所以你在串接代理時能享有型別安全、自動補完與編譯期檢查。如果你是前端或全端開發者,不想為了推出一個 AI 功能再多學一種語言,這點很重要。
代價是 Mastra 預設你會寫程式。對開發者來說沒問題。它有一套 CLI 與本機 Studio,可用滑鼠點擊檢視執行過程,但沒有給非開發者用的拖放畫布,而且一些較新的部分,例如實驗性的代理建構工具,要在正式環境使用需要企業授權。如果你要的是給非技術團隊的視覺化工具,那它不是。
開始使用
- 用
npm create mastra@latest安裝 CLI,並挑一個範本,從基本聊天機器人到文件分析應用程式都有。 - 在環境檔中加入模型供應商的金鑰,例如 OpenAI 或 Anthropic 的金鑰。
- 在
src/mastra/agents資料夾定義一個代理,並在src/mastra/tools註冊你的工具。 - 執行
npm run dev開啟本機 Studio,在瀏覽器裡測試這個代理。 - 把 Mastra 伺服器部署到你自己的基礎架構,或打包進現有的 Next.js 或 Node 應用程式。
產品資訊
快速了解 Mastra 的定價、支援平台與效能。
適合對象
這項工具最適合的使用者、任務與情境。
使用者
- TypeScript 與 JavaScript 開發者:這套框架是為他們現有的技術堆疊而寫,所以不必換語言,也沒有另一個 Python 服務要維護。
- 全端與前端工程師:已經在出貨 React 或 Next.js 的團隊,可以在同一份程式碼裡加入代理與工作流程。
- 正在做 AI 功能原型的初創公司:開放原始碼授權與免費方案,讓你先用低成本測試代理構想,再決定要不要投入付費方案。
任務
- 打造自主代理:代理運用模型與工具處理開放式任務,自行選擇要呼叫哪個工具,並反覆迭代直到得出答案。
- 協調多步驟流程:工作流程引擎處理分支、平行步驟與長時間執行的作業,並讓你明確掌控執行順序。
- 加入記憶與脈絡:記憶系統保留對話紀錄,並從 API、資料庫與檔案取回資料,讓代理跨工作階段保持一致。
- 監控正式環境中的代理:內建的評估與可觀測性會顯示每個代理做了什麼、在哪裡失敗,這些用單純的 API 外殼很難取得。
情境
- 需要查訂單並轉交真人的客服代理:human-in-the-loop 步驟能讓工作流程暫停等待核准,之後再繼續。
- 程式開發、法律或研究領域的專屬副駕駛:你可以把代理指向自己的資料來源,並在多個工具間重複使用同一套設定。
- 發布 MCP 伺服器:想把自己的工具開放給其他 AI 系統的團隊,可以透過 Mastra 撰寫 Model Context Protocol 伺服器。
主要功能
跨多家供應商的模型路由
Mastra 透過單一介面連接數十家模型供應商,所以從 OpenAI 換到 Anthropic 或 Gemini,不必改寫你的整合程式碼。你換一個模型,邏輯照舊。官網宣稱支援 90 家以上供應商,而 GitHub README 則提到 40 家以上,所以在假設某個供應商已支援之前,先查一下最新文件。
圖形化工作流程
當代理的自由推理太過鬆散時,工作流程給你明確的控制權。你用 .then() 串接步驟,用 .branch() 做條件分支,用 .parallel() 平行執行工作。它讀起來像程式碼,因為它就是程式碼。這讓複雜的多步驟流程保持可除錯。
Human-in-the-loop
你可以暫停一個代理或工作流程,等人員核准或提供輸入後再繼續。Mastra 會儲存執行狀態,所以暫停的執行可以放上數小時甚至數天,並從中斷處精準接續。這正是讓需經核准的自動化變得實用而非脆弱的原因。脈絡不會遺失。
記憶與脈絡管理
代理能取得對話紀錄,並從你自己的來源(例如 API、資料庫與檔案)取回資料。Mastra 也提供工作記憶與語意記憶層,讓代理在長時間任務中記住相關細節。你可以控制每個步驟要放入哪些脈絡,而不是把所有東西都塞進提示。
支援 MCP 伺服器
Mastra 可以撰寫 Model Context Protocol 伺服器,把你的代理與工具開放給任何使用該協定的系統。這讓你的內部工具變成其他 AI 客戶端能呼叫的東西,不必每次都打造專屬整合。
內建評估與可觀測性
要推出可靠的代理就得量測它們。Mastra 內建評估工具與追蹤功能,所以你能看見每個推理步驟、找出代理偏離的地方,並在不必猜測的情況下調校。多數團隊得自己打造這部分。這裡是內建的。
彈性部署
你可以把代理打包進現有的 React、Next.js 或 Node.js 應用程式,或把它們當成獨立端點發布。前端整合包含 Vercel 的 AI SDK UI 與 CopilotKit。你不必自己手刻聊天介面。
優缺點
優點
- 以 Apache 2.0 授權開放原始碼,所以你可以在商業專案中使用,不必為框架本身付費。
- 原生支援 TypeScript,代表在打造代理時有強型別、編輯器自動補完與編譯期檢查。
- 模型路由讓你的程式碼與任何單一供應商解耦,降低嘗試其他模型的成本。
- 可觀測性與評估是內建的,所以你不必在發布後才補上監控。
- 可部署為獨立伺服器,也可放進現有應用程式,給你選擇而不是單一強制路徑。
缺點
- 設計上就是程式碼優先,所以非開發者無法用它打造;核心框架沒有視覺化拖放建構工具。
- 一些較新的功能,包括代理建構工具,標示為實驗性,正式環境使用需要企業授權。
- 企業方案價格未公布在官網,所以有預算疑問的團隊必須聯絡業務才能取得數字。
常見問題
Mastra 是一套 TypeScript 框架,用來打造 AI 代理與 AI 驅動的應用程式。開發者用它建立自主代理、協調多步驟工作流程、加入記憶與取回,以及監控正式環境中的代理,全部在一般的 TypeScript 專案裡完成。
相關內容
探索與 Mastra 相關的工具、技能與文章。
Mastra 替代方案
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 團隊來說,這是個可靠的選擇。
