TypeScript 杀疯了,开发 AI 应用新趋势!

作者:前端充电宝

原文:mp.weixin.qq.com/s/_n_gA63pb...

随着 AI 技术的迅猛发展,越来越多开发者开始构建基于大模型(LLM)、多智能体协作、浏览器端推理等新型应用。在这一浪潮中,TypeScript 凭借其强大的类型系统、成熟的工具链和活跃的生态,正逐步成为现代 AI 应用开发的主流选择之一。

  • 根据 Y Combinator 统计,约有 60% 至 70% 的 AI Agent 初创公司采用 TypeScript 开发。
  • GitHub 数据显示,近两年内,TypeScript 在机器学习和 AI 项目中的使用量增长超过 150%。

本文将介绍三款基于 TypeScript 的热门 AI 应用开发工具 !

OpenAI Agents JS

OpenAI Agents JS 是 OpenAI 推出的 JavaScript/TypeScript SDK,专为构建支持语音交互与多智能体协作的 AI 应用而设计。它是官方 Agents SDK 的 JS/TS 版本,轻量且功能强大,适用于构建复杂的代理系统。

OpenAI Agents JS 的核心功能如下:

  • 多智能体协作:支持多个代理的协同工作与动态控制流转。
  • 工具集成:支持结构化输出、并行调用与函数插件系统。
  • 语音支持:通过 WebRTC/WebSocket 构建实时语音智能体,提供浏览器优化版本。
  • 安全机制:支持输入/输出验证与防护机制。
  • 调试与追踪:内置可视化调试器与运行追踪工具。

举个例子:

php 复制代码
import { Agent, run, tool } from'@openai/agents';

// 定义一个工具
const getWeather = tool({
name: 'get_weather',
description: '获取指定城市的天气',
parameters: { type: 'object', properties: { city: { type: 'string' }}, required: ['city'] },
async execute({ city }) {
    return`现在 ${city} 的天气是晴朗。`;
  },
});

// 创建并运行 Agent
const agent = new Agent({
name: '天气助理',
instructions: '你是一个能提供实时天气信息的智能助手。',
tools: [getWeather],
});

const result = await run(agent, '告诉我今天北京的天气');
console.log(result.finalOutput);

Githubgithub.com/openai/open...

Mastra

Mastra.ai 是由 Gatsby 创始人推出的开源 TypeScript AI 代理框架,致力于为前端开发者提供完整的 AI 工作流与部署解决方案。它解决了传统 AI 工具偏向 Python 的痛点,为 JS/TS 社区提供了类型安全且现代化的开发体验。

Mastra.ai 的核心功能如下:

  • 智能代理:支持工具调用、记忆、RAG 能力、任务分解和外部 API 调用。
  • 流程引擎:基于 XState 构建流程图,支持暂停、恢复、调试与可视化。
  • RAG 向量检索:支持 embedding、索引、检索、rerank,兼容多种向量库。
  • 评估工具:基于 LLM、规则或统计方法,自动评估输出结果。
  • 本地开发与 Playground:内建对话、日志、prompt 调试与 CLI 工具。
  • 部署灵活:支持 Vercel、Cloudflare Workers、Netlify、Node.js、React/Next.js 等环境。

举个例子:创建GitHub仓库信息代理

css 复制代码
import { createTool } from"@mastra/core/tools";
import { z } from"zod";

exportconst githubRepoTool = createTool({
id: "get-github-repo-info",
description: "获取 GitHub 公共仓库的基本信息",
inputSchema: z.object({
    owner: z.string().describe("GitHub 用户名或组织"),
    repo: z.string().describe("仓库名称"),
  }),
outputSchema: z.object({
    stars: z.number(),
    forks: z.number(),
    issues: z.number(),
    license: z.string().nullable(),
    lastPush: z.string(),
    description: z.string().nullable(),
  }),
execute: async ({ context }) => {
    const res = await fetch(`https://api.github.com/repos/${context.owner}/${context.repo}`);
    if (res.status === 404) thrownewError(`仓库 ${context.owner}/${context.repo} 未找到`);
    const data = await res.json();
    return {
      stars: data.stargazers_count,
      forks: data.forks_count,
      issues: data.open_issues_count,
      license: data.license?.name ?? null,
      lastPush: data.pushed_at,
      description: data.description ?? null,
    };
  },
});

Githubgithub.com/mastra-ai/m...

VoltAgent

VoltAgent 是一个现代 TypeScript AI 代理框架,专注于提升 JS/TS 开发者在构建、调试、部署 AI 应用过程中的体验。相比传统的复杂代码或无代码平台,VoltAgent 提供结构化编程与可视化调试的双重优势。

VoltAgent 的核心功能如下:

  • Agent 引擎与多智能体系统 :支持 @voltagent/core 模块定义 agent,可通过 supervisor 协同多个 agent。
  • 可视化调试与观察性:本地 VoltOps 控制台支持思维链可视化,兼容 LangFuse、LangSmith 等平台。
  • 插件系统与集成能力:可调用 API、数据库、RAG 检索工具,内建语音交互与外部平台接入能力。
  • Memory 与 RAG 支持:支持持久化上下文,兼容多种向量数据库与检索机制。

举个例子

php 复制代码
import { VoltAgent, Agent } from"@voltagent/core";
import { VercelAIProvider } from"@voltagent/vercel-ai";
import { openai } from"@ai-sdk/openai";

// 定义一个简单的智能体
const agent = new Agent({
name: "my-agent",
description: "A helpful assistant that answers questions without using tools",
llm: new VercelAIProvider(),
model: openai("gpt-4o-mini"),
});

// 初始化 VoltAgent
new VoltAgent({
agents: {
    agent,
  },
});

Githubgithub.com/VoltAgent/v...

相关推荐
小满zs3 小时前
Zustand 第五章(订阅)
前端·react.js
涵信4 小时前
第一节 基础核心概念-TypeScript与JavaScript的核心区别
前端·javascript·typescript
谢尔登4 小时前
【React】常用的状态管理库比对
前端·spring·react.js
编程乐学(Arfan开发工程师)4 小时前
56、原生组件注入-原生注解与Spring方式注入
java·前端·后端·spring·tensorflow·bug·lua
小公主5 小时前
JavaScript 柯里化完全指南:闭包 + 手写 curry,一步步拆解原理
前端·javascript
姑苏洛言6 小时前
如何解决答题小程序大小超过2M的问题
前端
TGB-Earnest7 小时前
【leetcode-合并两个有序链表】
javascript·leetcode·链表
GISer_Jing7 小时前
JWT授权token前端存储策略
前端·javascript·面试
开开心心就好7 小时前
电脑扩展屏幕工具
java·开发语言·前端·电脑·php·excel·batch
拉不动的猪7 小时前
es6常见数组、对象中的整合与拆解
前端·javascript·面试