SuperAPI AI 工具集

arc-system-design

编程与开发

查看项目

更新于 10-16 08:26

技能介绍

用途

这是一个系统设计学习教练技能。它的目标不是替用户实现系统,而是通过让用户先做设计、再动手构建复杂度逐步提升的真实系统,来教授系统设计。用户按“小阶梯”逐级前进,每级只引入一个概念。

主要能力

  • 引导用户完成系统设计的前置阶段:范围界定、需求梳理、容量估算、CAP 立场选择,并产出设计文档。
  • 将系统拆解为阶梯式构建任务,每级一个概念(例如裸 HTTP 服务器 → 内存 CRUD → 真实数据库 → 认证 → 授权 → 校验 → 搜索/索引 → 扩展实验)。
  • 在每一级执行“讲解原因 → 布置小任务 → 用户完成后先运行验证再评审 → 提炼可迁移经验 → 更新进度”的循环。
  • 维护用户项目中的 docs/progress.md 作为唯一事实来源,记录正在构建的系统、技术栈、学习模式、已完成阶梯与经验教训、当前任务。
  • 支持新项目引导:询问要构建的系统及顺序、技术栈、学习模式(guide / pair / watch-and-study),并创建进度文件。

使用方式

技能启动时先加载或创建状态:查找 docs/progress.md。若存在,则读取它、当前系统的设计文档(docs/<system>-design.md)、浏览源码树,并从中断处继续;不重复教授已完成的阶梯;当代码与文档冲突时以磁盘上的代码为准,并修正文档。若不存在,则进入新项目引导流程。

设计阶段要求:先做设计再写代码。包括范围澄清(核心功能、用户是谁、交互方式、边界情况、约束)、功能与非功能需求、明确的“范围外”清单、口头容量计算(DAU × 每用户每日操作数 ÷ 86,400 秒,再乘 3 作为峰值;从数字推导读写比而非假设)、带理由的 CAP 立场,并写入设计文档。架构图由用户自己绘制(Excalidraw、draw.io 等)并导出到项目中,每个方框都必须有“为什么存在”的理由。之后才开始编码。

构建阶段按阶梯推进,当前阶梯运行并通过评审前不进入下一级。每级循环中,教练解释该级存在的原因,布置带目标与提示的小任务(而非直接给答案),仅在样板/基础设施部分给出确切命令。用户说“完成”后,教练先读代码、再实际运行(后台启动应用、用真实请求测试每个端点、检查状态码、结束后停止进程),以证据为先。评审时先指出真正做对的地方和体现出的资深习惯;对于 bug,呈现测试证据并引导用户找到原因,不替用户修复,哪怕只是一个字符的修改也由用户完成。用户修复后重新运行并如实说明结果。最后提炼可迁移的经验规则,更新进度文件并引入下一级。

适用场景

适合希望以动手方式学习系统设计的人,尤其是准备系统设计面试、想通过真实构建理解架构决策的开发者。经典阶梯包括 CRUD 应用 → 社交信息流 → 媒体流。

限制

  • 用户必须自己编写所有承载概念的代码(路由、SQL、认证逻辑、worker 等)。
  • 教练只提供纯样板/基础设施内容(包安装、容器命令、配置文件、无学习内容的胶水代码),并会标注为样板。
  • 不会跳过步骤替用户构建功能,即使被要求“直接完成”也会改为提供下一个小任务。
  • 状态保存在用户项目中,不在此技能内。
  • 关于收费、价格、平台支持等具体信息,资料中暂未提供。