学习路线
读者画像
本教程面向使用 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 最终项目]每章结构
每章都按同一种节奏写:
- 问题场景:为什么你需要这个机制。
- 原理解释:不依赖框架也能讲清楚。
- Mastra 映射:对应到
Agent、Tool、Memory、Workflow等模块。 - Vibe coding 提示词:可以复制给 AI,让它生成或改造代码。
- 运行验证:用命令确认行为,不靠感觉。
- 常见错误:出错时先查这些点。
完成标准
学完后应能独立回答:
- Agent 和普通 LLM 调用有什么区别?
- 模型路由、fallback、embedding 模型分别解决什么问题?
- Tool schema 为什么必须清楚?
- Memory 的
resource和thread分别表示什么? - 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。进入实作前,先读 官方文档学习地图,确认本教程选取了哪些官方页面、哪些内容被放到扩展阶段。