最终项目:课程学习助手
项目目标
最终项目叫 Study Agent。它不是生产级 SaaS,而是一个保留 Mastra 核心思想的教学项目:
- 用 Agent 承接开放式学习咨询。
- 用 Tool 搜索课程资料和生成练习。
- 用 Workflow 编排学习计划生成。
- 用 Memory 保存对话线程。
- 用离线脚本模拟完整链路。
- 用离线评估脚本练习固定样例和 scorer 思维。
- 用 Mastra Studio 调试真实 Agent。
功能边界
| 功能 | 教学版实现 |
|---|---|
| 课程资料 | 本地 TypeScript 数组 |
| 检索 | 关键词重叠评分 |
| 练习题 | 基于命中资料生成模板题 |
| 学习计划 | Workflow 分步生成 |
| 记忆 | Mastra Memory + LibSQL |
| 评估 | 本地 eval cases + 规则 scorer |
| UI | 使用 Mastra Studio,不自建前端 |
架构
mermaid
flowchart TB
User[学习者] --> Studio[Mastra Studio]
Studio --> Agent[studyAgent]
Agent --> SearchTool[searchCourseTool]
Agent --> ExerciseTool[generateExerciseTool]
Agent --> PlanTool[createStudyPlanTool]
Agent --> Memory[Memory]
SearchTool --> Materials[courseMaterials]
PlanTool --> Materials
Workflow[studyPlanWorkflow] --> SearchTool
Workflow --> PlanTool
Memory --> Store[LibSQLStore]目录结构
text
apps/study-agent/
├── scripts/
│ ├── eval-offline.ts
│ └── offline.ts
└── src/
├── data/
│ └── course-materials.ts
└── mastra/
├── agents/
│ └── study-agent.ts
├── tools/
│ ├── course-search-tool.ts
│ ├── exercise-tool.ts
│ └── study-plan-tool.ts
├── workflows/
│ └── study-plan-workflow.ts
└── index.ts为什么不做复杂前端
本教程重点是 Agent 应用的运行链路。Mastra Studio 已经能测试 Agent、Tools 和 Workflows。初学阶段先把后端运行机制跑通,再扩展到 Web UI 更稳。