代码转译 Skill 实战:Python→TypeScript 的 AST 级别转换与人工修正接口

代码转译 Skill 实战:Python→TypeScript 的 AST 级别转换与人工修正接口

当算法工程师写的 Python 原型要交给前端工程化,除了手撕代码还有更好的选择吗?

一、问题的起点:为什么我们需要 AST 级别的 Python→TypeScript 转译?

如果你在一个同时拥有算法团队和前端/全栈团队的研发组织中工作,一定对以下场景深有感触:

算法团队用 Python 快速验证原型——NumPy 做矩阵运算、Pandas 处理数据、PyTorch 训练模型,三天出一个 MVP。产品验收通过后,需求到了工程团队手里:“把这个服务用 Node.js/TypeScript 重写一遍,要能扛住生产流量。”

于是噩梦开始了。

手动将 Python 代码翻译成 TypeScript,本质上是在做两件完全不同的事情:既要理解 Python 的语义(动态类型、装饰器、上下文管理器、生成器、多重继承……),又要用 TypeScript 的语法(接口、泛型、类型守卫、模块系统……)重新实现一遍。一个中等规模的 Python 模块(500-1000 行),一个有经验的工程师手动迁移需要 2-3 天,还要额外花 1-2 天调试边界情况。

更糟糕的是,这种迁移是“一次性劳动”——一旦 Python 端迭代了算法逻辑,所有手工翻译的 TypeScript 代码又要重来一遍。维护两套代码库的成本,往往比最初的重写成本还要高出一个数量级。

有没有可能让机器自动完成 80% 的翻译工作,人只负责最