本章目录如下:
MCP是当前人工智能领域最热门技术之一,是实现大模型快速应用的捷径。本章将基于MCP最新方案修订版:2025-06-18,详细讲解MCP协议细节,并实战如何通过Gradio构建MCP客户端与服务器。
MCP官方支持两种编程语言:TypeScript与Python,其中TypeScript是默认选择。对于Python无需多言,这里主要介绍TypeScript概念,为什么流行,以及TypeScript与Python在数据科学领域和AI应用领域的前景分析。
作者自接触AI领域以来,一直使用Python,偶尔C++,为何会有突然冒出并前景看佳的TypeScript?带着疑惑作者查阅了很多资料,并汇总如下,可能稍显繁多,但每个不断进步的开发者应该清楚TypeScript越来越受关注的前因后果,也有利于更快掌握这款即将流行的语言。
TypeScript起源于使用JavaScript开发的大型项目。由于JavaScript语言本身的局限性,难以胜任大型项目的开发和维护,因此微软开发了TypeScript。TypeScript的作者是安德斯·海尔斯伯格(Anders Hejlsberg),2012年10月,微软发布了首个公开版本的TypeScript,2013年6月19日,在经历了一个预览版之后微软正式发布了正式版TypeScript。2025年4月,微软用Go语言重写了它的新版本。
TypeScript是开源的编程语言,通过在JavaScript的基础上添加静态类型定义构建扩展而成,因此TypeScript是javaScript的超集。通过这种方式,他们能够使用JavaScript的所有新功能,同时摆脱对大型项目不利的东西。TypeScript通过TypeScript编译器或Babel转译为JavaScript代码,可运行在任何浏览器,任何操作系统。两者对比如表13-1:
维度 | TypeScript | JavaScript |
---|---|---|
类型系统 | 静态类型 + 类型推断 | 动态类型 |
错误检测 | 编译时捕获大部分类型错误 | 运行时暴露错误 |
开发体验 | 智能提示 + 自文档化 | 依赖注释 + 外部文档 |
学习曲线 | 需要掌握类型语法 | 入门简单 |
项目规模 | 适合中大型项目 | 适合小型项目 |
编译需求 | 静态编译,需要编译步骤 | 运行时编译,直接运行 |
社区资源 | 类型定义覆盖主流库 | 原生支持但缺乏类型约束 |
维护成本 | 前期投入高,长期维护成本低 | 前期快速,后期维护成本高 |
TypeScript在JavaScript的即时编译、多范式及动态类型基础上,新增了优化的静态类型、可编译为Javascript、界面、命名空间、异步函数及匿名函数等功能。TypeScript作为一种编程语言,非常适合创建快速、用户友好的AI应用程序。它的异步编程功能允许多个任务同时运行,这在处理可能运行缓慢的AI模型调用时至关重要。这意味着即使AI在后台运行,应用程序也能保持响应。
TypeScript最近几年的受欢迎程度日渐上升。2024年年底,JetBrains在《2024年开发者生态系统状况报告》中引入的“编程语言前景指数(是一个用于评估编程语言未来潜力的综合指标)”显示,TypeScript位居榜首,它的采用率已从2017年的12%飙升至2024年的35%。Mastra AI创始人Sam Bhagwat曾在X上发布推文,称其中提到大约60%~70%的YC X25 Agent公司正在使用TypeScript构建他们的AI Agent。
而早期框架像LangChain最初都是Python优先的,那么为什么现在要转向TypeScript来构建AI Agent?TypeScript之所以能被开发者广泛用于AI Agent的开发,是因为该语言自身的一些先天优势——TypeScript让开发者能快速获得跨平台开发能力:它使用的HTML界面经过30年互联网发展的考验,天生就支持屏幕阅读器等辅助工具;而且它的类型系统能让代码编辑器提供超强的智能提示。
如今像苹果这样的科技巨头对其他界面开发工具如Flash、Java等一直持抵制态度,基于网页技术(内置JavaScript)的界面方案,已经成为各大科技公司公认的唯一跨平台界面解决方案。另外,许多早期项目专注于整合工具和API,这吸引了大量已加入TypeScript生态系统的前端/全栈开发人员。甚至有人认为,Anthropic就是押宝押对了TypeScript,才让Claude成为顶尖编程模型。除了行业层面,造成这一局面的技术原因可能是:
当年JavaScript之所以流行,是因为它无处不在。只要编译一次,它就可以在服务器、浏览器等任何地方运行。由于TypeScript是基于JavaScript构建的,因此它也可以。当然Python也可以,不过它使用解释器而不是虚拟机。
TypeScript和Python都有各自适用领域,比如TypeScript更适合AI应用程序,而Python在数据科学领域优势明显,但并不完全绝对,这里会详细分析。
由于数据科学中并行编程、异步编程等方面的发展,对函数编程的需求正在增长,而泛型和静态类型等特性使得TypeScript比Python更容易进行函数编程。另一方面,Python也增加了越来越多的函数式编程功能,在数据科学、机器学习等领域,Python处于最前沿。尽管这两种语言都可以实现,但有一个很大的区别:在Python中,需要使用特定的库来完成任务;在TypeScript中,所有库从核心开始都是异步的。同时由于后者在默认情况下更具功能性,所以进行并行编程通常更容易一些。
TypeScript也有不适合数据科学计算的地方,比如:
话虽如此,但这并不意味着TypeScript不是通用编程世界中的主流。如果开发一个没有太多大数据和矩阵运算的项目,TypeScript还是不错的选择,尤其是当涉及到一些并行或异步编程时。另一方面,TypeScript有一个关于前端Web、后端Node和移动开发的热门社区,这些领域与数据科学也有很多交集,尤其是Node,它在数据科学家中获得了越来越多的关注。
但业内普遍认为,Python不能被任何用于AI和ML开发的编程语言取代——至少目前不能。因为Python在数据可视化、ML/DS(Machine Learning and Data Science)、CI/CD(Continuous Integration and Continuous Delivery/Deployment)、通用脚本和其他方面有很多用例,而TS/JS目前还没有真正用于其中一些用例,这表明数据科学和机器学习任务的Python生态系统非常庞大。
传统上,数据科学和AI训练与开发领域一直以Python为核心,早期的PyTorch和TensorFlow等ML框架和库都是面向Python开发人员的,而AI工程工具如LangChain、LlamaIndex和Guardrails都诞生于Python生态圈,这种情况目前可能不会发生改变。但随着AI应用技术的发展,一个显著的趋势是:由于JavaScript开发者群体规模至少与Python开发者相当甚至更大,新一代AI工具正开始积极适配这一更广泛的开发者群体。行业观察显示,越来越多的AI工程工具开始提供TypeScript支持,反映出技术生态正在向更广泛的开发者群体扩展。就在2025年6月初,OpenAI刚宣布了对其AI Agent开发工具进行一系列重大升级,称已在Agents SDK中添加TypeScript支持,此举使JavaScript和Node.js环境中的开发人员能够参与Agent开发。
显然,TypeScript与TensorFlow.js和Brain.js等流行的AI库的兼容性使开发人员能够利用现有的JavaScript工具和框架,与庞大的JavaScript生态系统无缝集成。TypeScript可处理已有的JavaScript代码,并只对其中的TypeScript代码进行编译。此外,MCP、TypeAI和Axilla.io等TypeScript优先的AI开发框架的推出,也是社区致力于让TypeScript成为AI生态系统一流公民的良好例证。这些工具为开发人员提供了必要的抽象和实用程序,以便更高效、更少错误地构建AI应用程序。
在AI应用开发中,首先,对于想要集成大语言模型(如ChatGPT、Claude等)的Web开发者来说,TypeScript的优势非常明显:其异步编程能力和严格的类型系统(相较Python的松散类型)使开发者能够构建高性能的面向用户应用,特别是在处理大语言模型的思考过程时允许任务并发执行,保持应用响应和即时处理。虽然Python同样提供async/await功能,但开发者社区普遍认为这是后期添加的特性,而非语言的核心设计元素。其次,在开发过程中:TypeScript在编译时而不是运行时捕获错误,可以尽早发现并修复错误,这在AI算法复杂且数据集庞大时至关重要。TypeScript的静态类型有助于确保代码质量,并降低错误进入生产环境的可能性。TypeScript作为一种简单的语言,还能帮助用户理解函数、变量及对象结构的用途。
TypeScript的应用范围已不仅限于浏览器环境。随着Cloudflare、Vercel和Lambda@Edge等平台推出“边缘服务器”解决方案,TypeScript/JavaScript正成为原生应用和服务器端开发的重要选择。这些平台对TypeScript的原生支持进一步巩固了其在全栈开发中的地位。大语言模型数据管道公司Smol AI的创始人Shawn Wang在他的《潜在空间》时事通讯中写道:“TypeScript是真正的全栈语言。在AI生态中,Python排名第一,TypeScript能排第二。再结合前端领域的表现,TypeScript综合实力第一。”
最终,尽管Python目前仍然是AI开发的主导语言,但TypeScript正逐渐受到关注,并为某些用例提供了极具吸引力的替代方案。因此TypeScript社区未来将如何努力使其更适用于AI开发,将会非常值得关注。希望了解学习TypeScript更多知识请参阅:TypeScript手册。