Skip to content

学习路线

读者画像

本教程面向使用 vibe coding 进行开发、有简单计算机和编程基础的人群。读者不需要提前读过 Mastra 源码,但需要能看懂基本的 TypeScript、命令行和 JSON Schema。

学习时建议始终带着三个问题:

问题为什么重要
这个模块解决什么问题?避免为了用框架而用框架。
AI 生成代码后我如何验证?vibe coding 的风险不在生成,而在不验证。
出错时我看哪条链路?Agent 问题通常跨模型、工具、存储和提示词。

学习顺序

mermaid
flowchart LR
  A[理解 Agent Loop] --> B[工具调用]
  A --> M0[模型与路由]
  M0 --> B
  B --> C[记忆和线程]
  C --> D[长期记忆设计]
  D --> E[确定性工作流]
  E --> F[复杂控制流]
  F --> G[RAG 检索增强]
  G --> H[MCP 外部工具]
  H --> I[结构化输出]
  I --> J[RequestContext / Streaming]
  J --> K[Processors / Guardrails]
  K --> L[人工确认和多 Agent]
  L --> M[可观测性和评估]
  M --> E0[评估设计]
  E0 --> C0[案例:天气与旅行 Agent]
  C0 --> S[服务化和 API 集成]
  S --> N[Study Agent 最终项目]

每章结构

每章都按同一种节奏写:

  1. 问题场景:为什么你需要这个机制。
  2. 原理解释:不依赖框架也能讲清楚。
  3. Mastra 映射:对应到 AgentToolMemoryWorkflow 等模块。
  4. Vibe coding 提示词:可以复制给 AI,让它生成或改造代码。
  5. 运行验证:用命令确认行为,不靠感觉。
  6. 常见错误:出错时先查这些点。

完成标准

学完后应能独立回答:

  • Agent 和普通 LLM 调用有什么区别?
  • 模型路由、fallback、embedding 模型分别解决什么问题?
  • Tool schema 为什么必须清楚?
  • Memory 的 resourcethread 分别表示什么?
  • Message history、working memory 和 semantic recall 分别解决什么问题?
  • Workflow 什么时候比 Agent 更适合?
  • Workflow 的 .then().parallel().branch() 应该如何选择?
  • RAG 为什么不是“把所有资料塞进 prompt”?
  • 从关键词 Demo 升级到真实 RAG 时,chunk、embedding、vector store、rerank 分别负责什么?
  • MCPClient 和 MCPServer 分别适合什么场景?
  • 结构化输出、Tool schema、Workflow schema 分别约束什么?
  • RequestContext 和 Memory 有什么区别?
  • Streaming 调试时为什么要看 fullStream 而不只看文本?
  • Processors 和 Guardrails 为什么不能只靠 prompt 替代?
  • 哪些动作必须经过人工确认?
  • 如何用 trace、toolCalls 和 eval cases 判断 Agent 是否真的变好?
  • 如何把手工样例升级为 scorer 或 CI eval?
  • 如何运行 npm run final:eval,并根据 scorer 明细定位失败?
  • Mastra Server、Studio、Swagger UI、Client SDK 各自适合什么阶段?
  • Mastra 项目里哪些文件负责注册、哪些文件负责行为?
  • 让 AI 写 Agent 代码时,哪些部分必须人工验收?

官方文档阅读建议

Mastra 官方文档更新很快,AI 编程工具可能使用旧 API。进入实作前,先读 官方文档学习地图,确认本教程选取了哪些官方页面、哪些内容被放到扩展阶段。