当用户需要在 API、数据库 schema、软件架构中设计可长期演化的抽象边界时激活。 典型场景:接口与实现耦合导致重构困难、schema 变更引发下游崩溃、需要评估版本化策略、设计 DSL 或分层架构时。 不适用于:纯语法问题、一次性脚本、已完全封闭的第三方系统黑盒调用。
当用户设计文件系统、数据库存储引擎、分布式存储或 RAID 阵列时,需要在崩溃恢复与持久化策略之间做量化权衡。触发信号包括:WAL/journaling 模式选择、ARIES Redo/Undo、LFS 与 COW 对比、fsync 顺序、metadata journaling、断电一致性、small-write penalty 等。 不适用于:纯查询优化(加索引/改写 SQL)、无持久化层的纯网络架构、日常应用层缓存选型。
当用户讨论任何与计算机科学核心思维相关的系统设计、性能优化、并发控制、网络协议、数据存储、持久化、形式化验证、抽象设计、调度策略、查询优化或数据结构选型时,**必须立即调用本 skill**,不要试图直接跳到底层 skills。 本 skill 是 18 个 CS core thinking skills 的唯一入口,负责在用户意图与具体技能链之间做路由,防止遗漏前置分析(如跳过 quantitative-performance-analysis)或错误匹配领域。 典型触发场景(包括但不限于):系统架构设计评审、性能瓶颈根因分析、缓存/存储策略选型、数据库事务隔离级别选择、分布式锁与共识协议设计、TCP/丢包/拥塞/滑动窗口问题、概率数据结构(Bloom filter/Treap)选型、算法正确性证明与不变量推导、操作系统虚拟化与 CPU/内存调度、抽象边界与接口演化、DSL/解释器设计。 边界模糊场景也必须触发:如"分布式数据库查询慢"可能同时涉及查询优化和网络分区,此时 router 会判断主诉并给出调用链;"Redis 缓存穿透"可能涉及概率数据结构或可靠性评估,同样先走 router。 不适用于:纯前端 UI 设计、日常运维操作(如重启服务/查日志)、无上下文的单一算法题求解。
当用户面临数据库/存储选型、schema 设计、查询语言选择或多模型共存架构决策时激活。 典型信号:讨论关系型 vs 文档型 vs 图数据库选型;提到 " impedance mismatch "、"schema 灵活"、"多对多关系"、"图遍历"、"Cypher/SPARQL";需要为不同查询模式选择存储引擎或列存方案。 不适用于:纯 SQL 语法调试、单一数据库的运维问题、与数据模型无关的分布式一致性讨论。
用于后端/数据系统架构评审时,对可靠性、可扩展性、可维护性(RSM)进行系统化风险评估与改进建议。 当用户讨论系统架构设计、容量规划、SLA/SLO 制定、故障场景分析、容灾策略、性能优化或技术选型时激活。 不适用于:纯代码实现细节、前端 UI 设计、单一算法题求解、日常运维操作(如重启服务、查日志)。
当用户需要设计或分析领域专用语言(DSL)、构建解释器/编译器、利用高阶过程消除重复模式、或理解"程序即数据"的元语言抽象时激活。 典型信号:讨论 eval/apply 循环、环境模型、惰性求值、闭包性质、宏系统、语法树变换、寄存器机器模型、SICP 第4章相关内容。 不适用于:纯语言语法学习、框架 API 调用、不涉及抽象控制的日常编码问题。
当用户讨论数据库查询性能调优、执行计划选择、连接顺序优化、基数估计偏差、统计信息更新、CBO/ RBO 选型、SQL 引擎架构设计,或出现"EXPLAIN 计划不对""ANALYZE 后变快""优化器选了嵌套循环""连接顺序导致查询爆炸"等信号时调用。 不适用于:纯 SQL 语法问题、ORM 使用教程、特定数据库的安装配置、无执行计划信息的泛泛性能抱怨。
当用户需要分析分布式系统、并发协议或容错算法的正确性属性,并在安全属性(Safety)与活性属性(Liveness)之间进行分类、验证方法选择和设计权衡时激活。 典型信号:讨论"系统会不会丢数据/脑裂/双花"、"服务最终能否恢复/达成共识/返回结果"、"该选强一致性还是最终一致性"、"超时与重试机制如何设计"。 不适用于:纯编程语法问题、单一节点的本地算法优化、不涉及正确性分类的通用性能调优。