ADR-001: 選用 Mastra AI 作為 Agent 框架
Arova Nexus — Phase 0 Product Definition | 2026-03-31

狀態: 已採納(Accepted)
日期: 2026-03
決策者: Software Architect

背景

Arova Nexus 的核心差異化是 AI-Native:多個 Agent(Triage / Correlation / Preventive / Compliance / Anomaly Detection)協同工作,透過 Workflow 驅動自動化。我們需要選擇一個 Agent 框架,同時要能支援:

決策時比較了 Mastra、LangChain/LangGraph、LlamaIndex、自研。詳細比較見 docs/research/Mastra_vs_LangChain_Comparison.md

決策

採用 Mastra AI(@mastra/core)作為 Agent 框架的核心。

理由

  1. TypeScript 原生 — 與前端 Next.js 同語言,不需要維護 Python/JS 兩套技術棧,降低工程團隊負擔
  2. 內建 Agent + Workflow + RAG + Memory + MCP — 一次備齊 5 大能力,不需要拼裝 LangChain + LangGraph + LlamaIndex
  3. 輕量可地端 — 無強制綁雲端依賴(對比 LangChain 多處預設 OpenAI 整合),符合 On-Prem First
  4. Hono 內建 HTTP server — 同一個 runtime 提供 API,不需要另起 FastAPI(Python)或 Express
  5. 官方支援 @mastra/ai-sdk — 直接和 Vercel AI SDK 的 useChat / useCompletion 橋接,前端 Copilot 不用自研串流邏輯
  6. Workflow 為一等公民 — Mastra Workflow 原生支援節點式流程定義、Step 執行、排程、Dry-Run,對應 PRD Automation 模組的核心功能

考慮過的替代方案

方案 優點 缺點
Mastra AI(選) TypeScript、內建完整、Hono、MCP、和 Vercel AI SDK 整合最佳 較新(2025 才成熟),社群比 LangChain 小
LangChain + LangGraph(TS) 生態最大、文件豐富 TS 版本功能比 Python 版落後;很多元件假設雲端依賴;Agent 編排需要自己組裝
LangChain(Python) 功能最完整 需要維護 Python 後端,前端 TypeScript 有語言斷層;部署複雜度增加
LlamaIndex RAG 方面很強 Agent 編排能力弱,Workflow 需要自研
自研 Agent Framework 完全可控 重新發明輪子;Mastra 已解決 80% 通用問題

影響

正面

負面 / 取捨

需要追蹤的風險

相關