昨天见了一个非常牛逼的Agent团队,我敢说在国内绝对是T0的级别(之前DPSK还找他们搞了点Agent数据)
刚好聊到了这两天推上吵得非常热闹的AI产品(Agent)要不要用Python的话题
他们Founder说的很直接:SB才在Agent项目里用Python🤣
TS适合100%Agent项目,主要有几个原因:
第一,Agent最终大多时候会在产品里。
不管你做的是Chat界面、工作流面板、浏览器插件、Copilot,还是IDE扩展、Slack/Discord/网页工具,TS天然离这些更近。
前端是TS,后端也是TS,中间的tool schema、事件流、UI状态都能共用一套类型。
如果你用Python那就会变成:
模型服务在Py、后端在Node、前端在TS
一份schema要复制三份
如果某个字段名大小写错了,你的Agent马上就给死给你看。
第二,Agent很依赖异步和事件流。
Agent不是一次请求一次回答这么简单。
它要边想边输出,边调用工具,边等用户确认,边更新UI,边处理取消、重试、超时、恢复。
TS/Node在事件驱动、stream、WebSocket、server-sent events这些场景里很顺。
Python当然也能做,但你会更容易感受到「这东西本来不是为这类Web产品链路长出来的」。
第三,类型系统对Agent很重要。
Agent真正容易炸的地方不是「模型不会说话」,而是工具参数错、返回结构错、状态字段错、上下文对象变形。
TS可以把很多东西提前卡住:
tool input/output、agent state、message format、UI事件、workflow node、permission object、external API response
这对Agent很关键,因为Agent系统里有大量JSON对象在飞来飞去。
第四,TS更适合做「Agent runtime」。
如果你做的是一个Agent框架、SDK、运行时、插件系统,TS优势更明显。
因为使用者往往要把它接进:
网页、后台服务、Electron、浏览器插件、VS Code插件、API route、serverless、edge runtime
这些地方TS生态更统一。
所以很多Agent infra选TS,不是因为Python不行,是因为它们要服务的使用场景更接近Web开发者和产品团队。
第五,AI应用现在其实是拼系统。
早期大家用Python,是因为AI=模型。
现在很多AI产品已经演化到包含LLM API、tool calling、database、vector store、browser automation、workflow、UI、billing、auth、analytics
这已经不是研究工程了,是产品工程。
互联网产品工程的主语长期就是JS/TS。
很无聊,但世界就是这么没品😮💨
但他也表示Python不会消失。
更合理的分工其实是:
Python做模型层、数据层、eval、embedding pipeline、离线任务、实验脚本。
TS做产品层、Agent编排层、前端交互层、插件层、用户可见的runtime。
所以你如果做一个Agent产品,你最好:
MVP前端+Agent orchestrator用TS。
涉及模型训练、数据处理、复杂检索、评测系统,再上Python。
聊了一下午,真的学了太多了
才知道自己之前对于Agent的认知到底有多浅薄🧎