بنقرة واحدة
bp-architecture-design
提供架构设计原则,包括模块划分、依赖管理、数据架构、接口设计。在系统设计阶段讨论方案概览时使用,或在 code review 中评估架构合理性时使用。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
提供架构设计原则,包括模块划分、依赖管理、数据架构、接口设计。在系统设计阶段讨论方案概览时使用,或在 code review 中评估架构合理性时使用。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
代码文件修改的统一入口。当用户请求任何代码变更(新功能、优化、Bug 修复、重构)时必须首先调用此 skill。仅适用于代码文件(如 .cc/.cpp/.h/.go/.py 等),修改 .md 等非代码文件时不需要调用。它会评估复杂度、检查 spec.md、生成 tasks.md、并逐个任务执行。
测试生成。基于 spec.md 或被测代码,生成单元测试、集成测试、性能测试。当用户请求生成测试、TDD 模式、或 workflow-code-generation 完成后触发。
将纠错经验沉淀为持久化的 Rules/Skills 更新,构建反馈闭环。当被用户纠正且错误具有模式性时自动触发,或通过 /reflect 命令手动触发回顾。
问题排查。当用户遇到编译错误、运行时异常、单测失败、流水线报错、现网告警等需要定位问题时触发。
代码评审。协调 5 个专项 reviewer subagent 对代码进行并行多维度审查。可由用户直接触发,也可由主 agent 加载后作为 Judge 执行。
需求澄清。只负责明确"要解决什么问题",生成 spec.md 的前三章节(背景、目标、需求)。禁止在本阶段讨论设计方案——设计是 workflow-system-design skill 的职责。
استنادا إلى تصنيف SOC المهني
| name | bp-architecture-design |
| description | 提供架构设计原则,包括模块划分、依赖管理、数据架构、接口设计。在系统设计阶段讨论方案概览时使用,或在 code review 中评估架构合理性时使用。 |
使用场景:
workflow-system-designskill 在讨论 spec.md 4.1 方案概览 时加载本 skill。
架构设计的本质:在约束条件下,选择最优的 trade-off 来满足业务目标。
在提出架构方案前,确保已理解:
| spec.md 章节 | 要回答的问题 |
|---|---|
| 1. 背景 | 要解决什么问题?现状是怎样的? |
| 2. 目标 & 非目标 | 成功的标准是什么?什么不做? |
| 3.1 功能性需求 | 系统需要具备哪些能力? |
| 3.2 非功能性需求 | 性能、兼容性、可维护性约束? |
如果非功能性需求可以量化,尽量量化(如 p99 延迟 < 100ms),但不强制要求所有场景都能量化。
好的划分 = 减少协调成本 + 包含变化。
| 原则 | 说明 | 检查点 |
|---|---|---|
| 按功能域划分 | 围绕业务能力而非技术层 | 相关的代码是否在一起? |
| 高内聚 | 一起变化的代码放一起 | 修改一个功能要改几个模块? |
| 低耦合 | 模块间依赖最小化 | 模块能否独立理解和测试? |
| 明确所有权 | 每个模块有明确的数据和不变量 | 谁负责维护这块数据的一致性? |
// ✅ 明确的模块边界
namespace compaction {
// 公开接口
class CompactionScheduler { ... };
// 内部实现(不暴露)
namespace internal {
class CompactionTask { ... };
}
}
层次结构(从高到低):
依赖原则:高层依赖低层,依赖抽象接口而非具体实现
| 规则 | 说明 |
|---|---|
| 单向依赖 | 只能向下依赖,禁止向上依赖 |
| 禁止循环 | A→B→C→A 必须打破 |
| 依赖抽象 | 依赖接口而非具体实现 |
数据决策决定正确性和运维复杂度。
| 决策点 | 需要明确 |
|---|---|
| 数据所有权 | 哪个模块是这份数据的 source of truth? |
| 一致性模型 | 强一致 vs 最终一致? |
| Schema 演进 | 向前/向后兼容?回滚方案? |
架构层关注接口原则,详细设计参见
bp-component-design的 4.2.2 节。
| 原则 | 说明 |
|---|---|
| 最小化 | 只暴露必要的接口 |
| 不泄露内部 | 使用专用 DTO |
| 版本兼容 | 接口变更需考虑向后兼容 |
| 场景 | 加载 Skill |
|---|---|
| 涉及网络通信、多节点、一致性、故障恢复 | bp-distributed-systems |
| 涉及类/接口详细设计 | bp-component-design(4.2 节使用) |
在 spec.md 4.1 节,确认以下内容已讨论:
| 反模式 | 改进 |
|---|---|
| 循环依赖 (A→B→C→A) | 引入接口打破循环 |
| 边界模糊(多模块修改同一份数据) | 明确数据所有权 |
| 过度抽象 | 简单优先,按需抽象 |
| Big Ball of Mud | 逐步引入边界 |