【system-architect】:一个让 AI 做架构建议时“说得清依据“的 Skill

发布时间:2026/6/30 5:21:48
【system-architect】:一个让 AI 做架构建议时“说得清依据“的 Skill 开源地址github.com/cptzzt/system-architect这个 Skill 解决什么问题用通用 AIChatGPT、Copilot 等问架构问题有三个具体的问题建议没有依据。AI 给出方案后无法说明这个方案来自教材、来自工程实践、还是来自它自己的推断。用户无法判断可信度。只讲收益不讲代价。架构设计本质是权衡但 AI 倾向给出看起来正确的单一答案回避代价分析。备考与实战需求冲突。备考「系统架构设计师」需要按教材原文判卷、做考点对齐真实项目需要工程经验和团队上下文。同一套行为无法同时满足。system-architect 针对这三点设计了一套约束机制强制溯源、强制权衡、按场景区分行为。本质上是一个 Claude Code skill但知识层core/knowledge/是纯 Markdown可以迁移到 Cursor / Windsurf / Cline / Copilot 等任意工具。核心机制1. 强制溯源——每条建议必须标注来源AI 给建议时按来源分类标注来源类型标注方式内置知识层“按知识体系应…”教材接入教材时“教材第 X 章 / 第 N 页指出…”工程经验“⚠️ 工程经验非权威依据需结合项目判断”不确定直接说不确定这条规则把AI 编一个听起来对的答案这条路堵死了。架构领域 AI 自身的知识可能过时或不准强制标注来源等于把判断权交还给用户。2. 内置知识层——10 章 35 个知识文件core/knowledge/下覆盖系统架构设计师考试综合知识章内容状态02计算机系统硬件/OS/网络/嵌入式/UML已校验03信息系统TPS/MIS/DSS/ERP/电子政务已校验04信息安全加密/签名/访问控制/抗攻击已校验05软件工程过程模型/需求/测试/CBSE已校验06数据库三级模式/范式/E-R/设计流程已校验07架构设计架构风格/ABSD/DSSA未校验08质量评估质量属性/ATAM/SAAM/CBAM未校验09软件可靠性MTTF/MTBF/容错未校验10架构演化维护未校验11未来信息CPS/边缘计算/AI/数字孪生未校验重要知识层不含教材原文版权属于出版社。它是读完权威教材后用自己的话重组的知识体系类似读完书写博客可以独立工作。每个知识文件是四层结构1. 核心知识体系 ← 知识本身 2. 顾问指引 ← 这块知识在真实项目里怎么用 3. 常见误区 ← AI 自检红线防典型错误 4. 自检清单 ← 给建议前过一遍第三层误区红线是关键。光告诉 AI 正确答案不够还要告诉它最容易在哪犯错。举一个真实的例子数据库章节里写的❌ 两级映象方向搞反外/概映象 逻辑独立性概/内映象 物理独立性不是反过来❌ 以为 SQL 操作内模式应用操作的是外模式❌ 故障恢复原理说成备份教材原意是建立冗余数据这三条是 AI 和初学者都容易踩的坑。在知识文件里固化成红线后AI 给建议前会先自检避开了这些典型错误。3. 教材边界——有教材更强无教材也能用教材有版权不能塞进开源项目。这个 skill 的处理方式默认无教材靠知识层 工程经验工作。涉及工程经验会显式标注非权威依据。接入教材可选把教材电子版推荐 MarkdownPDF 可用 MinerU 转成带页码的 md放进textbook/目录或改配置里的路径。这时 AI 能引用教材出处标文件名 章节/页码判卷以教材原文为唯一标准做考点对齐。降级机制教材路径失效时自动降级到无教材状态并告知用户。不会假装有教材、不会编页码。这套设计不绑死使用方式——纯白嫖知识层的、接教材做强溯源的都能用。4. 用户上下文——改几行配置AI 适配个人SKILL.md顶部有一段可编辑的用户上下文技术栈[如 Java/Spring Boot, MySQL/MariaDB, Docker, React] 项目方向[如 Web 后端 / 数据平台 / 移动端] 关注的质量属性[如 性能 / 可用性 / 成本] 是否备考系统架构设计师[是/否] 教材路径[无 / textbook/ / 自定义路径]AI 每次会话读这段配置来适配用户。备考用户和实战用户、不同技术栈、不同关注的质量属性——给的建议会不一样。这影响的是举例方式和行为路由按是否备考判断主场景。三种模式无需手动切换模式不是状态机是 AI 根据问题自然匹配的行为指引。架构顾问模式默认触发真实项目问题“我的项目表怎么设计”。流程澄清场景规模/约束/技术栈/质量目标→ 关联知识层 → 给建议带依据 → 讲权衡 → 暴露不确定性。自检红线防典型错误不凭自身知识编造、不混淆表结构设计逻辑层“和建库运行实施层”、不把单表内传递依赖和跨表外键搞混。学习导师模式备考用户触发用户上下文备考是或问考试/真题/论文。学习流程提取目录 → 出学前引导题 → 讲解原理 类比 考点 挂钩用户技术栈→ 用户提问 → 出学后验证题 → 收尾一页纸总结 进度更新。判卷红线判卷前必须回教材核实不拿 AI 领域知识纠正教材已有的正确说法记录用户原话不编造用户回答。配套复习体系学习后建复习看板追踪每章的重要度、学完日期、掌握度、薄弱点。明确掌握度颜色是自测结果不是学完自动变绿。技术选型模式触发“A vs B 怎么选”、“评审这个方案”。产出结构化对比表候选方案 × 决策维度结合用户上下文给倾向但说清什么情况下推荐失效。架构评审 checklist 覆盖质量属性需求是否明确、架构风格是否匹配场景、关键权衡是否识别CAP、一致性 vs 可用性、是否有单点故障、是否过度设计YAGNI。目录结构system-architect/ ├── SKILL.md ← 主体架构师内核 用户上下文 教材边界 行为路由 ├── README.md ├── LICENSE ← MIT ├── core/ │ ├── 教材边界.md ← 有/无教材各能做什么AI 必读 │ └── knowledge/ ← 内置知识层10 章按需加载 │ ├── README.md ← 三层索引 主题导航 │ ├── 02-计算机系统/ … 06-数据库/ 已校验 │ └── 07-架构设计/ … 11-未来信息/ 未校验 ├── modes/ ← 可选模式架构顾问/学习导师/技术选型 └── textbook/ ← 用户教材自备.gitignore不入库SKILL.md只做精简路由不超过 500 行知识按主题按需加载progressive disclosure。AI 根据问题两次跳转定位相关知识不全量读 35 个文件。与现有方案的差异方案局限软考 GitHub 题库项目静态资料库无 AI 互动、无溯源Copilot / ChatGPT 通用 AI基于自身知识无 grounding、无溯源、可能过时英文架构 SkillClean/DDD 类英文体系非中文软考知识体系system-architect权威知识 grounding 可溯源 AI 互动 学习→顾问延续 无教材也能用学习→顾问延续指备考用户学完教材后AI 自然从导师过渡到顾问——学到的架构知识正是 AI 给实战建议时的知识层学和用是同一套体系。使用方式Claude Code克隆仓库到 Claude Code 的 skills 目录可选教材放textbook/目录编辑SKILL.md顶部用户上下文直接问架构问题自动套架构顾问模式或说我要备考套学习导师模式其他工具知识层core/knowledge/工具无关。把SKILL.md指令复制到对应工具的规则文件调整子文件引用语法即可工具规则文件Cursor.cursorrules/.mdcWindsurf.windsurfrulesCline.clinerulesGitHub Copilot.github/copilot-instructions.md通用AGENTS.md设计取舍为什么可溯源比答案正确更重要。AI 不可能 100% 正确这是前提。强制它标注来源用户就能自己判断可信度。把判断权交还用户比让 AI 包装成权威更有价值。为什么用误区红线而非只讲正确答案。光告诉 AI “正确是什么不够还要告诉它最容易在哪犯错”。预防错误比灌输正确更有效。为什么诚实声明能力边界。有教材和没教材是两种能力skill 明确声明各自边界并提供降级机制。宁可 AI 说这条不确定也不要它编一个看起来对的答案。为什么不全量加载知识。progressive disclosure——用到什么读什么。既省 context又精准。状态与协议协议MIT 开源状态持续迭代中已覆盖综合知识 2-11 章其中 2-6 章经学习纠错校验7-11 章标注未校验待学到对应章节时核实待补案例 12-19 章、论文 20 章版权skill 绝不含教材原文用户教材需自备项目地址github.com/cptzzt/system-architect问题、建议、知识层校验贡献都欢迎提 issue 或 PR。