Mastra + Ertas

    使用 Mastra 以 TypeScript 建構正式上線等級的 AI 代理——這是建構於 Vercel AI SDK 之上的框架,負責處理工作流程、記憶體、評估與部署,並對微調本地模型提供一流支援。

    Overview

    Mastra 是建構於 Vercel AI SDK 之上的 TypeScript 優先代理框架。它瞄準的是 LangGraph 與 CrewAI 等框架在 Python 生態中所填補的「正式上線代理開發落差」——工作流程編排、持久化記憶體、結構化評估、可觀測性以及部署模式——但採用 TypeScript 的人因設計,並與 JavaScript/edge 生態系緊密整合。自 2026 年 1 月發佈 1.0 版以來,Mastra 已累積超過 22K 個 GitHub 星標,每週 npm 下載量超過 30 萬次,使其成為 TypeScript 生態系中佔主導地位的正式上線代理框架。

    Mastra 的設計哲學強調「漸進式複雜度」:你可以從單一代理開始,隨著需求成長再加入工具與工作流程,並在不重構程式碼庫的情況下整合記憶體與評估。框架為代理狀態機(工作流程)、對話記憶體(支援多種儲存後端)、結構化工具使用以及人類介入檢查點提供一流的基本元件。由於建構於 Vercel AI SDK 之上,Mastra 繼承了與 94 家供應商超過 3,300 個模型的相容性——包括任何提供 Ertas 訓練模型的 OpenAI 相容端點。

    How Ertas Integrates

    Ertas 訓練的模型透過 Vercel AI SDK 的 provider 抽象層接入 Mastra 代理。在 Ertas Studio 微調模型並部署至 Ollama、vLLM 或 Ertas Cloud(任何 OpenAI 相容端點)後,你只需配置一個 Mastra 代理使用該端點——通常只需要兩行 provider 設定。從這時起,Mastra 所有的框架功能(工具、工作流程、記憶體、評估)都會像對接前沿 API 模型一樣,透明地與你的微調模型協同運作。

    TypeScript 原生的設計對於要將 AI 功能導入既有 JavaScript 產品的團隊特別有價值。Web 應用程式、edge 函式、行動應用後端以及 Node.js 服務都可以直接使用 Mastra 代理,不需要橋接到 Python 服務。再結合部署於相同 edge 基礎設施上的 Ertas 訓練模型(例如,透過自託管伺服器上的 Ollama 或 Ertas Cloud),就能實現完全自包含、跨語言邊界的 TypeScript 代理部署——這正是跨語言代理架構中常見的痛點。

    Getting Started

    1. 1

      於 Ertas Studio 微調模型

      透過 Ertas Studio 以 JSONL 資料訓練你的特定領域模型。微調後的模型會擷取你的領域詞彙、推理模式與工具使用慣例。

    2. 2

      部署至 OpenAI 相容端點

      匯出為 GGUF 並透過 Ollama、vLLM 或 Ertas Cloud 提供服務。Mastra 可與任何提供標準 /v1/chat/completions API 的端點協同運作。

    3. 3

      安裝 Mastra 並設定模型 provider

      安裝 @mastra/core 並設定一個指向你的推論端點的自訂 OpenAI 相容 provider。Vercel AI SDK 的 createOpenAI 輔助函式可直接處理此設定。

    4. 4

      以工具與工作流程定義你的代理

      建立一個包含角色說明、工具(函式呼叫、RAG 檢索器)以及工作流程步驟的 Mastra 代理。若使用情境跨越多次會話,可加入持久化記憶體。

    5. 5

      加入評估並上線

      設定 Mastra 評估,在你迭代時於代表性測試集上追蹤代理品質。部署至 Vercel、自有基礎設施或任何 Node.js 主機。

    typescript
    import { createOpenAI } from "@ai-sdk/openai";
    import { Agent } from "@mastra/core";
    
    // Point Mastra at your Ertas-trained model served via Ollama
    const ertas = createOpenAI({
      baseURL: "http://localhost:11434/v1",
      apiKey: "not-needed",
    });
    
    const supportAgent = new Agent({
      name: "support-agent",
      instructions: "You are a customer support agent for an enterprise SaaS platform.",
      model: ertas("ertas-support-7b"),
      tools: {
        lookupCustomer: {
          description: "Look up customer details by ID",
          parameters: z.object({ customerId: z.string() }),
          execute: async ({ customerId }) => {
            return await db.customers.findById(customerId);
          },
        },
      },
    });
    
    const result = await supportAgent.generate({
      messages: [{ role: "user", content: "What's the status of my account?" }],
    });
    console.log(result.text);
    透過 Vercel AI SDK 的 OpenAI 相容 provider,將 Ertas 訓練的模型接入 Mastra 代理,再加入工具即可上線。

    Benefits

    • TypeScript 原生——可直接將代理出貨至 web 應用、edge 函式與 Node.js 服務
    • 一流的 Vercel AI SDK 整合,支援 3,300 個以上模型,包括本地 Ertas 訓練模型
    • 內建工作流程編排、持久化記憶體與結構化評估
    • 正式上線等級的日誌、可觀測性與人類介入檢查點
    • 可部署至 Vercel edge 或任何 Node.js 基礎設施,沒有語言邊界
    • 活躍且持續成長的 TypeScript 代理生態系,擁有強大的開源社群

    Related Resources

    Ship AI that runs on your users' devices.

    Early bird pricing starts at $14.50/mo — locked in for life. Plans for builders and agencies.