Skip to content

最终项目:课程学习助手

项目目标

最终项目叫 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 更稳。