学习

如何把遗留软件纳入 AI SDLC

支撑你业务的系统不是为 AI 辅助开发而建的——而重写正是现代化项目的死法。这里是行之有效的渐进式上道方案。

把遗留软件纳入 AI SDLC,意味着给一个既有系统——Rails、Java、Go、Python、Node 或多进程后端——包上 AI 构建应用默认享有的交付闭环:可复现的环境、映射好的业务领域、经政策检查的变更、自动化测试与受控部署。与重写不同,什么都不丢弃;系统持续运行,而 AI 辅助工程从低风险变更开始,渐进接手维护和新工作。

适用对象企业 IT 负责人老化业务系统的负责人现代化项目负责人

发布日期 2026-07-03 · 最近更新 2026-07-03 · Ciao 编辑团队

简短的答案,展开来说

每一场关于 AI 辅助开发的对话,最终都会撞上同一堵墙:“新应用当然没问题,可我们的业务跑在一个十二年历史的 Rails 单体和一套没人完全弄得懂的 Java 计费系统上。”这堵墙是真的——大多数 AI 开发工具假设一切从零开始——但团队从中得出的结论,即遗留系统必须等一次重写之后 AI 才帮得上忙,恰恰弄反了。遗留系统才是 AI 辅助工程回报最高的地方,因为维护负担、知识风险和积压清单真正住在那里。

把遗留系统纳入 AI SDLC,不是让模型把它重新生成一遍。而是让既有代码享有一个新 AI 应用同等的交付闭环:一个系统能可复现运行、智能体可以安全作业的环境;一张哪段代码属于哪个业务职能的地图;保护危险区域的政策;围绕不可改变行为的自动化测试基线;以及一条从变更到部署的受控路径。这个闭环一旦存在,AI 智能体就能在治理之下承担人最发怵的工作——依赖升级、bug 积压、小功能、文档——同时系统继续服务生产。

战略上的重新框定是:现代化不再是一个目的地(那场永远还差十八个月的大重写),而成为系统从今往后被维护方式的一种属性。进入闭环的系统随着每一次受治理的变更逐步变好。留在闭环之外的系统按时刻表衰败。

一个有用的心智模型:把遗留系统当作正在办理入院的病人,而不是待拆的大楼。入院意味着先观察——复现它、映射它、给它的行为建基线——再随着证据积累逐步加大治疗剂量。办入院不要求相信这个系统很好;只要求承认它在承重,而这恰恰是它配得上机器而非英雄主义的原因。下面的阶段就是那套入院流程,按顺序排列,风险前置在可逆的步骤上。

遗留系统为何困住——重写又为何一再失败

这种痛是结构性的,不是偶然的。弄懂系统的工程师已经离开或转岗,所以每次变更都从考古开始。测试覆盖薄弱或流于仪式,所以每次部署都是一次小小的壮举,所以部署越来越少,所以变更越攒越多,所以部署越来越险——经典的死亡循环。与此同时,业务需求的积压在增长,而有能力碰这个系统的人,把产能都花在维持它活着上,而不是改进它。这正是一个产能问题,而产能问题正是 AI 辅助工程要解决的——前提是存在让智能体安全作业的防护机制。

传统的逃生舱——大爆炸式重写——有一份每个 CIO 都熟悉的失败记录:多年的时间线、老系统在新系统脚下继续演化、最后那 20% 没有文档却在承重的行为吃掉大部分预算。重写失败,是因为它要求组织一次性理解整个系统,而那正是已经流失的知识。渐进式方法成功,是因为它每次只要求理解一个变更——而一次一个变更,恰恰是 AI 智能体加治理最擅长的粒度。

还有人才现实。没人想坐遗留系统的维护席,为它招聘一年比一年难。把系统包进 AI SDLC,能把那个席位从全职考古变成方向把握与审核——一个资深人士真的愿意接的角色。

