News

AI代码翻译神器Transpiler.us:一人之力跨27种语言,打造生产级代码转换

AI代码翻译神器Transpiler.us:一人之力跨27种语言,打造生产级代码转换

在软件开发中,开发者们普遍面临一个棘手挑战:现有代码功能完善,但语言不符合项目要求,例如将 Python 服务迁移到 Go,或将 JavaScript 工具重写为 TypeScript。尝试使用 ChatGPT 等通用大型语言模型进行翻译,往往结果差强人意,经常出现导入错误、缺失错误处理,或代码风格不符合规范,难以通过代码审查。

为了解决这一痛点,一位开发者独自构建了 Transpiler.us。Transpiler.us 是一个专为代码翻译设计的AI工具,而非简单地在通用聊天机器人上叠加翻译功能。它从底层设计出发,旨在为27种编程语言生成生产级别的代码输出,确保正确的导入、完整的错误处理以及符合目标语言习惯的编程模式,而非仅仅进行语法替换。

除了核心的代码翻译功能,Transpiler.us 平台还提供了一系列辅助工具,进一步提升开发效率:

  • AI 代码审查器:提供结构化的反馈,涵盖代码缺陷、安全漏洞、性能优化及代码风格建议。
  • GitHub 集成:通过 OAuth 直接将翻译后的代码推送至任何 GitHub 仓库。
  • JSON/YAML 格式化器:用于验证、格式化以及在 JSON 和 YAML 格式之间进行转换。
  • 正则表达式测试器:提供实时模式匹配功能,并支持命名捕获组。
  • CLI 工具:通过 npm 上的 `code-translator-ai` 包,可在终端和自动化管道中使用。

该项目的技术栈注重简洁高效,便于独立开发:

  • 前端:采用 React + Vite + TailwindCSS 组合,部署在 Vercel。
  • 后端:使用 Express + TypeScript 构建,部署在 Railway。
  • AI 模型:核心翻译能力由 Together AI API 提供的 Llama 3.3 70B 模型驱动。选择 Llama 3.3 70B 是经过深思熟虑的,因为它在测试中持续生成最简洁、高质量的翻译,尤其是在 Rust 到 Zig 或 COBOL 到 Java 等不常见语言对方面表现出色。
  • 支付:通过 Stripe 实现积分包和每月20美元的 Pro 订阅服务。
  • 身份验证:GitHub OAuth 用于仓库集成。

实现高质量代码翻译的关键并非简单地将代码发送给 LLM,然后返回结果。这种“朴素”的方法大约有30%的时间会产生不可用的代码。真正有效的方法是在提示(prompt)中明确指定目标语言的“良好”标准,并对输出结构进行严格定义,以确保其能够被可靠地解析。Transpiler.us 采用的系统提示正是基于这一原则,确保了翻译结果的准确性和可用性。以下是该翻译器使用的实际系统提示范例:

function buildSystemPrompt(
  source: Language,
  target: Language,
  preserveComments: boolean,
  addExplanations: boolean
): string {
  return `You are an expert code translator. Translate code from ${source.name} to ${target.name} accurately.

Rules:
1. Translate faithfully — preserve all logic and behavior
2. Use idiomatic ${target.name} patterns
3. Use appropriate ${target.name} standard library equivalents
4. ${preserveComments ? "Preserve all comments" : "Remove comments unless critical"}
5. ${addExplanations ? "Add brief inline comments explaining non-obvious translations" : "Keep output clean"}
6. Output ONLY the translated code — no mark`
}

↗ 阅读原文