
关于
使用绞杀者模式编排全面的遗留系统现代化,在通过渐进式替换过时组件的同时保持业务连续运营
name: framework-migration-legacy-modernize description: "使用绞杀者模式编排全面的遗留系统现代化,通过专家代理协调实现旧组件的逐步替换,同时保持业务连续运营。" risk: unknown source: community date_added: "2026-02-27"
遗留代码现代化工作流
使用绞杀者模式(Strangler Fig Pattern)编排全面的遗留系统现代化,通过专家代理协调实现旧组件的逐步替换,同时保持业务连续运营。
[Extended thinking: 绞杀者模式以热带榕树逐渐包裹并替代宿主树的方式命名,代表了风险可控的遗留系统现代化的黄金标准。此工作流实现了一种系统化方法,新功能逐步替换遗留组件,允许两个系统在过渡期间共存。通过协调专门的评估、测试、安全和实施代理,我们确保每个迁移阶段在推进前都经过验证,最大限度减少中断,同时最大化现代化速度。]
适用场景
- 处理遗留代码现代化工作流任务
- 需要遗留代码现代化工作流的指导、最佳实践或检查清单
不适用场景
- 任务与遗留代码现代化工作流无关
- 需要此范围之外的不同领域或工具
操作说明
- 明确目标、约束条件和所需输入。
- 应用相关最佳实践并验证结果。
- 提供可操作的步骤和验证方法。
- 如需详细示例,请打开
resources/implementation-playbook.md。
第一阶段:遗留系统评估与风险分析
1. 全面遗留系统分析
- 使用 Task 工具,subagent_type="legacy-modernizer"
- 提示词:"分析位于 $ARGUMENTS 的遗留代码库。记录技术债务清单,包括:过时依赖、已弃用 API、安全漏洞、性能瓶颈和架构反模式。生成现代化就绪报告,包含组件复杂度评分(1-10)、依赖映射和数据库耦合分析。识别快速见效项与复杂重构目标。"
- 预期输出:包含风险矩阵和现代化优先级的详细评估报告
2. 依赖与集成映射
- 使用 Task 工具,subagent_type="architect-review"
- 提示词:"基于遗留评估报告,创建全面的依赖关系图,展示:内部模块依赖、外部服务集成、共享数据库模式和跨系统数据流。识别迁移期间需要门面模式或适配器层的集成点。突出需要解决的循环依赖和紧耦合。"
- 上下文来源:遗留评估报告、组件复杂度评分
- 预期输出:可视化依赖图和集成点目录
3. 业务影响与风险评估
- 使用 Task 工具,subagent_type="business-analytics::business-analyst"
- 提示词:"评估现代化每个已识别组件的业务影响。创建风险评估矩阵,考虑:业务关键性(收入影响)、用户流量模式、数据敏感性、合规要求和回退复杂度。使用加权评分系统对组件进行优先排序:(业务价值 × 0.4)+(技术风险 × 0.3)+(快速见效潜力 × 0.3)。为每个组件定义回滚策略。"
- 上下文来源:组件清单、依赖映射
- 预期输出:带有风险缓解策略的优先迁移路线图
第二阶段:建立测试覆盖
1. 遗留代码测试覆盖分析
- 使用 Task 工具,subagent_type="unit-testing::test-automator"
- 提示词:"分析位于 $ARGUMENTS 的遗留组件的现有测试覆盖率。使用覆盖工具识别未测试的代码路径、缺失的集成测试和缺少的端到端场景。对覆盖率低于40%的组件,生成特征化测试以捕获当前行为而不修改功能。创建安全重构的测试工具。"
- 预期输出:测试覆盖报告和特征化测试套件
2. 契约测试实施
- 使用 Task 工具,subagent_type="unit-testing::test-automator"
- 提示词:"为依赖映射中识别的所有集成点实施契约测试。为 API、消息队列交互和数据库模式创建消费者驱动的契约。在 CI/CD 流水线中设置契约验证。生成响应时间和吞吐量的性能基线,以验证现代化组件维持 SLA。"
- 上下文来源:集成点目录、现有测试覆盖
- 预期输出:包含性能基线的契约测试套件
3. 测试数据管理策略
- 使用 Task 工具,subagent_type="data-engine"
兼容工具
Claude CodeCursor
标签
前端开发