chanpinhsd/agent/skills/ude_diagnosis/SKILL.md

6.0 KiB
Raw Permalink Blame History

name description
UDE 诊断 基于 TOC 约束理论,从 VOC 消费者数据中提取 UDE不良效果通过向量聚类发现核心问题

UDE 诊断Undesirable Effects Diagnosis

什么是 UDE

UDEUndesirable Effect= 系统中当前正在发生的、阻碍系统实现目标的、可观测的负面现象。

UDE 是症状,不是病因,也不是解决方案。多个 UDE 之间的因果关系指向隐藏的核心问题——通常是一条不被质疑的政策或假设。


整体流程

VOC 评论 ──LLM转写──→ UDE 格式句 ──向量化──→ 语义聚类 ──覆盖扫描──→ 核心 UDE 清单
                ↑                    ↑           ↑                    ↑
           格式转换(低幻觉)   DashScope v4   DBSCAN确定性    因果链验收

LLM 只出场一次(转写),相似性判断和频次统计全部交给向量空间。


第一步VOC → UDE 转写

有 VOC 研究数据时

对 Agent 说:

"请对研究 [research_id] 的 VOC 评论进行 UDE 转写"

Agent 会调用 voc_to_ude 工具,将每条消费者评论转写为一条 UDE 格式句。

转写规则LLM 的任务是"格式转换",不是"分析"

  • 输入:"一瓶三百多,吃一个月,真的吃不起"
  • 输出:"该品类产品月均消费成本持续超出目标消费者的可接受范围"

UDE 格式规范7 条硬约束)

# 规范 检查要点
1 完整陈述句 不是"响应慢",而是"客户投诉响应时间持续超过48小时"
2 现在时态 描述当前正在发生的事,不是过去或未来
3 只描述效果,不含原因 不能包含"因为…所以…"
4 不是伪装的解决方案 不能说"需要X"、"应该做Y"
5 单一实体 一条 UDE 只描述一个问题
6 客观可验证 利益相关方能达成共识的事实
7 在影响范围内 品牌/企业可以采取行动改善的

「伪装的解决方案」速查表

伪装的解决方案 正确的 UDE
"需要新的 ERP 系统" "关键数据难以检索,决策持续滞后"
"应该增加广告预算" "品牌知名度持续低于主要竞品"
"需要引进高端人才" "核心技术岗位长期空缺,项目交付延期"
"应该做消费者调研" "产品开发决策缺乏消费者需求依据"

无 VOC 数据时

引导用户从自身经验出发。不要用预设框架,直接问:

"站在你的客户/消费者的角度,他们当前持续承受着哪些让他们不满意、阻碍他们更好地完成任务的问题?"


第二步:向量聚类

前置条件

用户需配置 DashScope API Key阿里云百炼控制台获取。对 Agent 说「我的 DashScope Key 是 xxx」即可。

执行

对 Agent 说:

"请对研究 [research_id] 的 UDE 进行聚类分析"

Agent 会调用 cluster_udes 工具:

  1. 使用 DashScope text-embedding-v4 将所有 UDE 句向量化1024 维)
  2. 使用 DBSCAN 算法进行语义聚类
  3. 返回按覆盖量排序的聚类列表

为什么用向量聚类而非标签统计

标签统计(旧方案) 向量聚类(当前方案)
问题 LLM 标签碎片化1020 条产出 1003 个标签) 向量空间天然处理近义表述
频次 GROUP BY 结果无意义(每标签=1次 簇大小 = 真实覆盖量
全局视野 LLM 逐条处理 向量空间容纳全部 UDE

输出示例

簇 1覆盖 80 条)
  代表 UDE该品类产品月均消费成本持续超出目标消费者的可接受范围
  原声:["一瓶三百多真的吃不起", "不是不想买太贵了", ...]

簇 2覆盖 27 条)
  代表 UDE产品冷藏存储要求与消费者日常场景持续冲突
  原声:["需要冷藏但办公室没冰箱", "忘了放冰箱担心失效", ...]

噪声45 条4.4%)— 不属于任何主要 UDE 簇

第三步:覆盖扫描

对 Agent 说:

"请扫描 UDE 聚类的覆盖情况"

Agent 会调用 scan_coverage 工具,返回:

  • 覆盖率:多少 VOC 评论被 UDE 簇覆盖
  • 噪声占比:未被覆盖的 UDE可能遗漏的线索
  • 噪声样本:供人工检查

判断标准:

  • 噪声 < 10%:覆盖充分
  • 噪声 10-20%:查看样本,可能遗漏某类 UDE
  • 噪声 > 20%:需要调整聚类参数

第四步:构建因果链

取聚类产生的 Top 5-10 个代表性 UDE用「因为…所以…」链接寻找因果关系

  1. 取任意两条 UDE"A 是否会导致 B"
  2. 用箭头标注因果方向
  3. 发出最多箭头的 UDE = 候选核心问题(根因方向)

朗读测试

  • 从下到上:「因为 [原因 UDE]所以 [效果 UDE]」
  • 从上到下:「[效果 UDE] 是因为 [原因 UDE]」

听着不合逻辑 → 检查是否缺少中间环节。


第五步核心问题验收CLR 检验)

对核心问题候选进行 3 项验收:

检验项 问题
充分性 该原因单独足够导致那些效果吗?还需要什么其他条件?
预测效果 如果核心问题存在,还应该产生什么其他效果?那些效果存在吗?
同义反复 核心问题是不是在用不同的话重复某个 UDE

完成标志

  • VOC 评论已转写为 UDE 格式句
  • UDE 已通过向量聚类,产出按覆盖量排序的簇
  • 覆盖扫描通过(噪声 < 10%
  • 构建了因果链,识别出核心问题候选
  • 核心问题通过 CLR 三项验收
  • 用户确认核心问题

完成后,将核心问题和 UDE 清单传递给下一步:冲突图构建

关键提醒:核心问题 = 导致最多 UDE 的根因,不是"跟我们的产品最相关的"。产品/方案如何注入到核心问题上,是冲突图和惯例打破要解决的事。