# 我用 Fable 把 6.5 万行 Go 代码重写成 Rust，花了 400 美元

> 原标题：I used Fable to rewrite 65kLoC of Go in Rust. It cost $400

- 来源：Hacker News 首页
- 发布时间：2026-09-01T18:39:04.000Z
- AX AI 日报：https://ai-daily.ax0x.ai/items/54149
- 原文：https://iurii.net/en/blog/posts/software-engineering/i-used-fable-to-rewrite-65kloc-to-rust/

## 摘要

作者用 Fable 5 把一个终端编辑器从 Go 迁到了 Rust，总共 6.5 万行代码，API 费用只花了 400 美元。方法分三步：先把代码抽成数据表示（状态机、图、公式），在这层表示上做操作，再让模型按目标语言重新生成代码。Fable 能精确追踪数据流是这套流程能跑通的关键。不过正文没披露编译通过率和测试覆盖率，所以“全自动重写”这个说法我先打...

## 推荐理由

6.5万行Go转Rust只花400美元，加上中间表示这个巧劲，H和K都够。但正文没披露编译通过率和测试覆盖率，'全自动重写'这个说法得打个折——定在72，刚好踩在featured门槛上。

## 锐评

作者把代码重写成数据表示（状态机、图、公式），在这层做操作，再让模型按目标语言生成代码。Fable 能精确追踪数据流是这套流程能跑通的关键，相当于让模型先理解代码的骨架，而不是直接硬翻语法。400 美元处理 6.5 万行，单行成本不到 0.6 美分，如果数据属实确实便宜。

但文章只讲了方法，没给任何验证指标。编译过了多少？测试覆盖率是多少？有没有引入逻辑错误？这些都没提。作者自己也说“全自动重写”这个说法要打折，我同意。这套流程更像是一个聪明的脚手架，实际落地还得靠人做大量验证和修边。

另外，方法对代码的可抽象程度有要求。如果原代码耦合重、全局状态多，抽成干净的数据表示本身就不容易。文章没讨论失败案例或适用范围，这点信息缺口挺大。
