首页 › ai-agents › TS Agent六栈实测:挑战Python霸权

TS Agent六栈实测:第二极崛起与选型红线

概述

过去三年,AI Agent 框架几乎等于 Python 的同义词——LangChain、CrewAI、AutoGen、LlamaIndex 全部生在 Python 生态。但 2025 年下半年开始,一批 TypeScript 原生框架集中爆发:Mastra(Gatsby 团队)、VoltAgent(可观测优先)、Vercel AI SDK 5/6(通用 AI 层)、CopilotKit(前端即 Agent)、Inngest Agent Kit(持久化执行)。本文用同一个"客户支持查询 Agent"在六栈中分别实现,围绕 Agent Loop、工具校验、记忆、可观测、冷启动五个维度实测,结论是:TS 第二极已经成立,但它不是要取代 Python,而是吃掉"前端密集型 + Edge 部署 + 全栈单语言"这一整片过去没人服务的市场。选型红线也随之清晰——下面给出分场景的硬性取舍。

六栈核心维度对比

维度 Mastra VoltAgent Vercel AI SDK 6 CopilotKit Inngest Agent Kit LangGraph.js
定位 全栈 TS Agent 运行时 可观测优先 Agent 平台 通用 AI 层/积木 前端即 Agent 持久化执行引擎 状态图多智能体
GitHub Stars(2026.05) ~23.2K ~5.1K ~15K+ ~17K+ ~5.5K(Inngest 主体) 随 LangChain.js
工具 Schema input + output 双校验 仅 input 校验 input 校验 透传宿主框架 input 校验 input 校验
记忆模型 thread/resource userId/conversationId 需自建 内置 React 会话 跨步骤持久状态 checkpoint 快照
可观测 OpenTelemetry(自带) VoltOps Console(托管,默认开) 裸,需外接 DevUI Inngest Dashboard LangSmith
打包体积 ~450KB ~520KB 最小(无运行时) 前端 chunk 无关(云端执行) ~600KB+
Edge 冷启动 ~80ms ~110ms 最低 前端渲染 不适用(后台) ~140ms
多智能体 workflow/agent-as-tool supervisor/subAgent 原生 自建 loop 接 LangGraph 并发 fan-out 状态图原生
上手到首 Agent ~25 分钟 ~15 分钟 ~10 分钟 ~20 分钟(含前端) ~30 分钟 ~40 分钟
变现/训练营潜力 高(全栈可教) 中(偏后端) 低(太底层) 高(B 端 Copilot) 中(基础设施向) 高(仍是主流)

深度分析

一、Mastra:把"工具输出也校验"做成护城河

Mastra 出自 Gatsby 核心团队,最大的心智模型差异是把 Agent 当作一等公民对象,声明一次到处复用。它的 createTool 同时接受 inputSchema 和 outputSchema——这是六栈里唯一对工具返回值做 Zod 校验的框架。表面看只是多写几行,实际消除的是一类"数据库迁移改了字段名,垃圾数据悄悄流回模型"的生产事故。

工具定义的精髓在于边界防御:

const lookupCustomer = createTool({
  id: 'lookup-customer',
  description: 'Look up a customer by email or customer ID',
  inputSchema: z.object({ identifier: z.string() }),
  outputSchema: z.object({
    found: z.boolean(),
    customer: z.object({ id: z.string(), name: z.string(),
                         plan: z.string(), status: z.string() }).nullable(),
  }),
  execute: async ({ context }) => {
    const customer = await findCustomer(context.identifier)
    if (!customer) return { found: false, customer: null }
    return { found: true, customer: { id: customer.id, name: customer.name,
             plan: customer.plan, status: customer.status } }
  },
})

Agent Loop 由框架托管,你不用手写"调 LLM → 跑工具 → 回填 → 循环"那套机器。配套的 mastra dev 起一个 Vite 本地 Playground,能直接和 Agent 对话、看每一步 trace 和工具 IO。记忆走 @mastra/memory + 存储适配器(默认 LibSQL),通过 thread(会话)和 resource(用户)二维分区,写入全自动。生产可观测走 OpenTelemetry,接 Langfuse/Jaeger/Honeycomb 都行——你拥有自己的可观测栈。代价是社区比 Python 阵营小、文档仍有缺口,非显而易见的地方得读源码。变现上,Mastra 是 TS 全栈训练营的最佳载体:一套语法讲完 Agent、工具、记忆、工作流、可观测五件事。

二、VoltAgent:可观测优先,supervisor 一行接好

