FEATURED · 精选文章

agents 插件实战:用 legacy-modernize 命令编排 Strangler Fig 模式的老旧系统渐进式现代化迁移

发布时间 / 2026/9/11 18:43:40
来源 / 创域科博编辑部
栏目 / 资讯中心
agents 插件实战:用 legacy-modernize 命令编排 Strangler Fig 模式的老旧系统渐进式现代化迁移 agents 插件实战用 legacy-modernize 命令编排 Strangler Fig 模式的老旧系统渐进式现代化迁移【免费下载链接】agentsMulti-harness agentic plugin marketplace for Claude Code, Codex, Cursor, OpenCode, GitHub Copilot, and Google Antigravity项目地址: https://gitcode.com/GitHub_Trending/agents24/agents本篇文章基于 GitHub 推荐项目精选 agents24 / agents 仓库中plugins/framework-migration插件提供的legacy-modernize命令完整剖析一个可落地的老旧系统现代化编排工作流从技术债盘点、依赖与集成映射、业务风险分级到测试覆盖建立、Strangler Fig 基础设施搭建、分波次组件迁移、安全加固、性能验证、渐进式灰度直至停用与文档交接。读完本文你将掌握该命令的完整行为契约状态机、检查点、子代理调用、文件产物规范并理解它与仓库内framework-migration-legacy-modernizer、framework-migration-architect-review两个本地 agent 的协作机制可直接在 Claude Code 等多 harness 环境中复用于真实迁移项目。命令概览一条命令一套完整的迁移编排协议legacy-modernize是 plugins/framework-migration 插件下三个命令之一另两个为 code-migrate.md 与 deps-upgrade.md。它不是一个帮写几段迁移代码的轻量提示词而是一个带状态机、带硬性执行顺序、带人工审批闸门的多阶段编排命令。命令的 YAML frontmatter 定义了它的触发语义与参数形态--- description: Orchestrate legacy system modernization using the strangler fig pattern with gradual component replacement argument-hint: legacy codebase path or description [--strategy parallel-systems|big-bang|by-feature|database-first|api-first] ---其中description是该命令在 agent 决策时被检索与匹配的触发描述明确点出了核心方法Strangler Fig绞杀藤模式 渐进式组件替换。argument-hint则告诉调用方如何构造参数第一个位置参数是要现代化的老旧代码库路径或描述命令中统一记作$TARGET--strategy可选值包括parallel-systems并行系统、big-bang大爆炸式、by-feature按功能、database-first数据库优先、api-firstAPI 优先缺省值为parallel-systems。按仓库的 authoring 规范命令文件属于插件内容的四大类型之一commands/name.md由适配层在不同 harness 间转换Codex 转换为 skill、Copilot 输出为 slash-command 提示词因此该命令可在多种 harness 中复用且其正文对$ARGUMENTS的引用遵循把参数当数据的规范。参数解析与状态初始化命令在执行前先完成三项前置检查Pre-flight Checks检查既有会话若.legacy-modernize/state.json存在且status为in_progress则读取它并向用户展示当前步骤询问从上次断点继续或全新开始归档旧会话若状态为complete则询问是否归档并重新开始。初始化状态创建.legacy-modernize/目录与state.json初始结构如下{ target: $ARGUMENTS, status: in_progress, strategy: parallel-systems, current_step: 1, current_phase: 1, completed_steps: [], files_created: [], started_at: ISO_TIMESTAMP, last_updated: ISO_TIMESTAMP }解析目标描述从$ARGUMENTS中提取 flags 之前的部分作为$TARGET供后续所有子代理 prompt 引用。这套状态机的价值在于迁移项目通常跨越数天到数周会话随时可能中断而state.json让工作流可以在任何断点精确恢复且所有中间产物都落盘到.legacy-modernize/不依赖模型上下文窗口的记忆。六条不可违反的行为铁律命令开篇即声明CRITICAL BEHAVIORAL RULES违反任何一条即视为失败。这六条规则构成了整个编排的宪法按顺序执行步骤不得跳步、重排或合并步骤。每一步必须落盘每个步骤在进入下一步之前必须先在.legacy-modernize/中产出自己的输出文件后续步骤读取前序步骤的文件不得依赖上下文窗口记忆。在检查点停车到达PHASE CHECKPOINT时必须停止使用 AskUserQuestion 工具给出明确选项等待用户显式批准后才继续。失败即停任何步骤失败agent 报错、测试失败、依赖缺失立即停止呈现错误并询问用户如何处理不得静默继续。仅使用本地 agent所有subagent_type引用只使用本插件自带的 agent 或general-purpose无跨插件依赖。绝不自主进入计划模式不得调用 EnterPlanMode因为这条命令本身就是计划直接执行。规则 1、2、4 共同保证了工作流的确定性、可审计性与可恢复性规则 5 与仓库的插件自治设计一致——按 authoring.md 的要求agent 名必须全局唯一采用plugin-directory-agent-file-stem的插件级命名CI 还会运行 check_agent_name_collisions.py 防止命名冲突这正是只依赖本地 agent、不跨插件耦合能在多插件并装环境下成立的基础。Phase 1遗留系统评估与风险分析步骤 1–3Step 1遗留系统全面分析命令使用 Task 工具以subagent_typeframework-migration-legacy-modernizer派发子代理prompt 要求对$TARGET代码库做迁移就绪度分析建立技术债清单过时依赖与废弃 API、安全漏洞与性能瓶颈、架构反模式生成迁移就绪度报告组件复杂度评分1–10、模块间依赖映射、数据库耦合分析、速赢项quick wins与复杂重构目标的区分。产出保存为.legacy-modernize/01-legacy-assessment.md随后更新state.jsoncurrent_step置 2、将01-legacy-assessment.md加入files_created、step 1 加入completed_steps。这里引用的framework-migration-legacy-modernizer是本插件自带的专用 agent见 legacy-modernizer.md其定位是关注安全、增量升级的遗留系统现代化专家聚焦领域包括框架迁移jQuery→React、Java 8→17、Python 2→3、数据库现代化存储过程→ORM、单体拆微服务、依赖升级与安全补丁、遗留代码测试覆盖、API 版本化与向后兼容。它的方法论与本文档完全同构Strangler Fig 渐进替换、先补测试再重构、保持向后兼容、用特性开关灰度。换句话说命令文档是编排协议而 agent 文件是执行专家的人设与能力声明。Step 2依赖与集成映射读取01-legacy-assessment.md后改用subagent_typeframework-migration-architect-review生成依赖图与集成点目录交付物包括内部模块依赖外部服务集成共享数据库 schema 与跨系统数据流需要 Facade 模式或适配层保护的集成点需要解决的循环依赖与紧耦合。产出保存为.legacy-modernize/02-dependency-map.md。framework-migration-architect-review见 architect-review.md是仓库中能力最全面的架构评审 agent 之一明确覆盖了反腐层Anti-corruption layers与适配器模式、事件驱动架构、Saga/Outbox、熔断器/舱壁等分布式模式恰好与 Step 2 要求的Facade/适配层识别以及后续 Phase 3 的基础设施建设形成能力闭环。Step 3业务影响与风险评估这一步切换为general-purpose子代理扮演技术转型与风险评估方向的业务分析师要求输出风险评估矩阵考量业务关键性收入影响、用户流量模式、数据敏感度、监管要求、回滚复杂度加权排序的组件优先级(业务价值 × 0.4) (技术风险 × 0.3) (速赢潜力 × 0.3)每个组件的回滚策略推荐的迁移顺序。产出保存为.legacy-modernize/03-business-impact.md。PHASE CHECKPOINT 1 — 用户审批闸门到达第一个检查点命令强制停止并展示 Phase 1 三份产物的摘要关键组件、风险等级、推荐迁移顺序询问用户三个选项Legacy assessment and risk analysis complete. Please review: - .legacy-modernize/01-legacy-assessment.md - .legacy-modernize/02-dependency-map.md - .legacy-modernize/03-business-impact.md 1. Approve — proceed to test coverage establishment 2. Request changes — tell me what to adjust 3. Pause — save progress and stop here只有选择选项 1 才能进入 Phase 2选 2 则修订后重新检查点选 3 则更新state.json状态并停止。这个人工审批闸门把高风险阶段转换控制在人手中是整条命令风险治理的核心设计。Phase 2测试覆盖建立步骤 4–6Step 4遗留代码测试覆盖分析以general-purpose子代理扮演遗留系统特征化测试方向的测试自动化工程师使用覆盖率工具识别未测试代码路径、缺失的集成测试与缺失的端到端场景对覆盖率 40% 的组件生成特征化测试characterization tests捕获当前行为但不修改功能为安全重构建立测试台架遵循项目现有测试模式与框架。产出保存为.legacy-modernize/04-test-coverage.md。这一步骤与framework-migration-legacy-modernizeragent 的先加测试再重构方法论Approach 第 2 条完全呼应——特征化测试是 Strangler Fig 迁移中确保行为不变的保险丝。Step 5契约测试实现以general-purpose子代理扮演契约测试与 API 验证方向的测试自动化工程师为 API、消息队列交互、数据库 schema 创建消费者驱动契约consumer-driven contracts在 CI/CD 管道中配置契约验证生成响应时间与吞吐量的性能基线用于验证现代化组件仍满足 SLA遵循项目现有测试模式与框架。产出保存为.legacy-modernize/05-contract-tests.md。Step 6测试数据管理策略以general-purpose子代理扮演测试数据管理与数据管道设计方向的数据工程师为边界场景创建数据生成脚本对敏感信息实现数据脱敏data masking建立测试数据库刷新流程在迁移期间建立遗留组件与现代化组件间的数据一致性监控。产出保存为.legacy-modernize/06-test-data.md。Step 6 的并行系统运行期数据一致性监控直接服务于 Step 7 即将搭建的双系统并行基础设施——迁移期间新旧两套系统同时服务流量数据一致性是最容易出问题的环节。PHASE CHECKPOINT 2 — 用户审批闸门展示 Phase 2 三份产物并询问同样三选项批准进入 Phase 3 / 请求修改 / 暂停存档未批准不得进入 Phase 3。Phase 3增量迁移实施步骤 7–9Step 7Strangler Fig 基础设施搭建以general-purpose子代理扮演分布式系统与迁移基础设施方向的资深后端架构师配置API 网关实现新旧组件间的流量路由用环境变量或特性管理服务搭建特性开关feature flags支持渐进灰度实现代理层基于 URL 模式、请求头或用户分群制定路由规则实现熔断器与降级机制保证韧性建立双系统监控的可观测性看板遵循项目现有基础设施模式。产出保存为.legacy-modernize/07-infrastructure.md。这正是 Strangler Fig 模式的落地骨架API 网关负责把流量绞杀式地从旧系统切向新系统特性开关让每次切换都可控、可逆。Step 8组件现代化——第一波命令要求先读取01-legacy-assessment.md、03-business-impact.md、04-test-coverage.md、07-infrastructure.md四份文件从遗留评估中探测目标语言/技术栈然后以general-purpose子代理扮演目标语言专家prompt 中的角色描述为You are an expert [DETECTED LANGUAGE] developer specializing in legacy code modernization随后对第一波组件评估中识别的速赢项执行从遗留代码中抽取业务逻辑用现代模式实现依赖注入、SOLID 原则通过适配器模式保证向后兼容用事件溯源event sourcing或双写dual writes维持数据一致性遵循 12-factor 应用原则运行特征化测试验证行为被保留。命令特别注明将[DETECTED LANGUAGE]替换为从遗留评估中实际检测到的语言如 Python、TypeScript、Go、Rust、Java若代码库是多语言polyglot则为每种语言并行启动 agent。产出保存为.legacy-modernize/08-first-wave.md。这一步是整条命令的重活所在其适配层保兼容 双写保数据一致 特征化测试验证行为三件套与 legacy-modernizer agent 的 Output 定义兼容层/适配层、行为保留测试、回滚流程一一对应。Step 9安全加固以general-purpose子代理扮演应用安全审计、OWASP 合规与安全编码方向的工程师对已现代化组件执行适用处实现 OAuth 2.0/JWT 认证增加基于角色的访问控制RBAC实现输入校验与清洗验证 SQL 注入防护与 XSS 防护配置密钥管理secrets management验证 OWASP Top 10 合规配置安全响应头并实现限流rate limiting。要求产出按严重级别Critical/High/Medium/Low分级的审计报告并列出全部加固改动写入.legacy-modernize/09-security.md。PHASE CHECKPOINT 3 — 用户审批闸门展示 Phase 3 三份产物并特别要求总结09-security.md中的 Critical/High/Medium 漏洞计数询问是否批准进入 Phase 4。Phase 4性能验证与发布步骤 10–11Step 10性能测试与优化以general-purpose子代理扮演负载测试、基准测试与应用性能优化方向的性能工程师对照新旧组件模拟生产流量模式运行负载测试测量响应时间、吞吐量与资源利用率识别性能回退并优化数据库查询加索引、缓存策略、连接池、异步处理对照 SLA 验证P95 延迟须在基线 110% 以内。要求提供带对比表格的性能测试结果与优化建议产出保存为.legacy-modernize/10-performance.md。这里引用的性能基线与 SLA 阈值来自 Step 5 的契约测试产物体现了步骤间的数据依赖链。Step 11渐进式发布计划以general-purpose子代理扮演渐进交付、特性开关管理与生产发布策略方向的部署工程师配置特性开关的流量切换阶梯5% → 25% → 50% → 100%定义自动回滚触发器错误率 1%、延迟超过基线 2 倍、或业务指标恶化每个阶段之间设置24 小时观察期编写完整的流量切换 runbook为每个阶段提供监控查询与看板。产出保存为.legacy-modernize/11-rollout.md。这与仓库中大量渐进交付实践一脉相承也与 deps-upgrade.md 中增量升级 回滚点的设计哲学一致任何变更都必须可灰度、可回滚。PHASE CHECKPOINT 4 — 用户审批闸门展示10-performance.md与11-rollout.md总结关键性能指标询问是否批准进入 Phase 5停用与文档。Phase 5迁移完成与文档步骤 12–13Step 12遗留组件安全停用重新调用subagent_typeframework-migration-legacy-modernizer规划已替换遗留组件的安全停用通过流量分析确认无剩余依赖最少 30 天 0% 流量观察期归档遗留代码并记录原始功能文档更新 CI/CD 管道移除遗留构建清理未使用的数据库表、下线废弃 API 端点对任何保留的遗留组件记录日落时间表sunset timeline。产出保存为.legacy-modernize/12-decommission.md。注意 30 天观察期与 Step 11 的 24 小时阶段观察期形成两层时间尺度前者用于证明旧系统确实没流量了后者用于灰度阶段的快速反馈。Step 13文档与知识移交读取此前所有.legacy-modernize/*.md文件以general-purpose子代理扮演系统迁移文档与开发者知识移交方向的文档工程师创建架构图迁移前/后编写带迁移指南的 API 文档编写双系统运行的 runbook编写常见问题排障指南产出经验教训报告lessons learned为现代化后的系统生成开发者上手指南记录迁移中的技术决策与权衡trade-offs。产出保存为.legacy-modernize/13-documentation.md。这份文档包既是知识资产也是项目收尾的正式交付物。完成收尾与成功标准最后一步更新state.jsonstatus置complete、刷新last_updated并向用户呈现完整的会话文件清单与成功标准Legacy modernization complete: $TARGET ## Session Files - .legacy-modernize/01-legacy-assessment.md — Legacy system analysis - .legacy-modernize/02-dependency-map.md — Dependency and integration mapping - .legacy-modernize/03-business-impact.md — Business impact and risk assessment - .legacy-modernize/04-test-coverage.md — Test coverage analysis - .legacy-modernize/05-contract-tests.md — Contract tests and baselines - .legacy-modernize/06-test-data.md — Test data management strategy - .legacy-modernize/07-infrastructure.md — Strangler fig infrastructure - .legacy-modernize/08-first-wave.md — First wave component modernization - .legacy-modernize/09-security.md — Security audit and hardening - .legacy-modernize/10-performance.md — Performance testing results - .legacy-modernize/11-rollout.md — Progressive rollout plan - .legacy-modernize/12-decommission.md — Decommissioning checklist - .legacy-modernize/13-documentation.md — Documentation package ## Success Criteria - All high-priority components modernized with 80% test coverage - Zero unplanned downtime during migration - Performance metrics maintained (P95 latency within 110% of baseline) - Security vulnerabilities reduced by 90% - Technical debt score improved by 60%随后列出四项下一步建议审查全部产出、执行11-rollout.md的渐进发布计划、按12-decommission.md进行 30 天迁移后监控、观察期结束后完成停用。设计要点总结这条命令为什么值得直接复用纵观整条命令可以从四个维度提炼其可复用价值状态机驱动 产物落盘13 个步骤对应 13 个.legacy-modernize/*.md产物state.json贯穿始终current_step、completed_steps、files_created、started_at、last_updated任何一步中断都能断点续跑产物链本身就是完整的迁移审计档案。人工审批闸门四个 Phase Checkpoint 把评估→测试→迁移→发布→停用五个阶段用强制人工批准隔开高危操作流量切换、停用前必然有人确认配合失败即停规则把失控风险压缩到最小。专家子代理分工专用 agentframework-migration-legacy-modernizer负责遗留分析与停用规划framework-migration-architect-review负责依赖图与集成点目录其余业务分析、测试、安全、性能、部署、文档任务交给general-purpose扮演对应专家角色多语言代码库还支持并行 agent。全部只依赖插件本地 agent符合仓库的插件自治与全局唯一命名规范见 authoring.md 与 check_agent_name_collisions.py。量化成功标准80% 测试覆盖、零计划外停机、P95 延迟 ≤ 基线 110%、安全漏洞减少 90%、技术债评分改善 60%——这些可度量指标让迁移完成不再是一句空话而是可以验收的合同条款。如果你正在面对一个老旧系统想避免大爆炸式重写的高风险这条命令提供的 5 阶段 13 步 4 检查点编排加上 code-migrate.md框架/语言/平台间迁移的代码级方案与 deps-upgrade.md依赖升级的安全路径构成了 framework-migration 插件从策略编排到代码执行再到依赖治理的完整工具链值得在真实迁移项目中直接套用或按此模式自定义。【免费下载链接】agentsMulti-harness agentic plugin marketplace for Claude Code, Codex, Cursor, OpenCode, GitHub Copilot, and Google Antigravity项目地址: https://gitcode.com/GitHub_Trending/agents24/agents创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED — 相关阅读

相关资讯

LATEST — 最新资讯

最新发布

TODAY — 本日精选

新闻

WEEKLY — 本周精选

新闻

MONTHLY — 本月精选

新闻