| name | moe-design |
|---|---|
| description | 一个混合专家设计审查技能,在代码编写之前对架构提案和设计文档进行多维度专家级审查,与现有知识库交叉验证一致性。 |
将审查左移 (Shift-Left) 到设计阶段。在一行代码都没有写之前,通过多维度专家审查架构提案、RFC 或设计文档,尽早发现潜在的架构风险、可行性问题和与现有系统的冲突。
- 收集设计文档:获取用户提供的设计提案(RFC 文档、架构文档、口头描述、聊天内容均可)。
- 检测项目范式:检查项目的清单文件和目录结构,确定项目类型(REST API、CLI 工具、编译器、数据管道等)。
- 检查 KB 存在性:确定是否存在由
kb-build构建的知识库。 - 激活专家:
- 始终执行:第 1 层(5 个设计审查专家)。
- 始终执行:第 2 层(1 个领域专家,动态生成)。
- 有条件执行:第 3 层(KB 一致性专家)— 仅当 KB 存在时。
并行执行所有 5 个专家。每个专家接收相同的设计提案,但被约束为只从其指定维度审查。如果没有发现问题,则返回空。
- 关注点:技术选型是否成熟可靠、团队能力是否匹配、依赖项是否存在风险、时间估算是否合理。
- 约束:不要评论性能或安全性。仅判断"这个方案能不能落地"。
- 关注点:当负载增长 10x 时方案是否仍然成立、是否存在单点瓶颈、水平扩展路径是否清晰、数据模型是否支持未来演进。
- 约束:不要评论实现细节。仅关注架构的弹性天花板。
- 关注点:方案是否引入了不必要的抽象层、是否存在过度工程 (over-engineering)、新增概念数/交互路径数是否可控、对新人的认知负荷。
- 约束:不要评论可行性或安全性。仅关注"这个方案是不是把简单的事情搞复杂了"。
- 关注点:数据流中的敏感信息暴露风险、认证/授权设计是否完整、是否符合相关合规要求(如 GDPR、SOC2)、第三方服务的信任边界。
- 约束:不要评论性能或可扩展性。仅关注攻击面和合规风险。
- 关注点:部署复杂度、监控和告警的可观测性设计、故障恢复路径(RTO/RPO)、是否需要新的基础设施或运维技能。
- 约束:不要评论代码实现。仅关注"这个方案上线后好不好养活"。
[Risk/风险: Critical|High|Medium|Low] [Dimension/维度: <专家名称>]
Finding/发现: <简明描述>
Recommendation/建议: <可执行的改进建议或替代方案>
- 基于检测到的项目范式,路由器动态生成一个聚焦的审查提示词。
- 各范式的提示词示例:
- REST API:"作为 API 设计专家,请审查资源建模合理性、API 版本控制策略、幂等性保证和速率限制方案。"
- 编译器/解释器:"作为语言实现专家,请审查语法设计的可解析性、类型系统的健壮性和向后兼容策略。"
- 数据管道:"作为数据架构专家,请审查 Schema 演进策略、数据一致性保证和失败重试/死信队列机制的设计。"
- 微服务系统:"作为分布式系统专家,请审查服务拆分粒度、跨服务事务一致性方案和服务发现/熔断机制。"
- 领域专家使用与第 1 层相同的统一输出格式。
如果项目不存在 KB,请完全跳过此步骤。
在执行一致性审查之前,先验证 KB 的新鲜度:
- 读取与设计提案相关的 KB 文件的
fingerprintCommit ID,与当前 Git 记录对比。 - 如果存在过期 (Stale) 的 KB 文件:直接跳过 Layer 3。在最终报告中输出警告:
⚠️ KB 一致性专家已跳过:相关知识库文档的源码指纹已过期,一致性审查结果不可信。 建议先运行 kb-update 刷新知识库后再重新审查。
(仅在通过新鲜度门控后执行)
- 现有架构提取:从 KB 中读取与设计提案相关的模块文档,理解现有系统的架构模式和设计约定。
- 一致性审查:
- 新设计的接口风格是否与现有模块一致(如命名规范、参数传递模式、错误处理风格)?
- 新设计是否与 KB 中记录的已有设计决策产生冲突(如之前选择同步处理已有明确的 Why 文档,而新提案要引入异步)?
- 新设计是否会破坏 KB 中记录的现有模块间的交互契约?
- 输出格式:
[Risk: Medium] [Dimension: KB 一致性] Finding: 新提案中的异步事件模型与 KB 记录的同步请求链路设计冲突。 KB Reference: .agent/kb/core/request-pipeline.md Recommendation: 评估是否要重构现有管道或在新模块中提供同步适配器。
-
收集所有专家的输出。
-
去重:如果多个专家发现了同一个根因问题,合并为一个 finding。
-
冲突解决:优先级排序:
安全与合规 > 可行性 > 复杂度风险 > 可扩展性 > 运维成本 -
设计就绪评级 (Design Readiness Rating):
最高级发现 评级 建议 Critical / 致命 🔴 Blocked 方案存在根本性缺陷,需要返工重新设计 High / 高风险 🟠 Major Revisions 需要在动工前解决关键问题 Medium / 中风险 🟡 Minor Revisions 可以开始开发,但需要补充设计细节 Low / 低风险 🟢 Ready 方案成熟,可以进入实施阶段 None / 无发现 ✅ Excellent 方案完善,建议立刻开工 -
最终报告结构:
# 设计审查报告 (Design Review Report) ## 设计就绪度 (Readiness): [🔴|🟠|🟡|🟢|✅] [级别] ## 概要 (Summary) <1-2 句对设计方案的总体评价> ## 致命与高风险发现 (Critical & High Risk) <分组列出发现> ## 中风险与低风险发现 (Medium & Low Risk) <分组列出发现> ## KB 一致性分析 (KB Consistency) (如果适用) <与现有架构的冲突或一致性确认> ## 已解决冲突 (Conflicts Resolved) <专家分歧及解决方案>
- 路由器 (Router):检测到 Node.js 微服务项目,确认存在 KB。
- 第 1 层 (Layer 1) (并行执行):
- Feasibility (可行性):"团队目前没有消息队列运维经验,引入 Kafka 的学习曲线可能导致延期。"
[High] - Scalability (可扩展性):没有发现(事件驱动本身对扩展性有利)。
- Complexity Risk (复杂度):"引入了 Event Store、Saga 协调器、死信队列三个新概念,认知负荷较高。"
[Medium] - Security (安全):"事件负载 (payload) 中可能携带 PII 数据,需要加密或脱敏策略。"
[Medium] - Operational Cost (运维):"需要新增 Kafka 集群的监控、日志清理和分区管理。"
[Medium]
- Feasibility (可行性):"团队目前没有消息队列运维经验,引入 Kafka 的学习曲线可能导致延期。"
- 第 2 层 (Layer 2) (领域专家 — 微服务):"未说明跨服务事件的幂等性保证和消费者 offset 管理策略。"
[High] - 第 3 层 (Layer 3) (KB 一致性):KB 记录了现有的订单流程是
API → OrderService → DB的同步调用链。新的事件驱动异步模型需要保证与现有同步的退款接口兼容。[Medium] - 聚合器 (Aggregator):设计就绪度 = 🟠 Major Revisions。2 个高风险发现(团队经验 + 幂等性缺失),3 个中风险发现。建议在开发前先做 Kafka PoC 和团队培训。
以下建议在对应技能已安装时可选触发。调用时使用技能名称,Agent 会自动查找对应的 SKILL.md。如果技能未安装,在结果中告知用户并建议手动执行对应操作。
| 触发条件 | 建议调用技能 | 目的 |
|---|---|---|
| 设计就绪度为 🟢 Ready 或 ✅ Excellent,且后续代码已提交 | moe-cr |
验证实现是否忠实于审查通过的设计方案 |