Anthropic 开源基于 Claude Code 的代码迁移工具
100 万+行代码,从 Zig 迁移到 Rust,Anthropic 把背后的 Claude Code 方法开源了。
项目叫 code-migration-kit-with-claude-code。 这套方法参考了真实生产迁移,包括 Bun 的 1M+ 行 Zig→Rust 项目。 它不是让 Claude Code 一口气把整个仓库翻译完,而是把迁移拆成 6 个阶段:
建依赖图和迁移规则
用难文件先压力测试规则
并行翻译全部代码
统一编译,把错误变成修复队列
跑最小端到端测试
和旧实现逐项做行为一致性验证
其中一条规则很关键: 只要两个 Agent 可能给出不同答案,就先写进 RULEBOOK.md。
真正开始迁移后,每个单元也不是交给一个 Agent 就结束,而是: Implementer + 2 个 adversarial reviewer + fixer 先翻译,两个独立 Reviewer 找问题,再让 fixer 修。
编译也不是几十个 Agent 各跑各的。 整个仓库统一做 survey build,把错误整理成机器可读队列,再按模块分给 fixer。
验证阶段更重要。 如果原来的测试不能直接复用,就要在迁移开始前建立 parity harness,同时运行旧代码和新代码,对比行为。 README 里有句话说得很直接: No judge, no exit condition.
另外,大规模迁移的成本也不能忽略。 官方提醒,生产级迁移可能在两周内消耗 数十亿 input tokens,预算应该直接按: 工作单元数量 × 单元成本 来算。
这套流程比较适合 Zig→Rust、Python→Go、C/C++→Rust 这种整个代码库都要换语言的项目。 JavaScript→TypeScript 这种可以渐进迁移的场景,Anthropic 自己都说多数情况下没必要搞这么重。
我觉得这个项目最值得看的不是那几个 Prompt,而是怎么让一群 Claude Code 同时改大型代码库,还能保证最后的结果可验证。 Agent 可以并行,规则和验收标准必须先统一。
GitHub: #ClaudeCode #Anthropic #Agent #OpenSource