AWS Transform 一年处理 45 亿行代码:Agentic AI 代码迁移从概念到生产的实战数据
一年前,"用 AI 迁移遗留代码"还是个听着美好但没人信的概念。微服务改造、Java 8 升 21、.NET Framework 迁 .NET 8——哪个不是踩坑无数、排期以月计的苦活?
AWS Transform 去年发布时,我的第一反应是"又一个 demo 级产品"。但刚看到它的一周年数据:45 亿行代码处理、160 万小时节省、数千家企业使用。这不是 demo 了。
一年里发生了什么
时间线
2025-05 发布:.NET + Mainframe + VMware 三条迁移线
2025-12 re:Invent:Transform Custom(自定义迁移规则)
2026-01 全栈 Windows 现代化
2026-03 Mainframe Reimagine + 自动化测试
2026-04 Transform Agents 进入开发者 IDE(Kiro、Claude 等主流 IDE)
2026-05 Agent Builder Toolkit(Kiro Power)
核心数据
| 指标 | 数字 |
|---|---|
| 处理代码行数 | 45 亿+ |
| 节省工时 | 160 万+ 小时 |
| 企业用户 | 数千家 |
| 迁移的服务器 | 数十万台 |
| 支持语言 | .NET/Java/COBOL/RPG/PL/I |
Transform 不是翻译器
很多人误解 AI 代码迁移 = 把代码从一种语言翻译到另一种。实际上 Transform 干的是 Agentic 多步骤改造:
- 分析 — 理解代码结构、依赖关系、业务逻辑
- 规划 — 制定迁移策略(什么保留、什么重构、什么替换)
- 执行 — 逐步改写代码
- 验证 — 自动跑测试,确认行为一致
- 修复 — 测试失败就修,循环直到通过
[源代码] → [分析Agent] → [规划Agent] → [改写Agent] → [测试Agent]
↑ ↓
└── [修复Agent] ←┘
这是标准的 Agentic AI 模式——多 Agent 协作、有反馈循环、能自主决策。
实际迁移场景
场景一:Java 8 → Java 21
这是最常见的需求。Java 8 到 Java 21 之间有大量 breaking change:
// 之前(Java 8 代码)
import javax.servlet.http.HttpServletRequest;
import javax.xml.bind.JAXBContext;
import java.security.AccessController;
// Transform 分析后的迁移计划:
// 1. javax.servlet → jakarta.servlet (Jakarta EE 迁移)
// 2. javax.xml.bind → 引入 jakarta.xml.bind 依赖
// 3. AccessController → 替换为直接调用(Security Manager 已废弃)
// 4. 检查反射调用兼容性
// 5. 更新 Maven/Gradle 依赖版本
Transform 不只是做字符串替换。它理解 javax → jakarta 的完整语义——哪些包改名了、哪些接口参数变了、哪些行为有差异。
场景二:.NET Framework → .NET 8
Windows 团队的噩梦。WCF 不支持了、WebForms 淘汰了、System.Web 整个没了。
Transform 的全栈 Windows 现代化能力:
- Web 层:ASP.NET WebForms → Razor Pages/Blazor
- 通信层:WCF → gRPC 或 REST
- 数据层:Entity Framework 6 → EF Core 8
- 部署层:IIS → Kestrel(可容器化)
场景三:Mainframe COBOL → Java/云原生
最硬核的场景。几十年的 COBOL 业务逻辑,没人敢动,但维护成本越来越高。
Transform 的 Reimagine 功能不是逐行翻译 COBOL → Java。它先理解业务逻辑,然后用现代架构重新实现:
COBOL 批处理程序(读文件 → 处理 → 写文件)
↓ Transform Reimagine
Java 微服务(S3 事件触发 → Lambda 处理 → DynamoDB 存储)
Transform Custom:自定义规则
企业代码有自己的规范。比如:
- 内部框架的 API 变更
- 日志格式统一
- 安全库升级
- 命名规范调整
Transform Custom 让你写自己的迁移规则,然后批量应用:
# 自定义 Transform 规则示例
transformations:
- name: "upgrade-internal-logger"
description: "将内部日志库从 v2 升级到 v3"
pattern:
language: java
match: "com.company.logger.v2.Logger"
replacement:
import: "com.company.logger.v3.StructuredLogger"
method_mapping:
"log.info(msg)": "logger.info().message(msg).emit()"
"log.error(msg, ex)": "logger.error().message(msg).exception(ex).emit()"
写好规则,Transform 在你整个代码库里批量执行。加上自动测试验证,确保改完不崩。
IDE 里直接用
4 月份开始,Transform Agents 进入了 IDE:
- Kiro — 原生集成(毕竟都是亚马逊云科技的)
- Claude — Claude Platform on AWS 里直接调用
- 以及其他主流 IDE 通过 MCP Server 接入
在 IDE 里的使用方式:
你:分析 src/main/java 下的代码,哪些地方不兼容 Java 21?
Transform Agent:
扫描完成。发现 47 处不兼容:
- javax.* 引用:23 处
- Security Manager 调用:8 处
- 反射 API 变更:6 处
- Nashorn 引擎:3 处
- 其他:7 处
是否生成修复计划?
你:生成,先处理 javax 的
Transform Agent:[自动改写 23 个文件...] 完成。跑测试?
Agent Builder Toolkit(Kiro Power)
最新的 Agent Builder Toolkit 让你构建自定义的 Transform Agent:
- 定义迁移规则
- 编排多步骤流程
- 集成自己的测试框架
- 发布为可复用的 Agent
适合大企业里有专门平台团队负责代码现代化的场景。
成本
Transform 按处理的代码行数计费。具体价格取决于迁移类型:
- 语言版本升级(Java 8→21):最便宜
- 框架迁移(.NET Framework → .NET 8):中等
- 大型机重写(COBOL → Java):最贵
对比人工迁移的成本(一个高级开发者一天处理几百行遗留代码),AI 方式通常便宜一到两个数量级。
局限和风险
- 不是银弹 — 复杂业务逻辑重写仍需人工参与和验证
- 测试覆盖率是前提 — 没有好的测试套件,自动迁移出了问题你都不知道
- 配置和基础设施不管 — Transform 改代码,不改部署脚本和 infra 配置
- 学习曲线 — 自定义规则写好需要理解 Transform 的 DSL
我的判断
45 亿行代码不是做出来的数字,是企业用出来的。一年从"概念验证"到"批量生产",说明 Agentic AI 在代码迁移这个场景确实成熟了。
关键原因:代码迁移是规则明确、可验证、可回滚的任务——AI 最适合做这种活。不需要创造性,需要耐心和精确。
对还在用 Java 8 或 .NET Framework 的团队:现在是认真评估 AI 辅助迁移的时候了。工具成熟了,数据也证明了。
参考:

浙公网安备 33010602011771号