近日, Mastra AI 创始人 Sam Bhagwat 在 X 上发布了一条推文,称其中提到大约 60~70% 的 YC X25 Agent 公司正在使用 TypeScript 构建他们的 AI Agent。
这个数据让人很惊讶,因为像 LangChain 这样的早期框架最初都是 Python 优先的。那么,为什么现在要转向 TypeScript 来构建 AI Agent?
外界猜测,造成这一局面的原因可能是许多早期项目专注于整合工具和 API,这吸引了大量已加入 TypeScript 生态系统的前端 / 全栈开发人员。此外,原因还包括:
- 在快速迭代复杂逻辑、链接工具或调用 LLM 时,TypeScript 的静态类型和 IDE 集成可极大地提高生产力。
- 此外,正如 Sam 指出的那样,全栈开发人员可以使用 TypeScript 快速交付后端和前端。
- Vercel 的 AI SDK 在这里也发挥了重要作用。
的确,TypeScript 最近几年的受欢迎程度日渐上升。
去年年底,JetBrains 在《2024 年开发者生态系统状况报告》中引入的 “编程语言前景指数(是一个用于评估编程语言未来潜力的综合指标)”显示,微软的 TypeScript 编程语言前景指数位居榜首。
JetBrains 在报告中对 TypeScript 进行了相当深入的考察,将其与 JavaScript 进行了比较,结果表明,JavaScript 仍然是全球最受欢迎的编程语言,拥有庞大的开发者社区和丰富的资源。然而,TypeScript 正在迅速崛起。它的采用率已从 2017 年的 12% 飙升至 2024 年令人印象深刻的 35%。
网友怎么看?
60~70% 的 YC X25 Agent 公司在使用 TypeScript 构建应用程序,这一数据在网上引发热议,因为 TypeScript 在市场上的扩张步伐太快了,快得让人不得不去深挖下这背后的原因。
在 Hacker News 上,有用户认为,TypeScript 之所以能被开发者广泛用于 AI Agent 的开发,是因为该语言自身的一些先天优势——TypeScript 让开发者能快速获得跨平台开发能力:它使用的 HTML 界面经过 30 年互联网发展的考验,天生就支持屏幕阅读器等辅助工具;而且它的类型系统能让代码编辑器提供超强的智能提示。
“如今,基于网页技术(内置 JavaScript)的界面方案,已经成为各大科技公司公认的唯一跨平台界面解决方案。像苹果这样的科技巨头对其他界面开发工具一直持抵制态度——比如 Flash 就因为可能破坏苹果封闭的生态系统而被集体封杀;Java 的图形方案也被以"安全风险"为由拒绝支持。而网页技术之所以能生存下来,正是因为它的普及程度已经让科技巨头无法打压,否则会伤及自身利益。
TypeScript 让开发者能快速获得跨平台开发能力:它使用的 HTML 界面经过 30 年互联网发展的考验,天生就支持屏幕阅读器等辅助工具;而且它的类型系统能让代码编辑器提供超强的智能提示。
更重要的是,用 JavaScript/TypeScript 开发时,修改代码后立刻就能在浏览器中看到效果,这种即时反馈的开发体验,目前只有这个技术栈能做到(虽然比不上 Lisp 语言那么完美,但已经比其他选择好太多)。TypeScript 虽然需要转译成 JavaScript,但借助自动编译工具,修改后几乎能立即看到变化。
这些特点跟 AI 开发有关系吗?直接关系不大。但正是这些优势,让开发者很自然地选择 TypeScript 来开发 AI 应用。”
曾经在一个项目中经历过用两种语言写前后端的工程师表示,这种情况很正常,因为如果是个很小的团队,除了 TypeScript 几乎没什么其他选择。
“这其实很好理解——这种开发效率问题不仅存在于 AI 领域,区块链等其他技术领域也一样。很多人没意识到,哪怕你是个精通多门语言的老手,在不同编程语言之间来回切换,其实要耗费大量精力。
举个实际例子:假设你们是个 2~3 人的小团队要开发个带前端的项目,那 JavaScript/TypeScript 基本就是唯一选择。如果能用同一种语言搞定前后端,所有代码都放在一个项目里,效率绝对能翻倍。虽然肯定有人会说‘某某团队用不同语言也很快’,但实际数据显示,超过六成的团队统一语言后开发速度明显提升。
我自己就深有体会:第一次创业时我们用 PHP 写前端,Python 写后端,结果两个工程师被迫分头干活,一个搞前端一个搞后端,光是协调沟通就浪费大量时间。后来创业时我们全用 TypeScript,同样是两个人,却能一起维护所有代码,效率高多了。(说明下:我平时主要用 Rust 和 C,算不上前端专家,也不是 TypeScript 粉丝,纯粹是觉得这样效率更高)”
甚至有用户认为,Anthropic 就是押宝押对了 TypeScript,才让 Claude 成为顶尖编程模型。
为什么 TypeScript 更适用于
AI 应用程序
越来越多开发者表示,在 AI 应用开发中,TypeScript 的优势非常明显。对于想要集成大语言模型(如 ChatGPT、Claude 等)的 Web 开发者来说,TypeScript 自然成为了首选语言。
大语言模型数据管道公司 Smol AI 的创始人 Shawn Wang 在他的《潜在空间》时事通讯中写道,
传统上,数据科学和人工智能领域一直以 Python 为核心,早期的 AI 工程工具如 LangChain、LlamaIndex 和 Guardrails 都诞生于 Python 生态圈。但随着技术发展,一个显著的趋势正在形成:由于 JavaScript 开发者群体规模至少与 Python 开发者相当(甚至更大),新一代 AI 工具正开始积极适配这一更广泛的开发者群体。
人们仍然将 Python 视为 AI 训练和开发工作流程的首选语言,因为 PyTorch 和 TensorFlow 等 ML 框架和库都是面向 Python 开发人员的,这种情况目前可能不会发生改变——AI 工程师生活在这些语言中。
但对于 AI 应用程序开发,我们也有理由相信 TypeScript 正在成为领跑者。
为什么这么说?
因为在 AI 应用开发场景中,TypeScript 展现出独特优势:其异步编程能力和严格的类型系统(相较 Python 的松散类型)使开发者能够构建高性能的面向用户应用,特别是在处理大语言模型的思考过程时保持应用响应能力。
典型的 AI 应用往往需要执行耗时操作,如调用外部服务 API。TypeScript 的异步编程模型允许任务并发执行,并在收到响应时即时处理,为解决这类问题提供了优雅方案。虽然 Python 同样提供 async/await 功能,但开发者社区普遍认为这是后期添加的特性,而非语言的核心设计元素。
此外,还有一个主要原因,就是开发人员使用 TypeScript 编程时,它能够在编译时而不是运行时捕获错误。由于 AI 算法复杂且数据集庞大,在开发过程中尽早发现并修复错误至关重要。TypeScript 的静态类型有助于确保代码质量,并降低错误进入生产环境的可能性。
TypeScript 的应用范围已不仅限于浏览器环境。随着 Cloudflare、Vercel 和 Lambda@Edge 等平台推出“边缘服务器”解决方案,TypeScript/JavaScript 正成为原生应用和服务器端开发的重要选择。
这些平台对 TypeScript 的原生支持进一步巩固了其在全栈开发中的地位。行业观察显示,越来越多的 AI 工程工具开始提供 TypeScript 支持,反映出技术生态正在向更广泛的开发者群体扩展。
LangChain、OpenAI 等
加大 TypeScript 支持力度
就在上周,OpenAI 刚宣布了对其 AI Agent 开发工具进行一系列重大升级。OpenAI 称已在其 Agents SDK 中添加 TypeScript 支持。此举使 JavaScript 和 Node.js 环境中的开发人员能够参与 Agent 开发。
LangChain 联合创始人兼首席执行官 Harrison Chase 强调了使用 TypeScript 进行 AI 开发日益增长的趋势。“我们看到很多 AI 开发都是用 TypeScript 进行的。评估是 AI 开发的关键环节,能够进行评估能让你更有信心快速行动。 ”他补充道。
Airbnb 高级软件工程师 Brie Bunge 在 2019 年夏威夷 JSConf 上分享了有关以前的错误和问题的事后分析报告时证实,使用 TypeScript 可以避免 Airbnb 38% 的错误。
显然,TypeScript 与 TensorFlow.js 和 Brain.js 等流行的 AI 库的兼容性使开发人员能够利用现有的 JavaScript 工具和框架,同时受益于 TypeScript 的类型安全性和增强的开发人员体验。
这种兼容性允许与庞大的 JavaScript 生态系统无缝集成。
此外,TypeAI 和 Axilla.io 等 TypeScript 优先的 AI 开发框架的推出,也是社区致力于让 TypeScript 成为 AI 生态系统一流公民的良好例证。
这些工具为开发人员提供了必要的抽象和实用程序,以便更高效、更少错误地构建 AI 应用程序。
除了人工智能开发之外,TypeScript 作为一种简单的语言,还能帮助用户理解概念。一位 Reddit 用户说道:“TypeScript 让我在编写每个函数和变量之前就明白了它们的实际用途……此外,它还能让我更轻松地理解对象结构,并更深入地了解某些对象。”
TypeScript 能取代 Python 吗?
TypeScript 作为一种编程语言,非常适合创建快速、用户友好的 AI 应用程序。它的异步编程功能允许多个任务同时运行,这在处理可能运行缓慢的 AI 模型调用时至关重要。这意味着即使 AI 在后台运行,应用程序也能保持响应。
因此,关于 TypeScript 是否会取代 Python 用于人工智能开发的讨论很多。
但业内普遍认为,Python 不能被任何用于 AI 和 ML 开发的编程语言取代——至少目前不能。
一位 Reddit 用户表示:“Python 在数据可视化、ML/DS、CI/CD、通用脚本和其他方面有很多用例,而 TS/JS 目前还没有真正用于其中一些用例” ,这表明数据科学和机器学习任务的生态系统非常庞大。”
我们不能否认 Python 在人工智能领域的主导地位,但有些用户同时使用这两种语言并且更喜欢 TypeScript。
一位支持 TypeScript 的 Reddit 用户说道:
“这里大多数人都坚信 Python 是唯一的选择。我用 Python 写过好几年代码(主要是 Django API 服务器,还有一些 Pytorch),现在又用 TypeScript 写了几年代码,包括构建 RAG 后端。我非常喜欢 TypeScript,原因如下:用 npm 管理包要好得多……TypeScript 的类型系统比 Python 类型好得多,而且得到了更广泛的包支持。”
最终,尽管 Python 目前仍然是 AI 开发的主导语言,但 TypeScript 正逐渐受到关注,并为某些用例提供了极具吸引力的替代方案。因此,TypeScript 社区未来将如何努力使其更适用于 AI 开发,将会非常有趣。
参考链接:
https://p72.vc/perspectives/typescript-popular-enterprise-ready-and-an-ideal-option-for-ai-application-development/
https://twitter.com/gethackteam/status/1818021430035873818
https://visualstudiomagazine.com/articles/2024/12/11/typescript-tops-new-jetbrains-language-promise-index.aspx
https://www.aibase.com/news/18607
文章来自于“InfoQ”,作者“冬梅”。