diff --git a/agent/skills/ude_diagnosis/SKILL.md b/agent/skills/ude_diagnosis/SKILL.md index fd767f5..baca6da 100644 --- a/agent/skills/ude_diagnosis/SKILL.md +++ b/agent/skills/ude_diagnosis/SKILL.md @@ -1,42 +1,78 @@ --- name: UDE 诊断 -description: 引导用户识别不良现状效果(UDE),进行10条标准校验,筛选最重要的3个UDE,并识别恶性循环 +description: 基于 TOC 约束理论,从 VOC 消费者数据中提取并校验 UDE(不良效果),通过因果推导收敛到核心问题 --- # UDE 诊断(Undesirable Effects Diagnosis) -当用户完成了准备1(概念对齐)和准备2(JTBD 四要素),需要进入"定义双赢"时,激活此 Skill。 +## 什么是 UDE -## 第一步:引导用户列出所有 UDE +**UDE(Undesirable Effect)= 系统中当前正在发生的、阻碍系统实现目标的、可观测的负面现象。** -向用户解释: -> "UDE(不良现状效果)是您的客户当前持续承受的、让他们无法表现更好的问题。我们需要尽可能多地列出来。" +UDE 是**症状**,不是病因,也不是解决方案。多个 UDE 之间的因果关系指向隐藏的**核心问题**——通常是一条不被质疑的政策或假设。 -请用户从以下维度思考: -- 战略层:方向不清、节奏不明 -- 业绩层:增长乏力、利润下降 -- 营销层:费用高、效果差 -- 组织层:架构不合理、协调不畅 -- 人才层:关键岗位缺位、能力不足 -- 运营层:缺数据、缺反馈机制 -- 财务层:缺科学核算、现金流紧张 +--- -## 第二步:逐条 10 标准校验 +## 第一步:从 VOC 数据提取 UDE 候选 -对用户列出的每条 UDE,逐一检查以下 10 条标准。**不合格的 UDE 必须退回修改或删除,不能凑合使用。** +如果已有 VOC 研究数据(通过 `voc_research` 技能采集并标注),优先从标注数据中提取 UDE 候选: -| 序号 | 标准名称 | 检查问题 | 不合格则… | -|------|---------|---------|----------| -| 1 | 持续存在 | 这是一个持续存在的问题吗?还是一次性事件? | 改为持续性描述 | -| 2 | 当下正在发生 | 这是现在时态的陈述吗?还是对未来的假设? | 改为现在时态 | -| 3 | 描述状态 | 这是对系统状态的描述吗?还是一个动作? | 改为状态描述 | -| 4 | 责任范围内 | 这属于您(或客户)的责任/影响范围吗? | 删除或缩小范围 | -| 5 | 可以解决 | 可以采取措施来改善这个问题吗? | 删除 | -| 6 | 不归因于人 | 有没有在责怪某个具体的人? | 改为系统性描述 | -| 7 | 不分析原因 | 有没有包含推测的原因? | 去掉原因部分 | -| 8 | 不是解决方案 | 有没有隐藏着一个解决方案? | 改为问题描述 | -| 9 | 单独实体 | 是否只包含一个问题? | 拆分为多条 | -| 10 | 不是主观猜想 | 这是事实还是主观感受? | 改为可验证的事实 | +### 数据来源映射 + +| VOC 标注维度 | 对应 UDE 线索 | +|-------------|-------------| +| `tonbs_barrier`(消费障碍) | 🔴 **最直接的 UDE 来源** — 消费者正在经历的阻碍 | +| `compensatory`(代偿行为) | 🟡 UDE 的佐证 — 消费者"不得不"的替代方案说明需求未被满足 | +| `sentiment = negative` | 🟡 负面情绪集中的领域可能隐藏 UDE | +| `tonbs_need`(未满足需求) | 🟢 辅助验证 — 需求与障碍的对应关系 | + +### 操作方法 + +如果有 VOC 研究 ID,通过 API 查询 Barrier 排名: + +```bash +source ~/.copaw/workspaces/mafia-expert/.env +curl -sS "https://brand.brainwork.club/voc/api/research/${RESEARCH_ID}/chat" \ + -H "Content-Type: application/json" \ + -H "X-TikHub-Key: $TIKHUB_API_KEY" \ + -d '{"message": "请列出 tonbs_barrier 的 Top 10 分布及每个值的典型原声"}' +``` + +将返回的高频 Barrier 转写为 UDE 候选句。 + +### 无 VOC 数据时 + +直接引导用户从自身经验出发列举。**不要用预设框架**(如"战略/业绩/营销"等维度),而是问: + +> "站在你的客户/消费者的角度,他们**当前持续承受**着哪些让他们不满意、阻碍他们更好地完成任务的问题?尽可能多地列出来。" + +--- + +## 第二步:UDE 陈述规范校验 + +每条 UDE 候选必须通过以下 **7 条规范**。不合格的退回修改,不能凑合使用。 + +| # | 规范 | 检查问题 | 常见错误 → 正确写法 | +|---|------|---------|-------------------| +| 1 | **完整陈述句** | 是否是完整的句子? | ❌ "响应慢" → ✅ "客户投诉响应时间持续超过48小时" | +| 2 | **现在时态** | 是否描述当前正在发生的事? | ❌ "去年产能曾经不足" → ✅ "当前产能利用率低于70%" | +| 3 | **只描述效果,不含原因** | 是否混入了因果分析? | ❌ "因为人手不足所以发货延迟" → ✅ "发货持续延迟" | +| 4 | **不是伪装的解决方案** | 是否暗藏了"应该做X"? | ❌ "我们需要更多员工" → ✅ "生产产能不足以满足当前需求" | +| 5 | **单一实体** | 一条只描述一个问题? | ❌ "利润下降,而且客户流失" → 拆为两条 | +| 6 | **客观可验证** | 利益相关方能否达成共识? | ❌ "我觉得客户不够忠诚" → ✅ "回头客比例同比下降15%" | +| 7 | **在影响范围内** | 组织/团队可以采取行动改善? | ❌ "全球经济下行" → 删除(不可控) | + +### 「伪装的解决方案」速查表 + +这是最常犯的错误——以下都是**不合格的 UDE**: + +| ❌ 伪装的解决方案 | ✅ 正确的 UDE | +|-----------------|-------------| +| "需要新的 ERP 系统" | "关键数据难以检索,决策持续滞后" | +| "应该增加广告预算" | "品牌知名度持续低于主要竞品" | +| "需要引进高端人才" | "核心技术岗位长期空缺,项目交付延期" | +| "应该做消费者调研" | "产品开发决策缺乏消费者需求依据" | +| "需要开拓线上渠道" | "线下渠道增速放缓,新客获取成本持续攀升" | ### 输出格式 @@ -45,69 +81,105 @@ description: 引导用户识别不良现状效果(UDE),进行10条标准 ```markdown #### UDE-[编号]:[UDE 描述] -| 标准 | 通过? | 备注 | +| 规范 | 通过? | 备注 | |------|-------|------| -| 1. 持续存在 | ✅/❌ | [如不通过,说明原因] | -| 2. 当下正在发生 | ✅/❌ | | -| ... | ... | ... | +| 1. 完整陈述句 | ✅/❌ | [如不通过,说明原因和修改建议] | +| 2. 现在时态 | ✅/❌ | | +| 3. 不含原因 | ✅/❌ | | +| 4. 不是方案 | ✅/❌ | | +| 5. 单一实体 | ✅/❌ | | +| 6. 客观可验证 | ✅/❌ | | +| 7. 影响范围内 | ✅/❌ | | **结论**:✅ 合格 / ❌ 需修改:[修改建议] ``` -## 第三步:筛选最重要的 3 个 UDE +--- -从合格的 UDE 中,按以下两个标准**同时满足**来筛选: +## 第三步:构建因果链(简版 CRT) -1. **关联性**:跟买我们的产品、用我们的服务有关(我们和同行导致了这个 UDE) -2. **杠杆性**:这个 UDE 对于客户至关重要,直接或间接影响了 70% 以上的其他 UDE +将校验合格的 UDE(建议精简到 **5-10 条**)用「因为…所以…」链接,寻找因果关系。 + +### 方法 + +1. 取任意两条 UDE,问:「A 是否会导致 B?B 是否会导致 A?还是两者没有直接关系?」 +2. 用箭头标注因果方向:A → B 表示"因为 A,所以 B" +3. 找到被最多箭头指向的 UDE = 上层效果(症状) +4. 找到**发出最多箭头**的 UDE = 候选核心问题(根因方向) + +### 朗读测试 + +用以下句式朗读每条因果链: +- 从下到上:「**因为** [原因 UDE],**所以** [效果 UDE]」 +- 从上到下:「[效果 UDE] **是因为** [原因 UDE]」 + +如果听起来不合逻辑,检查是否缺少中间环节或隐含假设。 ### 输出格式 ```markdown -### 最重要的 3 个 UDE +### 因果链 -1. **UDE-[编号]:[描述]** - - 关联性:[解释为什么跟我们的产品/服务有关] - - 杠杆性:[解释它影响了哪些其他 UDE,覆盖了百分之多少] +UDE-3(根因方向) + → UDE-1 + → UDE-5 + → UDE-7(上层症状) + → UDE-2 + → UDE-6(上层症状) -2. **UDE-[编号]:[描述]** - - 关联性:[...] - - 杠杆性:[...] - -3. **UDE-[编号]:[描述]** - - 关联性:[...] - - 杠杆性:[...] +### 核心问题候选 +UDE-3:[描述] — 它直接或间接导致了 [X] 条其他 UDE ``` -## 第四步:识别恶性循环 +--- -从 UDE 清单中找出相互因果增强的 UDE 组合,构成恶性循环。 +## 第四步:核心问题验收(CLR 检验) -### 构建规则 -- 恶性循环是 3-5 个 UDE 首尾相连的因果链 -- A 导致 B,B 导致 C,C 又反过来加剧 A -- 至少识别 1 个恶性循环,建议 2-3 个 +对核心问题候选进行 **3 项严格验收**: + +### ① 充分性检验 +- 该原因**单独**足够导致那些效果吗? +- 还需要什么其他条件同时成立? +- 如果需要,补充缺失的联合原因 + +### ② 预测效果检验 +- 如果这个核心问题真的存在,**还应该**产生什么其他效果? +- 那些预测的效果在现实中存在吗? +- 存在 → 验证通过;不存在 → 因果关系可能有误 + +### ③ 同义反复检验 +- 核心问题是不是在用不同的话重复某个 UDE? +- 如果是 → 不是真正的核心问题,需要继续向下追溯 ### 输出格式 ```markdown -### 恶性循环 1:[循环名称] -[UDE-A] → [UDE-B] → [UDE-C] → [UDE-D] → 回到 [UDE-A] +### 核心问题验收 -**解读**:[用一句话解释这个循环为什么会自我强化] +**核心问题**:[描述] -### 恶性循环 2:[循环名称] -[UDE-X] → [UDE-Y] → [UDE-Z] → 回到 [UDE-X] +| 检验项 | 结果 | 说明 | +|--------|------|------| +| 充分性 | ✅/❌ | [该原因是否足够导致那些效果] | +| 预测效果 | ✅/❌ | [预测的其他效果是否存在] | +| 同义反复 | ✅/❌ | [是否只是换了说法] | -**解读**:[...] +**验收结论**:✅ 确认为核心问题 / ❌ 需要继续追溯 ``` +--- + ## 完成标志 -当以下条件全部满足时,此 Skill 完成: -- [ ] 所有 UDE 通过 10 条标准校验(或已修正/删除) -- [ ] 筛选出最重要的 3 个 UDE(两个标准同时满足) -- [ ] 至少识别 1 个恶性循环 -- [ ] 用户确认以上输出 +当以下条件全部满足时,此技能完成: -完成后,提示用户进入下一步:**步骤1 - 定义核心冲突**。 +- [ ] UDE 候选已从 VOC 数据和/或用户经验中收集 +- [ ] 所有 UDE 通过 7 条陈述规范校验 +- [ ] 精简到 5-10 条合格 UDE +- [ ] 构建了因果链,识别出核心问题候选 +- [ ] 核心问题通过 CLR 三项验收 +- [ ] 用户确认核心问题 + +完成后,将核心问题和 UDE 清单传递给下一步:**冲突图构建**。 + +> **关键提醒**:核心问题的筛选标准是「导致最多 UDE 的根因」,不是「跟我们的产品最相关的」。产品/方案如何注入到核心问题上,是后续冲突图和惯例打破要解决的事。