SuperAPI AI 工具集

system-design-interrogation

编程与开发

查看项目

更新于 10-16 04:26

技能介绍

用途

System Design Interrogation 用于在规划系统架构时确保不遗漏关键问题。它要求在编写任何代码之前,先通过结构化提问对功能进行系统性审视,避免因匆忙进入实现而导致的问题,例如:可扩展性问题发现过晚、因缺少租户隔离而产生的安全漏洞、数据模型不匹配、前后端契约冲突以及较差的用户体验。

主要能力:五个维度

该技能围绕五个维度组织提问:

  1. 可扩展性(Scale)

    • 多少用户/租户会使用此功能?
    • 预期数据量是多少(现在及一年后)?
    • 请求速率如何?是读密集还是写密集?
    • 复杂度随数据是线性增长还是指数增长?
    • 在当前负载的 10 倍、100 倍下会发生什么?
  2. 数据(Data)

    • 数据自然应归属于何处?
    • 主要访问模式是什么?
    • 是主数据还是事务性数据?
    • 保留策略是什么?
    • 是否需要可搜索?如何搜索?
  3. 安全(Security)

    • 谁可以访问此数据/功能?
    • 如何实施租户隔离?
    • 授权失败时会发生什么?
    • 引入了哪些攻击向量?
    • 是否涉及 PII?
  4. 用户体验影响(UX Impact)

    • 此操作的预期延迟是多少?
    • 操作期间用户获得什么反馈?
    • 失败时会发生什么?可以重试吗?
    • 是否可能实现乐观 UI?
    • 这如何影响整体工作流?
  5. 一致性(Coherence)

    • 涉及哪些层级?
    • 哪些契约/接口会发生变化?
    • 前后端类型是否一致?
    • 是否会破坏现有客户端?
    • 这如何影响 API?

使用方式

在编写任何代码之前,按以下流程执行:

  1. 陈述功能 —— 用一句话描述。
  2. 运行五个维度 —— 为每个维度回答关键问题。
  3. 识别权衡 —— 速度与质量、复杂度与灵活性。
  4. 记录决策 —— 将答案记录在设计文档或 issue 中。
  5. 与团队评审 —— 在实施前达成一致。

技能提供“快速评估模板”,格式为 Markdown,包含 Scale、Data、Security、UX、Coherence 各部分的填写项,以及最终决策(Decision)与理由。

集成方式

  • 在头脑风暴阶段:在实施前运行系统设计审问,流程为 /brainstorm → System Design Questions → Implementation Plan。
  • 在代码审查中:审查者应验证可扩展性考虑已记录、安全层已覆盖、类型跨栈一致、UX 状态已处理。
  • 在测试中:测试应覆盖可扩展性(按预期数据量的负载测试)、安全(租户隔离测试)、一致性(跨层集成测试)、UX(错误状态测试)。

适用场景与反模式

该技能适用于功能规划、架构设计评审和代码审查前的设计验证。文档列出常见反模式,例如“如果慢了以后再添加索引”“我们可以在未来的 PR 中添加租户过滤”“前端可以处理任何响应形状”“用户不会那样做”“这只是个小功能”,并针对每条给出应追问的问题。

限制

资料未提供该技能的定价、收费、平台支持范围或具体安装命令。相关限制与可用性信息暂未提供。