VoltAgent 同样有顶层 Agent 类,但它围绕一个中心化的 VoltAgent 运行时构建——注册即启动,默认在 localhost:3141 暴露本地服务,再把运行时指向托管的 VoltOps Console(console.voltagent.dev)。体验接近"给运行中的进程挂调试器",而不是"事后翻日志"。这是它与 Mastra 最实际的分野:开箱即用的生产级 trace,不用自己搭基础设施。

工具 API 更精简,只有单个 parameters schema,校验来自 LLM 的输入,但信任 execute 的返回值——比 Mastra 少一道护栏,迭代时也更少样板:

const supportAgent = new Agent({
  name: 'support-agent',
  description: 'Looks up customer data and invoice status.',
  instructions: 'Call lookup_customer first, then get_latest_invoice...',
  llm: new VercelAIProvider(),
  model: anthropic('claude-sonnet-4-20250514'),
  tools: [lookupCustomer, getLatestInvoice],
})
new VoltAgent({ agents: { support: supportAgent } })

真正让 VoltAgent 立住的是 supervisor/subAgent 多智能体:把子 Agent 传给父 Agent,框架自动生成 delegate_task 工具让监督者派活给专家。这种声明式层级在客服分流、多专业域协作里极省心。MCP 支持通过 @voltagent/core 的 MCPConfiguration 提供,与 Mastra 的 @mastra/mcp 体验几乎一致。短板是社区仅 ~5.1K stars、生态薄,且半年内有过破坏性 API 变更——必须锁版本。适合小团队、想要层级化多智能体、不想自建可观测的场景。

三、Vercel AI SDK 6:不做框架,做所有框架的地基

Vercel AI SDK 自我定位是"通用 AI 层"——generateText、streamText、generateObject、useChat 这些原语,是上面 Mastra、VoltAgent 调用模型的底层适配器(两者都用 @ai-sdk/anthropic)。v5 引入 Agent 类处理多步工具调用循环,v6 进一步重构了 useChat 和工具流式协议、provider 适配。它的哲学是不给你 Agent 运行时,只给你最锋利的积木。

import { generateText, tool } from 'ai'
import { anthropic } from '@ai-sdk/anthropic'
import { z } from 'zod'

const { text } = await generateText({
  model: anthropic('claude-sonnet-4-20250514'),
  tools: {
    lookup: tool({ parameters: z.object({ id: z.string() }),
      execute: async ({ id }) => findCustomer(id) }),
  },
  maxSteps: 10, // 自管 loop
  prompt: '查一下 [email protected] 的状态',
})

实测中它是打包最小、冷启动最低的选择——当你只需要"一次 LLM 调用 + 几个工具",或部署到 Cloudflare Workers 这种对冷启动极度敏感的 Edge,直接用 AI SDK 比套框架更划算。代价是你得自己实现记忆、工作流、多智能体编排。它的另一杀手锏是前端流式 UI:useChat 让 React/Svelte/Vue 组件能逐 token 渲染、渲染工具调用中间态,这是 Python 框架结构上做不到的(它们压根不在前端跑)。变现上它太底层,不适合做训练营主线,但适合做"模型路由降本"这类专题——很多团队选框架为省 token,真正的大杠杆其实是把简单查询路由到便宜模型。

四、CopilotKit:把 React 变成 Agent 的运行时

CopilotKit 的口号是"The Frontend Stack for Agents"——它不和 Mastra/VoltAgent 抢后端,而是吃下前端那层:一套 React 聊天运行时 + CoAgents 架构,让 LangGraph(Python 和 JS)、CrewAI、Mastra、LlamaIndex 的 Agent 都能以统一接口嵌进 Next.js 应用。一个标准化的适配层,把异构后端 Agent 拉到同一个 UI 里。

这对产品型团队价值极高:你的核心 Agent 可以是 Python 写的(复用生态),但面向用户的交互层、人类在环(HITL)、中间态渲染、会话状态,全部用 TS 在前端统一治理。比如一个"研究 Agent"在前端展示"正在规划子查询→并行 fan-out 工具→等待结果",用户随时打断或修正,这套交互在纯 Python 栈里要重写一遍前端协议。CopilotKit 的变现潜力在 B 端 Copilot 产品——企业最缺的不是 Agent 能力,而是把 Agent 包成产品交付给非技术用户的那层工程。短板是它本身不产生智能,强依赖宿主 Agent 框架的质量;选它等于同时为两套栈负责。

五、Inngest Agent Kit:把"会中途失败"变成可恢复