积压清单本身就告诉你困住了多少价值。大多数老化系统背着多年的延期请求——小功能、集成需求、报表改动——每一项单独看都不值得冒部署的风险。这就是死亡循环残酷的算术:部署越危险,动手的门槛越高,队伍排得越长。打破循环——便宜、安全、受治理的变更——队伍就从一张负债清单变成一条价值管线,这也是为什么积压消化率是这类项目最有说服力的早期指标。

六阶段上道方案

按顺序跑这些阶段;每一段都为下一段卸风险。节奏可以是单个系统每阶段几周,也可以是横跨整个项目组合的滚动计划。抵制直接跳到第六阶段的冲动——每一个被跳过的阶段,都会在更糟的时机以事故的面目重新出现。

  1. 1. 盘点并挑选第一个系统

    要挑得有意图:痛感要真,爆炸半径要适中。一个背着一肚子怨气积压的业务工具,比核心支付引擎更适合第一阶段——你要的是一个赢了看得见、错了扛得住的系统。

  2. 2. 复现环境

    系统必须能在一个镜像生产依赖的沙箱环境中运行——构建、启动、执行。这是老技术栈的技术难点,也正是自定义沙箱镜像的用途:让 Rails、Java、Go、Python、Node 与多进程后端运行在智能体可以安全作业的地方。

  3. 3. 把代码映射进业务领域

    把部落知识变成结构:哪些模块是计费、哪些是身份验证、哪些是没人碰的报表。这张地图是治理得以运转的前提——政策附着在业务领域上,而不是只有工程师才看得懂的文件路径上。

  4. 4. 声明受保护区域与政策

    在智能体碰任何东西之前,用简单语言把规则写下来:支付逻辑和身份验证是需要资深人工批准的受保护区域;依赖升级和界面文案可以在自动化检查下放行。治理先行,是上道和事故之间的分界线。

  5. 5. 建立测试基线

    在改动任何东西之前,把当前行为——尤其是商业上要紧的用户流程——固化为自动化的浏览器级测试。这条基线就是你对“没有弄坏它”的定义,而搭建它本身,就是智能体可以在审核之下承担的工作。

  6. 6. 从低风险变更类别开始,再逐步放宽

    依赖更新、bug 积压、小功能、文档——量大、无戏剧性、能攒证据档案的工作。随着审计轨迹积累、信心增长,再有意识地把范围扩大到更深的重构和模块级现代化。

重写 vs 换平台 vs 包进 AI SDLC

老化系统的三个诚实选项,在决定项目成败的维度上对比。大多数项目组合三种答案都会在某处用到;错误在于因为第一种显得果断就把它当默认。

大爆炸式重写换到低代码平台包进 AI SDLC
既有代码丢弃并重建在供应商平台内重建保留,就地维护和改进
连续性风险高——并行系统,艰难切换中——行为需重造,边缘情形有风险低——系统全程持续运行
首个价值到来的时间数季度到数年数月数周——最早的受治理变更很快发布
无文档的行为必须提前重新发掘必须迁就平台的模型被保留;渐进地映射和测试
最终的所有权一个你拥有的新代码库取决于平台条款还是你拥有的那份代码,如今受治理、有测试
最适合系统已无可救药流程符合标准模式系统能用,但改起来又贵又险

就绪检查清单

当你能勾掉其中大多数时,你就可以开始了;勾不上的空档就是你第一阶段的工作计划。没有一项需要现代化预算才能启动——大多数只是一周的专注工作。

  • ✓ 一个点了名的首个系统,带一位有动力的业务负责人和一份真实的积压清单
  • ✓ 有源代码访问权限,并能枚举运行时依赖
  • ✓ 系统可以在生产环境之外运行(或者你接受把这作为第一步来建)
  • ✓ 至少有一个人能裁决“这个行为是有意为之吗?”这类问题
  • ✓ 商定的受保护区域:未经资深人员批准,任何自动化变更不得进入的区域
  • ✓ 商业上关键的用户流程已列出,准备成为测试基线
  • ✓ 安全态势已成文:敏感数据在哪里、谁可以访问什么
  • ✓ 存在带回滚的部署路径,或已接受将其作为早期工作范围
  • ✓ 预先选定成功指标:积压消化率、部署频率、事故率

