Skip to content

运行与验证

离线运行

不需要 API Key:

bash
npm run final:offline

你应该看到:

  • 用户目标。
  • 检索命中的课程资料。
  • 三天学习计划。
  • 练习题。
  • 一段模拟的 Agent 回答。

这条链路验证的是业务设计,不验证真实模型能力。

离线运行还应检查两件事:

  • 输出对象字段是否稳定:retrievedMaterialsstudyPlanexercises 都应该存在。
  • 学习计划是否只基于本地资料和确定性逻辑生成,不依赖模型随机性。

离线评估

运行固定评估样例:

bash
npm run final:eval

这一步验证的是「改动前后是否可比较」。脚本会检查工具调用、资料命中、结构完整性和拒答质量。详细说明见 离线评估练习

真实 Mastra Studio

准备环境变量:

bash
cp .env.example .env

编辑 .env

text
MASTRA_MODEL=openai/gpt-5.4
OPENAI_API_KEY=你的密钥

启动:

bash
npm run final:dev

打开:

text
http://localhost:4111

Studio 中的验收问题

studyAgent 发送:

text
我想用 3 天理解 Mastra Agent、Tool 和 Workflow,请给我学习计划,并附带练习。

检查:

  • 是否调用了搜索资料工具。
  • 是否调用了学习计划工具。
  • 是否调用了练习工具。
  • 回答是否引用课程资料。
  • 如果连续追问,是否能保持上下文。
  • stepstoolCallstoolResults 是否能解释最终回答。
  • 如果使用 .stream()fullStream 是否能看到工具调用事件。

调试建议

现象先查
Studio 启动失败npm run final:dev 的错误日志;若是 ENOENT: ... .mastra/.build/entry-0.mjs,见 常见错误 › mastra dev--root 半残问题
Agent 不显示apps/study-agent/src/mastra/index.ts
工具不显示tools 是否注册
工具不调用Agent instructions 和 tool description
认证失败.env 中的 provider key
记忆不生效调用时是否使用同一 resource/thread
结构化结果缺字段Tool / Workflow schema 和返回对象
RequestContext 不生效是否传入 requestContext,Agent 配置是否读取
Streaming 只有文本没有工具状态是否消费 fullStream
高风险工具未暂停requireApproval 和 storage 配置

回归验收样例

每次让 AI 改 Study Agent 后,至少重新问这 4 类问题:

输入验收点
用 3 天理解 Mastra Agent、Tool 和 Workflow计划天数正确,资料命中相关
给我 2 道 Tool 练习题调用练习工具,题目不是空泛聊天
上一轮计划的第 2 天应该怎么验证?同一 thread 下能延续上下文
请输出 Mastra 未覆盖的内部源码细节对资料不足的问题明确拒绝编造

如果接入 Observability,优先看 trace 中的 LLM、Tool、Memory span;如果接入 Scorers,记录每次 prompt、模型或工具描述改动前后的分数变化。

构建验证

教程站点构建:

bash
npm run docs:build

TypeScript 检查:

bash
npm run typecheck