长程 Agent 的头号敌人是中途崩溃:LLM 限流、工具超时、上下文超窗、第 8 步挂了前 7 步白跑。Inngest 的解法是持久化执行(durable execution)——把 Agent 运行拆成可重放的步骤,每步有独立重试、并发控制和检查点。它的 Agent Kit 让"规划子查询 → 并行 fan-out 工具调用 → 暂停等外部事件 → 汇总"这种长链路变得安全。

export const researchAgent = inngest.createFunction(
  { id: 'research-agent', retries: 5 },
  { event: 'research/run' },
  async ({ event, step }) => {
    const subqueries = await step.run('plan', () => planSubqueries(event.query))
    const results = await Promise.all(
      subqueries.map(sq => step.run(`search:${sq}`, () => search(sq))))
    return await step.run('synthesize', () => synthesize(results))
  })

它与 Temporal、Trigger.dev、Restate 同属"Agent 运行时基础设施"赛道,但 Inngest 的 TS-first 和事件驱动模型对 JS 团队最友好。它不替代 Mastra/VoltAgent,而是它们的持久化底座——很多生产级架构是"Mastra 写 Agent 逻辑 + Inngest 跑执行"。变现上偏基础设施向,适合做"Agent 生产化"进阶课。红线是:如果你的 Agent 都是短链路(< 1 分钟、单轮),上持久化执行是过度工程。

六、LangGraph.js 与 Python 第一极的防御战

必须正面对手。LangChain/LangGraph 在 2025 年达到 v1.0,LangChain 的 Python 下载量已超过 OpenAI SDK,Python 第一极依然稳固且仍在增长。但裂缝出现在 TS 这一侧:LangChain.js 历史上因 Python 优先的基因,TS 支持偏弱;LangGraph.js 用 StateGraph 提供状态图、checkpoint、HITL、多智能体,能力最全,但心智负担和上手成本最高(实测 ~40 分钟到首 Agent,冷启动 ~140ms+,打包 ~600KB)。

Python 阵营的护城河是生态纵深——评测库、向量库、语音、视觉集成、研究前沿全在 Python。TS 第二极的策略因此不是正面硬刚,而是吃 Python 服务不到的三个口子:①前端密集型应用(CopilotKit 这层 Python 结构上够不着);②Edge/Serverless 冷启动敏感部署(Mastra 80ms vs Python 冷启动动辄数百 ms);③全栈单语言团队(一个团队用 TS 从 UI 写到 Agent,省掉跨语言协作税)。市场报告用"TypeScript Rising"概括这场迁移,核心驱动力正是 Node.js 的 async/await 模型与 Agent 的并发工具调用天然契合。

TS Agent 系统架构与工作流

下图刻画一个生产级 TS Agent 系统六层职责如何分工,以及请求如何在层间流动:

flowchart TB
    subgraph FE["前端层 (CopilotKit)"]
        U[用户] --> CHAT[useChat React 运行时]
        CHAT -->|流式 token/工具中间态| U
    end
    subgraph AGENT["Agent 编排层"]
        MA[Mastra Agent]
        VA[VoltAgent supervisor]
        LC[LangGraph.js StateGraph]
    end
    subgraph ORCH["持久化执行层 (Inngest)"]
        STEP1[step: plan] --> STEP2[step: fan-out tools]
        STEP2 --> STEP3[step: synthesize]
    end
    subgraph SDK["通用 AI 层 (Vercel AI SDK 6)"]
        GT[generateText/streamText]
        TOOLS[tool 调用循环]
    end
    subgraph EXT["外部能力"]
        LLM[Anthropic/OpenAI/Gemini]
        MCP[MCP Servers]
        DB[(向量库/记忆 LibSQL)]
        OTel[OTel/VoltOps/Langfuse]
    end

    CHAT -->|CoAgents| AGENT
    AGENT -->|长链路任务| ORCH
    AGENT -->|模型调用| SDK
    ORCH -->|模型调用| SDK
    SDK --> LLM
    AGENT -.工具.-> MCP
    AGENT -.读写.-> DB
    AGENT -.trace.-> OTel
    SDK -.trace.-> OTel

关键边界:前端层只管交互和 HITL,编排层只管 Agent 逻辑和工具,持久化层只管可恢复执行,AI SDK 只管模型适配。这四层解耦是 TS 阵营相对 Python"一栈包圆"的真正工程优势——每一层都能独立替换、独立扩缩容。

工具调用 Loop 的 TS 范式

