> 📘 本案例有深度详解(含真实提示词与全程调试):案例20 · 遗留系统 TypeScript 化重构

【关键工具】 Claude Code

【70% Vibe】

给命令行一句指令,Claude Code 就批量扫描一个庞大的遗留 JavaScript 项目,自动推导每个变量、函数的类型,把它无痛重构成 TypeScript。对维护老项目的团队来说,这是把一件"谁都不想干、干起来又臭又长"的活儿自动化了。AI 的库级执行力在这里展现得淋漓尽致——它能同时理解几十个文件之间的关系,做出全局一致的改动。

【30% Engineering】

"一键重构"的爽感背后,是两个只有人能拍板的难题。

第一是 any 类型泛滥。当 AI 推导不出某个变量的确切类型时,最偷懒的做法就是标成 any(任意类型)——这在语法上能过,却让 TypeScript 的类型保护形同虚设。如果放任不管,你会得到一个"假装是 TypeScript"的项目。哪些地方必须给出精确类型、哪些地方可以容忍、如何系统地消灭 any,需要人来定标准、做权衡。

第二是依赖不兼容导致的编译死锁。老项目往往依赖一堆陈旧的库,它们之间、它们与 TypeScript 之间可能存在版本冲突,导致改完之后根本编译不过。这种"死锁"往往牵一发动全身,AI 容易在里面反复打转,需要人凭经验判断"哪个依赖该升、哪个该换、哪个该绕过"。

破局心法

AI 做大规模重构时,最大的风险不是"改不动",而是"改得看起来对、实则偷工减料"(满屏 any、跳过难啃的依赖)。人类在这里的核心职责,是设定"什么算真正改好了"的质量标准,并盯着 AI 不许它走捷径。