Communitygithub.com

架构选择与适应性检查

根据可度量的质量需求选择架构风格。适用于比较模块化单体、服务化设计、微内核、事件驱动架构或微服务,并将决策转化为适应性检查。

架构选择与适应性检查 是什么?

该技能帮助开发者从可度量的质量需求出发,系统地选择软件架构风格。它通过将抽象的质量属性(如可扩展性、安全性、可维护性)转化为具体的场景(刺激→环境→响应→度量),明确关键角色、工作流、数据所有权和约束条件。技能支持模块化单体、服务化设计、微内核、事件驱动架构和微服务等常见风格的对比,提供简洁的结构化流程(共7步),包括定义质量场景、识别作用范围、评估耦合方式、记录架构决策记录(ADR)、以及将关键决策转化为适应性检查(如禁止依赖、延迟预算等)。适用于所有主流AI Agent平台(如Claude Code、Cursor、Codex),输出包括质量场景、候选机制的权衡、所选结构、所有权/依赖映射、ADR、适应性检查和未解决的假设。技能基于《软件架构基础》第二版(Richards和Ford)的内容,附有参考文献和公共访谈材料。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/karlem/skills/tree/HEAD/architecture/architecture-patterns

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

架构选择与适应性检查 是做什么的?

将目标转化为可观察的行为

识别参与者、关键工作流、数据所有权和约束条件。将“可扩展”、“安全”和“可维护”转换为具体场景:刺激→环境→响应→度量。对实质上决定设计的少数特性进行排序。区分强制性约束与偏好。

流程

  1. 与利益相关方共同定义质量场景和验收阈值。说明工作负载、故障和团队假设。参考选择指南。
  2. 确定每个属性必须成立的范围:组件、部署、工作流或整个系统。不同部分可能适合不同的风格。
  3. 将一小部分可行的风格(包括模块化单次部署)与这些场景进行比较。解释支持每个声称的收益的机制。
  4. 检查耦合度:源码依赖、运行时调用、共享数据和协调变更。静态的模块独立性并不能证明运行时的故障隔离。
  5. 选择最简单的可行风格,并记录ADR、后果以及重新考虑的触发条件。将可逆的实现细节与代价高昂的结构性承诺分开。
  6. 将关键决策转化为适应性检查:禁止的依赖关系、契约兼容性、延迟预算、恢复时间和租户隔离。参考适应性检查。
  7. 在观察到的负载和变更模式下重新评估。通过一项依赖规则只是某个属性的证据,并不代表整体架构质量。

评审问题

  • 插件边界是否解决了实际的可扩展性需求,同时没有让每个插件无限制地访问核心?
  • 事件是否需要持久化发布、模式兼容性、去重和延迟监控?这些成本是否已包含在事件驱动提案中?
  • 独立部署是否改善了某个度量的瓶颈或释放了约束?
  • 提议的团队能否处理由此产生的部署和故障复杂性?
  • 当数据所有权分离时,哪个不变量变得更难保持?

输出

返回质量场景、候选机制/权衡、所选结构、所有权/依赖映射、ADR、适应性检查和未解决的假设。

范围与参考文献

部分覆盖了《软件架构基础》第二版(Richards和Ford)的内容。本原始指南基于作者资料、公开的作者访谈记录、出版商内容和架构测试文档。参见来源。没有一种风格是通用的成熟阶段。

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

相关技能