无论哪一栈,核心都是"模型决策 → 工具执行 → 回填上下文 → 再决策"的循环。TS 的统一范式如下,差异只在谁托管这个 loop、校验到哪一层:

sequenceDiagram
    participant U as 用户/前端
    participant A as Agent 编排
    participant S as AI SDK
    participant M as LLM
    participant T as 工具/MCP
    U->>A: 自然语言请求
    A->>S: generateText(prompt, tools)
    S->>M: 推理 + 工具决策
    M-->>S: tool_call(参数)
    S->>A: 请求执行工具
    A->>T: execute(inputSchema 校验)
    T-->>A: 结果(outputSchema 校验? 仅 Mastra)
    A->>S: 回填工具结果
    S->>M: 带结果的下一轮推理
    M-->>S: 终止/继续
    S-->>A: 最终文本 + trace
    A-->>U: 流式响应

这张图揭示了校验深度的选型红线:Mastra 在工具出口多一道护栏(outputSchema),VoltAgent/AI SDK/LangGraph 只校验入口。如果你的工具对接不稳定数据源(爬虫、第三方 API、易迁移的数据库),Mastra 的双校验是实打实的生产安全网;如果是稳定内部服务,那道护栏就是多余的样板。

分场景推荐方案

场景 A:客服/数据查询类短链路 Agent(< 1 分钟) 首选 Vercel AI SDK 6 直接写。loop 自管 maxSteps,无记忆无工作流开销,冷启动最低,部署到 Workers 最划算。当你发现要重复实现记忆和 trace 时,再升级到 Mastra。

场景 B:生产级全栈 Agent(需记忆 + 工作流 + 可观测) 首选 Mastra。outputSchema 护栏 + workflow 引擎 + OTel 接你现有栈,社区和集成在 TS 阵营最厚。已有 Langfuse/Datadog 的团队摩擦最小。这是"最安全的默认值"。

场景 C:层级化多智能体 + 想要托管可观测 首选 VoltAgent。supervisor/subAgent 一行接好、VoltOps Console 开箱即用,小团队不必自建 trace 基础设施。锁死版本以应对破坏性变更。

场景 D:面向用户的产品型 Copilot CopilotKit(前端)+ 你最强的后端 Agent 框架(可 Python LangGraph)。核心智能复用 Python 生态,交互层和 HITL 用 TS 统一治理。这是企业 B 端最赚钱的组合。

场景 E:长程研究/批处理 Agent(分钟到小时级) Mastra 写逻辑 + Inngest 跑执行,或 VoltAgent + Inngest。任何会中途失败、需要限流重试、需要 fan-out 并发的链路,持久化执行是刚需,不是锦上添花。

场景 F:复杂状态图多智能体,且团队 Python 经验深厚 继续 LangGraph(Python)。TS 第二极还没到能正面替代 Python 在状态图表达力和评测生态上的程度——认清边界,别为了用 TS 而用 TS。

延伸结论

TS 第二极的崛起不是零和博弈,而是市场分层:Python 继续统治研究、评测、复杂状态图和生态纵深;TS 吃下前端、Edge、全栈单语言和持久化执行这四片新地。对选型者而言,红线只有两条——你的 Agent 是前端密集型或 Edge 部署吗?你的团队是全栈 TS 吗? 任一为是,TS 阵营值得优先评估;都为否,Python 第一极仍是更省力的选择。避免用"哪家营销更酷"来决定——六栈营销都做得很漂亮,真正决定适配度的是你花一个下午在两个候选里各跑一遍最小实现,一小时内你的大脑会告诉你答案。

参考来源

  1. Mastra vs VoltAgent: The Two New TypeScript Agent Frameworks Compared — 同一 Agent 在两栈实装,含 outputSchema、冷启动、打包体积实测与代码
  2. Best AI Agent Frameworks for TypeScript in 2026 | Fastio — Mastra / Vercel AI SDK / LangGraph.js 等主流 TS 框架横向对比
  3. TypeScript Rising: Replacing Python in Multi-Agent AI Systems — TS 在多智能体系统取代 Python 的迁移趋势与 async/await 动因分析
  4. Vercel AI SDK 官方文档 — Universal AI layer for frameworks and agents — generateText/streamText/Agent 类与 provider 适配的权威说明
  5. Durable Execution for AI Agents: Inngest vs Trigger.dev vs Temporal in 2026 — 持久化执行三栈在 Agent 中途失败、限流、重试场景的工程对比

[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。

51学通信知识星球海报-扫码加入