今天 AI 圈:Anthropic 7 月 16 日发文,披露用 Claude Code 把 Bun 的 100 万行 Zig 代码迁移到 Rust,Jarred Sumner(同时是 Bun 联合创始人 + Anthropic MTS)用时不到两周,59 亿输入 Token + 6.9 亿输出 Token,API 成本约 16.5 万美元。迁移完成后 100% 现有测试套件 CI 通过,合并后冒出 19 个回归问题已全部修复,内存占用从 6,745 MB 跌到 609 MB,二进制减小 19%,HTTP 服务提速 2-5%。这是百万行规模迁移第一次被公开写成"几十万美元 + 不到两周"的工程实证。
事件内容
项目骨架
| 维度 | 数字 |
|---|---|
| 主导人 | Jarred Sumner(Bun 联合创始人 + Anthropic MTS) |
| 源语言 | Zig |
| 目标语言 | Rust |
| 代码规模 | 约 100 万行 |
| 工具链 | Claude Code + Claude Fable 5 + Opus 4.8 + Dynamic Workflows |
| 执行周期 | 不到 2 周 |
| 投入时间窗 | 2026 年 6 月,7 月 16 日方法论文公开 |
测试与质量数据
| 维度 | 数字 |
|---|---|
| CI 测试通过率(合并前) | 100%(测试套件由第三方 TypeScript 写) |
| 合并后冒出的回归问题 | 19 个,全部已修复 |
处于 unsafe 块的代码占比 |
约 4% |
| 2000 次重复构建内存占用 | 6,745 MB → 609 MB(≈ 91% 降幅) |
| 二进制体积 | Linux / Windows 上减小 19% |
| HTTP 服务与真实负载 | 提速 2–5%(包括 next build、tsc) |
| 内置工具能检测到的内存泄漏 | 已全部修复 |
Token 与成本
| 项目 | 数量 |
|---|---|
| 未缓存输入 Token | 5.9 B(59 亿) |
| 输出 Token | 690 M(6.9 亿) |
| API 成本(按 Anthropic 当时定价) | 约 16.5 万美元 |
同期对照:Mike Krieger 的 Python → TypeScript 迁移
Mike 是 Anthropic Labs 的联合负责人,2026 年 6 月在周末把 16.5 万行 Python 代码迁到 TypeScript。主体部分只用了 2700 万输入 Token。配套工艺:数百个 Agent、8 个阶段门控、3 轮对抗性评审,最后用 parity check 让每个命令的输出和原 Python 版本逐字节 diff。
迁移后的副产品:单平台编译步骤从 8 分钟跌到 2 秒,二进制启动 6 倍提速,可以下线独立部署流水线。
深度剖析
六步流程:不要修代码,要修流程
Anthropic 给的结构保持型迁移六步法:
- 建立规则书 + 依赖图 + 差异清单
- 压力测试规则(小规模试跑、丢弃产物)
- 翻译一切(实施 + 评审 + 修复循环)
- 编译(修复编译错误)
- 运行(修复冒烟测试崩溃)
- 行为匹配(与原代码库对比测试结果)
关键设计:循环是产品,代码是副产品。
Step 3 的工作队列机制化:batch 脚本检查翻译产物是否落盘 → 把待办切片 → 派给实现 agent。因为队列从磁盘重建,天然可断点续传。同一错误反复出现时,修正的是规则书而不是修补代码——这是 Anthropic 文章里那句最重要的话:"You don't fix the code. You fix the process (loop) that produced the code."
为什么大规模迁移特别适合 AI
Anthropic 给了五条性质,任何一条缺失都不行:
- 天然可并行——文件 / crate 是独立单元
- 上下文完备——旧代码本身就是最好的规格说明
- 内置裁判——测试套件提供客观验证
- 队列自生成——编译错误、测试失败 = 下一个工单
- 强一致性需求——任何违规变队列项,无法悄悄漂移
百万行代码迁移在这五条上每一项都占,这是为什么 Agent 在这种工作上表现异常好,反过来在开放探索类工作里表现差。
16.5 万美元这个数字的含义
传统百万行规模迁移成本:300-400 万美元,4 年项目。
Anthropic 用 Claude Code 跑出来:16.5 万美元 + 不到两周。
降本至少一个数量级,提速至少一个数量级。
更重要的不是单次成本,是立项门槛塌了——之前要做这种"百万行迁移"得有生存级别的业务驱动,现在可能一个"修了一年没法修的内存 bug"或者"一个慢性性能瓶颈"就够了。
这是把"代码现代化"从值得立项的项目变成"周末作业级别"的工具演进。
评审要对抗,验证要机械化
文章里反复强调的一个反直觉原则:评审用大模型(Fable 5),翻译用小模型(Sonnet 5)。
为什么不都用最大模型?Token 消耗主要集中在循环里,循环的频率决定总成本——大模型放在评审这种"高频但单元成本可控"的位置,小模型放在"高频高量"的实现位置,才能把每条 token 都用在刀刃上。
验证不能依赖模型——编译器、diff、test suite 当裁判。任何让模型"自己评自己"的环节,都是失败概率高、token 烧得多、结果不可信。
工作队列机制化是规模化的关键
Step 3 的小细节决定了能不能扩到百万行:待办从磁盘读、完成后从磁盘减。
这等于让工作队列可恢复——任何时刻崩了,下一次启动直接接上,不需要任何形式的全局协调。同样的设计也意味着:数量从 10 个文件扩到 1000 个文件不需要重写编排——只要磁盘有空间,循环就能继续。
值得关注的原因
- 百万行规模迁移从年变成周——任何还在用"我们没时间重写"当借口的遗留系统现代化项目,这次没有借口了。
- 降本至少一个数量级 ——16.5 万美元 vs 300-400 万美元,立项门槛塌了,后续可能有大量"早该做但一直没做"的现代化项目启动。
- Anthropic 把完整工具链开源——迁移启动包(规则书 / 依赖图生成 prompt / 差异清单 prompt / 压力测试 prompt / build daemon 脚本)在
github.com/anthropics/code-migration-kit-with-claude-code,任何想复现这套流程的团队可以直接 fork。 - 「你修的不是代码而是流程」——这是 2026 H2 AI 编码产品竞争的核心方法论。任何 AI IDE / Agent / Harness 的差异化空间,都会围绕"工作流设计"展开。
风险与待观察
- 百万行迁移在两个项目里跑得通 ≠ 任何项目都能这么跑。代码组织、质量、测试覆盖率、依赖复杂度都会影响。
- 19 个合并后回归问题:CI 100% 通过居然还有 19 个回归,意味着测试套件没覆盖到的真实使用场景本身需要扩展——这是迁移工作的真实风险。
- 16.5 万美元的 API 成本不等于自建成本——企业自建这套流程需要前置工程投入,实际总成本可能高 2-3 倍。
- 小模型做翻译、大模型做评审的分工未必通用:不同代码组织、依赖形态的语言对组合可能完全不同。
信息来源:
- Anthropic Engineering:AI code migration 博客:https://claude.com/blog/ai-code-migration
- 配套开源工具:https://github.com/anthropics/code-migration-kit-with-claude-code
- 代码现代化插件:https://github.com/anthropics/claude-plugins-official/tree/main/plugins/code-modernization
- Dynamic Workflows 介绍:https://claude.com/blog/introducing-dynamic-workflows-in-claude-code
- Bun 官方迁移:https://bun.com/blog/bun-in-rust
讨论回复
加载中...正在加载回复...
推荐
智谱 GLM-5 已上线
我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。