SuperAPI AI 工具集

system-design

编程与开发

查看项目

更新于 10-15 10:32

技能介绍

System Design 是一个交互式系统设计技能,目标是从问题框定出发,最终形成架构蓝图。它的核心理念是:从问题开始,需求、权衡和组件随之而来,而不是先写文档。

用途 该技能用于引导用户完成系统设计的全过程,从理解问题、明确需求,到比较技术方案、绘制架构,最后产出设计简报。它适合需要系统化思考架构设计的场景,例如设计一个新系统、规划现有系统的结构、评估技术选型等。

主要能力 技能包含五个阶段:发现(discovery)、需求(requirements)、权衡(trade-offs)、架构(architecture)和输出(output)。发现与需求阶段会循环迭代,通过提问、深入、确认来澄清需求;一旦需求稳定,权衡与架构阶段按顺序进行。技能会根据用户输入触发相应阶段,例如提到“设计一个系统”会进入发现阶段,提到“约束”“规模”“SLA”会进入需求阶段,提到“比较选项”“SQL vs NoSQL”会进入权衡阶段,提到“组件”“数据流”“图表”会进入架构阶段,提到“输出”“保存简报”会进入输出阶段。

使用方式 每次会话都从发现阶段开始,即使用户已经提供了需求。在发现和需求阶段,一次只问一个问题。权衡阶段以表格形式呈现,并给出明确的推荐。每个架构建议都要说明理由。未知信息标记为开放问题,而不是用假设填补。技能会识别用户经验水平并调整用词。

适用场景 适用于需要系统设计引导的各类场景,包括新系统设计、架构评审、技术选型讨论、需求澄清等。特别适合希望避免过早进入架构细节、强调决策依据的团队或个人。

限制与注意事项 技能明确反对三种反模式:过早架构(在关键决策未解决前就画组件图)、将偏好当作约束(用户说“我们用 Postgres”只是偏好,仍需进行比较)、仅用文字描述决策(每个重要架构决策都应产出比较表格和推荐行,除非是硬约束下的单一选项决策,可仅用一行说明)。技能不提供具体的技术实现细节,也不替代实际编码或部署工作。