技术实践

阿里用双层Spec框架完成跨模块逻辑迁移

应用与实践上下文与知识智能体系统上下文工程知识库Agent 协作编程

概述

阿里团队在调研多个主流实现后自建 code_copilot 框架,核心设计是渐进式复杂度:Rules 始终生效而 Spec 按复杂度加载(因 70% 需求是 ≤5 人日的小需求,改字段、修 bug 不强制走完整 spec→tasks 流程),以此压缩偶然复杂度。目录为 rules/(project-context、coding-style、security、domain-rules)、knowledge/(索引式领域知识,触发关键词 + 一句话逻辑)、agents/(copilot-prompt、spec-reviewer、code-quality-reviewer)、changes/(spec/tasks/log/test-spec 模板,每需求一目录)、archives/。 命令式路由 7 个命令(/init /propose /apply /fix /review /archive /knowledge),/propose 要求 Research 结论带文件路径与类名方法名、一次只问一个问题并给选项与推荐、YAGNI 裁剪、分三段生成 spec 逐段确认、HARD-GATE 确认前禁止编码。 /apply 逐 task 执行、每步展示编译/测试等可验证证据、零偏差原则、一个 task 一个 commit、禁止 master 变更与自动 push。/review 由 spec-reviewer(不信报告只信代码,查缺失/多余/理解偏差/业务规则/数据变更)与 code-quality-reviewer(Critical/Important/Minor 分级)两个 Sub Agent 分两阶段审查,阶段一 PASS 才启动阶段二。 偏差走 /fix 并按 Reverse Sync 先修 spec 再修代码,/archive 把踩坑与知识发现沉淀到 knowledge/。工具侧采用编排层(Claude Opus 等强模型做需求理解、生成 Spec 与审查)+ 执行层(Claude Code、opencode 做读写与命令执行)两层架构,并按任务性质给子代理配不同模型(简单改名用轻量模型、复杂重构用 Opus/Codex 并在 Git Worktree 隔离、代码检索用 Flash),称总成本可降低 60-70%。 实战案例为系统 A 过滤处理逻辑平行迁移到系统 B:AI 先 Research 提出待澄清项(三个处理器类名、幂等键、退款消息表示方式)并给出设计决策建议,确认后拆成 7 个 task(灰度配置→bizProcess 分发主干→三个处理器并行→压测 mock→框架扩展点补全),已产出 FilterGrayConfig.java、FilterModule.java、LimitFilterService.java、ShopFrozenFilterService.java、RefundFilterService.java,并按 ENABLE_DONE/PAID_DONE/CLOSE 三类分支实现限购写入、冻结店铺过滤、退款删除与关单回滚,执行中根据用户纠正做 Reverse Sync 回写 spec。