Mastra + Vercel AI SDK + 设备端 GGUF:无 API 成本的 TypeScript 移动智能体栈
TypeScript 优先的移动开发者不必使用 Python 智能体框架。Mastra 与 Vercel AI SDK 加上一个通过 llama.cpp 在设备端运行的微调 4B 模型,产出零按 token 成本的完整智能体栈。
更新于 2026-05-10——反映本指南撰写以来 5 月初登陆的 Mastra 发布。5 月 1 日的发布新增了一套新的 ChannelProvider 架构、带 OAuth 的 Slack provider、
@mastra/nestjs适配器以及 Google Drive WorkspaceFilesystem;5 月 4 日的发布新增了基于关系的 FGA 授权、调度的 cron 工作流以及用于端到端浏览器自动化的新@mastra/browser-viewer。这些都没有改变下方的设备端微调模型模式——它们扩展了周边平台。
到 2026 年大多数智能体框架讨论仍假设 Python。LangGraph、CrewAI、AutoGen、Pydantic AI——经典参考都生活在 Python 生态。对于后端工程师与 ML 实践者,这是合理的默认。对于交付 React Native、Expo 或混合 Capacitor 应用的移动开发者,这是错的语言。一个 TypeScript 代码库不应需要 Python 边车来运行智能体。
TypeScript 生态现在拥有解决这个问题的两个优秀智能体框架。Mastra 在 2026 年 1 月跨过 22,000 GitHub stars 并发布了 1.0。Vercel AI SDK 已经将近两年成为流式优先的事实工具包,如今支撑着用 TypeScript 编写的生产 LLM 应用中相当部分。两者都能干净地与自托管模型协作,两者都围绕边缘原生部署设计,两者与一个在设备端运行的微调 4B 模型搭配尤为出色。
本指南走完整条 TypeScript 原生移动智能体栈:用 Mastra 进行编排、用 Vercel AI SDK 进行推理、用一个导出为 GGUF 的 Ertas 训练 Qwen3-4B 或 Gemma 4 E4B 模型,以及用 Ertas Deployment CLI 把它部署到 React Native 应用。从端到端,该栈在最初训练步骤之后无需调用任何托管 API 即可运行。
简要介绍两个 TypeScript 框架
Mastra 是更高层的选项。它在一个电池自带的包里给你带类型的智能体定义、声明式工作流、持久化内存、评估与 RAG 原语。工具定义是带 Zod schema 的地道 TypeScript。工作流是基于步骤的 DAG,能在进程重启中存活。内存与评估无需额外胶水即可集成。当你想要一个为 JavaScript 运行时塑形的完整智能体平台时,你选 Mastra。
Vercel AI SDK 是更低层的选项。它暴露流式原语、通过 Zod 实现的结构化输出,以及一个覆盖 90 多家模型提供商的通用提供商抽象——Anthropic、OpenAI、Google、Mistral、Cohere,加上 Ollama 与 llama.cpp 等自托管运行器。Mastra 也在内部调用 SDK 进行推理。所以实际上你不必二选一:Mastra 提供编排层,Vercel AI SDK 提供推理层,而微调本地模型给你成本结构。
这种组合是 TypeScript 最接近 Python 开发者整年构建的 Pydantic AI 加 Ollama 故事的方案——但原生于移动开发者已经使用的运行时。
我们要构建什么
示例智能体是一款 React Native 健身应用的训练计划生成器。智能体读取自然语言请求,挑选正确的工具,并产出经过验证的计划。它有三个工具:
get_user_profile()返回用户的年龄、体重、训练史find_recent_workouts(limit: number)把最近 N 次训练作为结构化记录返回propose_workout(focus: string, duration_min: number, difficulty: string)产出结构化训练计划
输出是一个 WorkoutPlan Zod 对象。Mastra 根据 schema 验证每次输出。工具调用根据其输入 schema 验证。整个智能体在用户手机内运行,除可选遥测外无网络调用。
这是那种在前沿 API 上很快变贵的智能体。每天记两次训练的用户每个会话产生四到六次智能体调用,多轮、上下文非平凡。在 10,000 月活时,你花在推理上的费用比托管费还多。