如何落地“单一职责原则”?
291
版权声明
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
文章主旨:在AI技能(Skill)设计中应用单一职责原则时,关键在于通过“目的、触发、输入、输出、变化”五维单一性及“动词+名词”组合法判断职责边界,并允许大技能通过内部调用小技能实现分层,前提是大技能封装了不可替代的业务决策逻辑。
关键要点:
- 单一职责的核心:一个Skill只做一件逻辑上连贯的事情,具体化为目的、触发、输入、输出、变化五个单一维度。
- 最实用的判定工具:使用“动词+名词”组合法,职责描述应为1个动词+1个名词,多动词或多名词通常需要拆分。
- 职责分层是必要的:原子Skill严格聚焦,组合Skill可以调用其他Skill,但必须封装了额外的决策逻辑,而非单纯的编排器。
- 常见陷阱:避免过度详细到操作手册级别、不敢调用其他Skill、过度拆分导致难以使用、description描述模糊。
- 实操流程三步判定法:动宾初筛 → 五个单一测试 → 分层价值测试。
内容结构:
一、什么是Skill的单一职责?
- 目的单一:能用“为了某个用户目标,做一个具体的动作”完整描述。
- 触发单一:用户请求的核心意图一致。
- 输入单一:输入指向同一类领域对象。
- 输出单一:通常只产出一种主要产物。
- 变化单一:修改的原因通常只有一个且与其他不相关。
二、最具操作性的判定工具:动词+名词组合法
- 单一职责:1个动词+1个名词。
- 违规模式:多动词+一名词、一动词+多名词、多动词+多名词,均需拆分。
三、职责有大小,Skill有分层
- 小职责(原子Skill):如PDF转Markdown、发送Slack消息。
- 大职责(组合Skill):如生成项目周报、部署到测试环境。
- 大Skill调用小Skill允许,但需通过“删除大Skill后用户需要手动调用多少小Skill并补充多少决策逻辑”来判断其价值。
四、正反案例对比
- 反面案例1:document-processor职责过宽,应拆分为pdf-to-markdown、extract-tables-from-pdf、generate-doc-summary。
- 反面案例2:run-pipeline作为编排器陷阱,若内部无错误处理等额外逻辑,应让用户直接按顺序调用;改进方案是加入决策逻辑。
- 正面案例:generate-weekly-report,对外承诺完整任务,内部调用多个原子Skill,但封装了如计算环比、组织周报结构等业务逻辑,合理。
五、常见陷阱与注意事项
- 把Skill写成操作手册、恐惧调用关系、过度拆分、忽视description。
六、实操流程:三步判定法
- 1. 动宾初筛:写出职责描述,数动词和名词数量,不止1+1进入拆分候选。
- 2. 五个单一测试:目的、触发、输入、输出、变化。
- 3. 分层价值测试:原子必须聚焦,组合必须封装不可替代的决策/业务逻辑。
文章总结:遵循五单一、动宾计数、分层价值检验,可设计出精准且可复用的AI技能(Skill),避免常见误区。
麦哲思科技任甲林
麦哲思科技(北京)有限公司总经理 敏捷性能合弄模型评估师 认证的Scrum Master 认证的大规模敏捷顾问SPC CMMI高成熟度主任评估师 COSMIC MPC,IAC 成员,中国分部主席
还在用多套工具管项目?
一个平台搞定产品、项目、质量与效能,告别整合之苦,实现全流程闭环。
白皮书上线