Ciao 的角色

这套上道方案在 Ciao 上是一条一等路径,不是改装。自定义沙箱镜像把 AI 辅助工程包裹在 Rails、Java、Go、Python、Node 与多进程后端之上——框架的第二阶段直接成为平台能力。随后 Guardrails 负责映射与保护:它把代码映射进业务领域、检测高风险变更、应用简明英文政策、记录人工审核,并在每次合并背后留下审计轨迹,这正是遗留系统要求的治理先行姿态。QA 搭建并运行基线——确定性浏览器回放、自愈式测试、发布前的冒烟测试关卡、发布后的生产环境检查——Doctor 探测线上应用、DNS 与 CDN,在有东西行为不端时诊断根本原因。

对于项目组合而非单个系统,Conductor 用一个屏幕覆盖成百上千个项目,配有实时健康状况与受保护区域可见性,这正是一个滚动式现代化项目要由小团队管理时真正需要的。部署可以留在合规要求的任何地方:你自己的 AWS、Azure 或 GCP 账户、私有 VPC,或在另行约定条款下的本地环境。严肃的开发项目起价为每年 10,000 美元。与销售团队的对话要具体:带上一个老化系统和它的积压清单,为它界定第一阶段的样子。

在组织内部诚实地设定预期:头几周产出的是基础设施,不是功能——一个可复现的环境、一张业务领域地图、一条测试基线——对被许诺了 AI 速度的干系人来说,这可能显得进展缓慢。复利在之后开始:后续每一次变更都跑在同一条轨道上,第一百次受治理变更的成本只是第一次的零头。把这个形状提前讲清楚的项目留得住赞助人;对一个十二年历史的代码库许诺即时速度的项目,会把第三个月花在道歉上。

常见问题

把遗留系统纳入 AI SDLC,意味着让 AI 重写它吗?

不——那是换了作者的重写陷阱。系统保持运行并渐进演化:智能体在保护既有行为的政策和测试之内,一次一个受治理变更地承担维护、升级和功能。深度重构放在后面,由积累起来的证据来挣得。

我们的技术栈是老 Rails 和 Java。真的支持吗?

支持。在 Ciao 上,自定义沙箱镜像把 AI 辅助工程包裹在 Rails、Java、Go、Python、Node 与多进程后端之上,让系统在一个可复现的环境中运行,智能体可以在其中构建、启动和测试它。让这个环境贴近生产实况是框架的第二阶段,也是主要的技术投入。

如果公司里已经没有人完全理解这个系统怎么办?

这是正常的起点,而且它是支持这个方法的论据,不是反对它的。把代码映射进业务领域会显式地重建结构性理解,测试基线在任何改动之前钉住当前行为,而每一次受治理的变更都会往审计轨迹里增添文档——知识恢复成了维护的副产品。

我们如何防止 AI 智能体弄坏关键的东西?

分层控制,在开工之前声明:围绕支付、身份验证和数据访问代码的受保护区域要求记录在案的人工批准;简明语言政策按风险给每次变更分类;浏览器级基线测试为发布把关;回滚是标准操作。智能体在栅栏之内工作,而不是靠信任。

多久能看到成效?

环境复现之后,最早的受治理变更通常几周内就能发布——依赖更新和积压修复来得早,因为它们量大、风险低。评判这个项目要用你在开始时设定的趋势指标:积压消化率、部署频率和事故率,逐季度看。

这比重写便宜吗?

与其说更便宜,不如说形状不同:持续的渐进投入,取代一场回报遥远的豪赌,价值从第一个月就开始到账,而且随时可以停下而不损失已经发布的东西。当每一个阶段都让系统比之前更好,项目失败的概率就小得多。

相关页面

严肃的开发,始于严肃的责任。

如何把遗留软件纳入 AI SDLC | Ciao