用纯 TypeScript 构建 AI Pipeline 与 Agent:Mastra 的一次现场拆解
正在加载视频...
视频章节
这是一场偏实战的工作坊,Nick Nisi 与 Zack Proser 用一个“生成表情包”的完整案例,讲清楚了 Mastra 如何在纯 TypeScript 中构建 AI workflows、tools 与 agents。视频最大的价值不在概念,而在于他们如何把看似复杂的 Agent 系统拆成可组合、可调试、可落地的工程结构。
用纯 TypeScript 构建 AI Pipeline 与 Agent:Mastra 的一次现场拆解
这是一场偏实战的工作坊,Nick Nisi 与 Zack Proser 用一个“生成表情包”的完整案例,讲清楚了 Mastra 如何在纯 TypeScript 中构建 AI workflows、tools 与 agents。视频最大的价值不在概念,而在于他们如何把看似复杂的 Agent 系统拆成可组合、可调试、可落地的工程结构。
为什么他们一上来就强调:这是一个真正的“Workshop”
这场分享一开始就定下了基调。Nick 在开场时明确说,这是一个“true workshop format”,而不是传统的产品宣讲:前半段快速讲核心概念,后半段直接动手,最后还有一个完整 demo 和 Q&A。为什么这点重要?因为 AI Agent 相关内容太容易停留在概念层,而他们选择用工程实践来回答“到底怎么做”。
Nick 和 Zack 都来自一家叫 Work OS 的公司,他们每天面对的不是“能不能做 Agent”,而是“Agent 如何在真实系统里安全、可靠地替人工作”。Nick 提到一个关键点:他们关注的是“给 agent 绑定身份(identity)”,让它“能代表你行动,并且知道你是谁”。这不是炫技,而是企业场景下绕不开的问题。
这种背景也解释了他们为什么选择 Mastra。整个 workshop 不是在比较模型效果,而是在展示一种工程方法论:如何在熟悉的 TypeScript 生态里,把 AI 能力变成可维护的软件系统。
Mastra 到底解决什么问题:不是“又一个框架”,而是一套工程底座
在正式写代码之前,Zack 抛出了一个核心问题:“What is Mastra?” 他的回答很克制,但信息量很大。Mastra 被定义为一个 framework,但它不是只管 agent,而是同时覆盖 workflows、tools 和 agents,并且内置了 persistence(持久化)、memory(记忆)、observability(可观测性)以及 evaluation(评估)。
这里的洞见在于:他们并不把 Agent 当成一个孤立的聊天机器人,而是当成系统中的一环。Workflows 是可组合的 pipeline,用来把多个步骤串起来完成一件事;tools 本质上就是函数,但可以被 LLM 调用,从而“代表你行动”;agents 则是把这些 workflow 和 tools 包装进一个对话式接口。
Nick 在讲 workflows 时用了一句非常工程师的解释:“The idea is you're chaining multiple steps together to get some work done。”在 demo 中,他们用 Zod 来做输入校验,明确了 schema 边界。这种细节说明,Mastra 并不是让你放弃严谨性,而是把 AI 能力放进现有的工程规范里。
从 Tool 到 Agent:为什么 MCP 是理解 Agent 的关键一环
当话题转到 tools 时,Zack 给了一个很具体的定义:“tools are just functions that agents can call”。如果你用过 MCP(Model Context Protocol),你会立刻明白这句话的分量。MCP 的核心价值在于:它给了大语言模型一个标准化的方式去调用外部能力。
Nick 提到,真正让他“理解 MCP 的”,是 GitHub MCP server。那一刻他意识到,Agent 并不是魔法,而是模型 + 明确的上下文 + 可调用的工具。顺着这个思路,他们还做了一个小 demo——mcp.shop,用来展示 MCP 如何驱动一个真实的交互流程。
在讲 agents 时,Zack 也刻意去掉了神秘感。他说,我们都用过 chatbot,而 agent 只是“我们现在看到的核心模式”。不同之处在于,agent 背后不再是一次性 prompt,而是一个可以反复调用 workflow、使用 tool、并且有状态的系统。
现场 Demo:用“吐槽生成表情包”串起完整 Agent 流程
真正让现场热起来的,是他们选择的 demo。本次 workshop 要构建的是:用户输入一段“吐槽”,系统会自动生成一个表情包,并发布在一个稳定的 URL 上。这个看似轻松的例子,实际上覆盖了完整的 Agent 架构。
他们把流程拆成多个步骤:找到基础 meme、生成文案、生成最终图片。这些步骤被组织成一个 workflow,然后再交给一个对话式 agent 使用。Nick 在展示本地 playground 时特别兴奋,他说这是他“最喜欢的东西之一”——运行 npm dev 后,你可以在本地看到 agents、networks、tools、MCP servers 和 workflows 的整体结构。
当他们在聊天界面里直接“ask the chat and see the output”时,观众看到的并不是一个临时拼出来的 Demo,而是一个可复用的多步骤 workflow,被自然地嵌入到对话 Agent 中。这一刻,Agent 不再是概念,而是一个你可以 debug、可以扩展的工程实体。
总结
这场 workshop 的价值,并不在于介绍了多少新名词,而在于它提供了一种清晰的工程路径:用 workflows 管复杂度,用 tools 连接现实世界,用 agents 作为交互层。Nick 和 Zack 反复强调的,其实是一件事——不要神话 Agent,把它当成软件来构建。对已经在 TypeScript 生态中的开发者来说,Mastra 展示了一种把 AI 真正“落地”的可能性。
关键词: Mastra, AI Agent, TypeScript, MCP, Workflow
事实核查备注: 演讲者:Nick Nisi、Zack Proser;框架名称:Mastra;核心概念:workflows、tools、agents、MCP(Model Context Protocol);技术细节:Zod 用于输入校验;Demo 内容:基于用户吐槽生成并发布表情包;开发环境:本地 playground,通过 npm dev 运行