关于 frustration-detection
用于从语言、对话结构和情绪信号中识别用户挫折感,并据此调整回复或升级处理的设计技能。它强调跨轮次累积判断,也说明不适用的情境。
主要功能
- 01语言、结构和情绪信号
- 02跨轮次累积评分
- 03语气调整与升级规则
- 04反模式与排除情境
- 05评分表和测试场景
适用场景
- 01在支持对话中随挫折感加深调整回复
- 02多次修复无效后升级处理
- 03识别用户在长回复后的退出迹象
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ owl-listener/ ai-design-skills --skill frustration-detection安装后在 Claude Code 中输入/frustration-detection确认已加载。
详细介绍
挫败感检测
大多数 AI 产品会把用户的每条消息都视为具有相同的情绪分量。事实并非如此。“取消我的订阅。”和“请现在就取消我的订阅!!!”值得得到不同的回应。挫败感检测是一项感知能力,负责捕捉这些信号,让系统的其他部分据此调整。
这项未被明确命名的能力,是语气校准、升级处理设计和妥善补救的基础。缺少它,这些能力就无法在恰当的时机发挥作用。
信号
语言特征
- 大小写变化:全大写,突然出现“PLEASE”“URGENT”
- 标点密度:
?!?!、....、多个!! - 去除缓和语气:措辞简短、带命令口吻(“直接修好”“停止”)
- 重复:在多轮对话中反复表达同一概念
- 脏话(轻度或强烈)
结构特征
- 回复间隔缩短(快速连发)
- 回复间隔超过阈值后变长(放弃交流)
- 收到回复后再次询问同一个问题
- 明确要求转接人工(“和真人说话”)
- 突然切换话题
词汇/情绪倾向
- 负面情绪词(“没用”“烦人”“坏了”)
- 时间压力词(“现在”“立刻”“截止日期”)
- 怀疑词(“真的吗?”“你确定吗”“这样对吗”)
- 退出交流的词(“算了”“忘了吧”“随便”“行吧”)
检测应综合多种信号和多轮对话,而非依赖单一特征。
决策规则
- **一个信号可能是噪声,两个信号才构成模式。**不要仅因一条全大写的消息就采取行动;要在全大写加上重复表达时采取行动。
- **如果挫败感正在加剧,而且 AI 已经尝试修复过一次,就升级处理。**不要再进行第三次改述。
- **紧迫不等于挫败。**加快处理速度,但不要改变语气。
- **AI 回复较长后,若用户长时间未回应,这意味着用户可能已离开,而非正在仔细阅读。**保存状态,提供重新参与的选项,不要继续发送内容。
- 默默调整,不要点明情绪。“我感觉你很沮丧”会显得居高临下。降低确定性、放慢节奏、提高亲和度——但应体现在措辞中,而非元评论里。
反模式
- 表演式情绪共鸣:“听到这个消息我真的很抱歉!”在大规模应用时会显得像照本宣科。
- 让用户确认自己的状态:“你感到沮丧吗?”用户是来寻求帮助的,不是来接受分析的。
- 一次性检测:单个信号就触发完整的一连串共情回应。检测必须综合多个信号。
- 检测到信号却不采取行动:发现信号后仍沿用相同的处理方式,会让检测沦为表演。
- 过度共情:本可以用一句话加上解决方案,却写了两段安慰的话。感到挫败的用户没有余力接受过多温情。
不适用场景
- 事务型界面(搜索框、代码补全)——没有可供判断的对话变化。此时应使用
feedback-loops。 - 首次交互——检测依赖比较,因此需要基线。将首轮信号视为描述性信息,而非诊断依据。
- 带有明确反馈控件的产品(踩赞、“这没有帮助”)——用户已经有反馈控件,不要再额外添加推断机制。
另请参阅
tone-calibration— 检测到信号后该如何处理:降低确定性、放慢节奏、提高亲和度。escalation-design— 挫败感是文档中列出的升级触发因素之一;这项能力用于检测该触发因素。feedback-loops— 它处理有关 输出质量 的环境信号;这项能力处理有关 用户状态 的环境信号。harm-anticipation— 当挫败感转为痛苦(危机迹象、脆弱状态)时,应通过伤害预判进行更高级别的处理。
设计工件
每个会话的累计挫败感评分卡:
| 信号 | 权重 |
|---|---|
| 全大写消息 | +2 |
| 脏话 | +3 |
| 重复提问(第 3 次及之后) | +2 |
!! 或 ?? 标点 | +1 |
| 明确要求转交 | +5 |
| 表示 disengagement 的词语(“forget it”) | +3 |
| AI 回复后延迟较长(>3 min) | +2 |
升级阈值:5。语气调整阈值:2。
示例:
- 第 1 轮:“嘿,你能帮我取消订单吗” → 0
- 第 2 轮:“取消按钮无法使用” → 0(问题陈述,并非挫败情绪)
- 第 3 轮:“我已经试了 3 次了,拜托” → +4(全大写、重复、“拜托”)→ 评分 4 → 调整语气
- 第 4 轮:“这简直毫无用处” → +2(全大写)+3(负面情绪)→ 评分 9 → 升级
其他工件:
- 按产品设定基线:最近 1000 个会话的平均挫败感评分;偏离 2σ 时发出警报
- 按产品校准延迟阈值(聊天支持:参与状态下 30 s / 未参与状态下 2 min)
- 测试场景:顺利流程、逐渐升高、突然飙升、悄然离开、恢复(修复后会话中途评分下降)
改编自对对话系统情感计算的研究(Picard;Bickmore 关于情感对话 Agent 的研究)。
评论
支持 Markdown