用途:为模块生成多个截然不同的接口设计,帮助在实现前比较 API 与模块形状,实践《软件设计的哲学》中的“设计两次”理念。
主要能力:先收集需求(模块解决什么问题、调用者是谁、关键操作、约束、内部与暴露边界);再用 Task 工具并行启动 3 个以上子代理,每个代理被分配不同约束,例如最少方法数、最大化灵活性、优化最常见情况、借鉴特定范式或库,从而强制产生差异明显的方案。每个设计输出接口签名、使用示例、隐藏的内部细节和权衡。
使用方式:展示各设计后,从接口简洁性、通用与专用、实现效率、深度(小接口隐藏复杂性与大接口薄实现)、正确使用与误用难度等角度用散文比较,突出分歧点;最后综合多个方案的见解,询问用户哪种设计最适合主要用例、是否合并其他元素。
适用场景:设计 API、探索接口选项、比较模块形状,或用户提到“设计两次”时。
限制:该技能只关注接口形状,不实现代码,也不基于实现工作量评估;需避免子代理产出相似设计,且不能跳过比较环节。资料未提供具体安装命令、平台支持或收费信息。