用途:该技能基于《A Philosophy of Software Design》中的“Design It Twice”理念,认为第一个想法通常不是最好的,因此为同一模块生成多个截然不同的接口设计,再进行比较与综合。适用于设计 API、探索接口方案等场景。
主要能力与工作流:
- 收集需求:先明确模块解决什么问题、调用者是谁、关键操作、约束条件,以及哪些应隐藏、哪些应暴露。
- 并行生成设计:使用 Task 工具同时启动 3 个以上子代理,每个代理被分配不同约束,例如最少方法数(1-3 个)、最大灵活性、优化最常见用例、借鉴特定范式或库。每个设计需输出接口签名、使用示例、内部隐藏内容和取舍。
- 展示设计:依次呈现每个方案的接口签名、调用示例和隐藏的复杂度,便于逐个理解。
- 对比设计:从接口简洁性、通用与专用、实现效率、深度(小接口隐藏大复杂度为佳)、易用与易误用等维度用文字讨论取舍,突出分歧点。
- 综合:询问哪个设计最契合主要用例,以及是否吸收其他设计的元素。
评估标准:接口简洁(方法少、参数简单)、通用性(避免过度泛化)、实现效率、深度(深模块优于浅模块)、正确使用与误用难度。
反模式:不要让子代理产出相似设计;不要跳过对比;不要实现代码,只关注接口形态;不要以实现工作量作为评估依据。
限制:资料未提供具体安装命令、收费方式、支持平台或运行环境等信息。