Mastra 源码学习
面向 TypeScript 的全栈 AI Agent 应用框架:Agent、工具、工作流、记忆、RAG、部署与可观测。这不是 API 速查表,而是一条可以重复走的源码路线:每天用 30 分钟,从一个真实相对路径出发,先用类比建立直觉,再把它接回整条运行链路。
开篇 · 这是个什么项目
Mastra 可以先想成一间AI 应用装配厂。它的代码不是一堆孤立文件:入口接到需求,核心对象做判断,工具或模型完成工作,状态把结果交给下一个环节。
架构全景(动起来看)
发光扫过的每一层都是一次任务可能经过的站点。不同仓库命名不同,但「接入 → 编排 → 核心能力 → 资源」的责任边界很相似。
怎么使用这份教程
每天 30 分钟
6 讲,每讲先问问题,再给本质和大白话。
真实相对路径
所有路径都从项目根目录算,不把你的机器路径写进源码引用。
先验证再推理
每页都有可复制 bash 命令;文件版本变化时以本地实际内容为准。
可迁移方法
学会从入口、数据结构、循环和扩展点读任何 AI 项目。
认识 Mastra 单仓库
package.json:理解 pnpm、Turbo 与 packages、stores 的分工。
从公共出口进入核心
packages/core/src/index.ts:追踪 @mastra/core 对外导出的主要能力。
Mastra 应用容器
packages/core/src/mastra:理解 Agent、Workflow、存储等组件如何被统一注册。
Agent 基础对象
packages/core/src/agent/agent.ts:阅读模型、指令、工具与生成接口如何组合。
消息与会话状态
packages/core/src/agent/message-list:理解消息怎样组织、追加与提供给模型。
流式回答和工具循环
packages/core/src/tool-loop-agent:理解模型发起 tool call 后的迭代执行。
定义 Tool
packages/core/src/tools:学习输入 schema、执行函数与工具结果。
模型与供应商抽象
packages/core/src/llm:理解统一模型接口与 provider 适配。
创建工作流
packages/core/src/workflows/create.ts:学习步骤、输入输出与 workflow 声明。
工作流执行引擎
packages/core/src/workflows/execution-engine.ts:理解步骤调度、状态推进与执行结果。
分支与并行
packages/core/src/workflows:阅读 branch、parallel、foreach 等控制流。
暂停和恢复
packages/core/src/agent/durable:理解持久化状态、人工介入与继续执行。
短期与长期记忆
packages/memory/src:学习记忆处理器、线程与上下文压缩。