大多数团队对待代码迁移的态度是能拖就拖,不是不想动是动不起,几百万行代码换语言换架构动辄四年几百万美元,失败一次就是灾难级事故。
Anthropic 刚用 Claude Code 跑通了另一条路。Bun 创始人把整个项目从 Zig 迁到 Rust,百万行代码不到两周,现有测试套件 100% 通过 CI 才合并,上线只出 19 个回归全部修完。成本约 16.5 万美元,Mike Krieger 一个周末把 Python 代码库迁到 16.5 万行 TypeScript,几百个 agent 八道阶段门三轮对抗审查,最后做全命令输出对比。
以前迁移是押宝项目,现在迁移是删 branch 重来的成本。你不修复代码,你修复产生代码的过程。
六步流程的精髓不在步骤本身,在一个前置约束:先有一个强 judge,把原有测试改写成能同时跑在新旧两边的断言,再用对抗 agent 验证它不会被稀释,没有 judge 后面全是空转。然后定规则建依赖图找 gap,
压力测试规则用同一规则翻三个文件跟资深工程师风格翻三个文件对比 diff 专门找系统性漏洞,这一步发现的问题会指数级放大必须在全量之前杀掉。全量翻译时规则只读只增不改,两个独立 reviewer 默认假设所有代码都是错的,每个 finding 必须引用规则或源码行,人类只处理模式修正。编译失败测试挂掉行为不一致直接变成下一轮 agent 的工作项,失败不再是事故是队列里的下一项。
反常识的地方在这里。最贵的不在迁移本身,在前期的规则定义和压力测试,人类时间几乎全部花在 Rulebook 上,规则写错一次后面全是垃圾。看到同一个错误出现三次以上立刻停止修实例升级到改规则,大模型只用来写规则和做高风险审查,高并发实现用中小模型既省钱又防大模型在细节上乱发挥。旧代码永远是 ground truth,测试失败先跑旧代码确认,旧代码也挂那是继承问题不是你的锅,永远不削弱测试来让队列变短。
对个人和小团队这扇门是真的开了。以前语言级重构是大厂专属,现在有了可复制的工厂流水线模板,一个慢性痛点编译太久内存持续泄漏生态萎缩就够了,最坏情况删掉重来。真正的杠杆不在 AI 写代码更快,在正确性验证和制造过程本身也变成了可被 agent 迭代的对象,你不再修代码,你修那个修代码的 loop。