在 Mastra 中,Agent 是一个将模型、指令、工具集和运行时行为整合到单一对象中的类型化定义。开发者通过 Agent 类创建实例,配置 id、name、instructions(系统提示词)、model(模型标识)和 tools(工具集)等属性。所有配置都支持 TypeScript 类型推断和 IDE 自动补全。
Mastra Agent 采用 ReAct(Reasoning + Acting)模式工作。Agent 接收用户输入后,模型会自主决定是直接回复还是调用工具。如果需要调用工具,Agent 执行工具调用并将结果反馈给模型,模型继续推理,如此循环直到模型输出最终答案或达到预设的停止条件。整个过程在 TypeScript 中原生运行,无需额外的编排层。
Mastra 使用 Zod schema 定义工具的输入和输出结构。每个工具通过 createTool 函数创建,包含 id、description、inputSchema(输入校验规则)、outputSchema(输出结构)和 execute(执行函数)。这种设计确保模型的工具调用与运行时逻辑严格对齐,实现端到端的类型安全。