清理 AiTool 旧版代码时,我很想直接对 Agent 说:“把没用的页面删掉。”但一个页面没有出现在导航里,不代表没人通过旧链接打开;一个组件没有显眼的名字,也可能还被活页面引用。Agent 可以很快删除文件,判断删得对不对,仍要我先给出边界。
这次真正帮我提效的,是把模糊的清理任务拆成一张保留清单和一张待删清单。当时我让 Claude 帮忙盘点,再按清单处理成批修改;工具分工会随任务和版本改变,这个核对顺序更值得留下。5 月 1 日的清理提交显示删除了 170 个文件、修改了 2 个文件。这个数字说明改动范围,不证明每一步都已验收。
第一步:列出必须保留的入口#
我先看导航、首页和产品页,把仍对外开放的路由列出来。再问:有没有不在导航里、但仍供用户直接访问的页面?支持、法律说明和旧链接都要算进去。没有这张清单,“死代码”只是猜测。
第二步:从活入口往回查#
对每个待删目录,我查页面、组件、API 和数据初始化之间的引用。至少要回答三件事:活页面会不会 import 它?是否有硬编码链接仍指向它?删掉后是否会漏建活功能需要的数据?找不到反证的文件才进入删除范围。
第三步:分批删除,再看最终页面#
批量操作可以交给 Agent,但每批结束要看 diff 是否碰到了保留清单;类型检查和构建通过后,仍要打开关键页面,确认导航、直接访问和登录入口能走通。只凭“删掉很多行”或“构建是绿的”,都不足以证明没有退行。
我以前容易把效率理解成 Agent 一口气改完。这次更实用的经验是:先说清什么不能坏,Agent 才能安全地快。 我没有可靠的耗时或账单对照,因此不拿这次清理宣称某个工具一定更快或更便宜。