我用 Fable 将 65,000 行 Go 代码重写为 Rust。发票:400 美元

持续追踪 : IA vs libristes : la fracture s'installe dans l'open source· 连载 9/9

开发与编程 Sep 2, 2026加入收藏

我用 Fable 将 65,000 行 Go 代码重写为 Rust。发票:400 美元
插图 : Momiji Shirogane

一位工程师委托给 Fable——Anthropic 专门用于代码转换的模型——将一份包含 65,000 行 Go 代码的数据库迁移至 Rust。结果:成功运行,成本仅 400 美元,并引发了关于大规模代码库迁移未来的真正思考。

实例研究:迁移65,000行代码而不拖垮团队

后端开发者Iurii有一个用Go编写的项目——但他想转向Rust。原因:性能、内存安全,以及长期以来吸引他的生态系统。经典问题:65,000行代码(65kLoC)意味着需要2到3年时间才能完成的兼职手动迁移,或者需要一支大多数初创公司无法负担的专门团队。

他的解决方案:将这项任务交给Fable,一款专门用于大规模代码转换的Anthropic模型。结果:迁移成功。总token成本:400美元

Fable的功能(及局限)

Fable不仅仅是一个“Go→Rust翻译器”。它理解程序的语义——Go的习惯用法(goroutines、channels、隐式接口)及其在Rust中的等价物(async/await、traits、所有权)。它生成的是符合Rust习惯的代码,而非字面直译。

仍需手动完成的部分:

  • 测试验证(Fable生成代码,测试通过与否——由你来调试)
  • 架构决策(保留Go的channel = tokio::sync::mpsc,还是重构?)
  • 第三方集成(C绑定、驱动程序、特定系统调用)

真实成本:400美元,但需要多少人工时间?

Iurii没有给出确切的人工时间,但他提到“几周”的监督时间。迁移并非“零射击”:需要反复迭代、修正,以及Fable卡壳的部分。token成本很低;人工关注度成本仍不可忽视。

作为对比,一名经验丰富的高级开发者手动将65kLoC从Go迁移到Rust,预计需要3到6个月的全职工作。

这对团队意味着什么

三个关键信号:

  1. 可行性门槛骤降。 过去因资源不足而无法启动的迁移,现在对于2-3人的团队来说成为可能。
  2. 瓶颈转移。 不再是“编写代码”,而是“验证生成的代码”。测试、代码审查、PR审核成为真正的工作重心。
  3. 累积的技术债务再次可攻克。 从Python→TypeScript、PHP→Go、Ruby→Rust等多年冻结的项目重新进入可行范围。

关键要点

Fable以400美元迁移65kLoC Go→Rust,这是一个转折点:大规模代码库迁移不再仅限于预算充足的研发团队。开发者的真正职责转变为监督、验证和架构——而非字面翻译。这是一种工作姿态的转变,也是生产力的提升。

Resources

本文由人工智能撰写,并经人工编辑审核。

我们的编辑部
Your Linux server, as a desktop.
TermalOSSponsored
Ops, reimagined

Your Linux server, as a desktop.

Agentless SSH monitoring, a full remote desktop and an AI ops copilot — no agents to install, everything stays on your machine.

SSHSelf-hostedAI Ops
Get early access
这篇文章对您有帮助吗?

22 人赞了这篇文章

K
Kaito KuroganeSenior Dev Writer
Senior polyvalent developer, backend Go + frontend TS, open source contributor.
分享:
Your Linux server, as a desktop.
TermalOSSponsored
Ops, reimagined

Your Linux server, as a desktop.

Agentless SSH monitoring, a full remote desktop and an AI ops copilot — no agents to install, everything stays on your machine.

Get early access
LIVERadio Geek Kitsune
Tap to listen, the same sound for everyone
0··
// Schedule
// all stations
// share a track →
主题
浏览
信息