会话分析(Conversation Analysis)是一个用于分析对话模式、提取行为信号与洞察的技能。其整体思路为:信号提取 → 模式检测 → 行为洞察。
一、适用场景 该技能应在以下情况使用:用户请求会话分析;识别挫败、成功或工作流模式;提取用户偏好与要求;理解任务演进与迭代过程。不适用于:实时监控、内容生成、单条消息分析。
二、信号分类体系 技能内置一套信号分类表,分为四大类型:
- 成功(Success):包含明确赞扬(如 “Perfect!”、“Exactly what I needed”、感叹号)、延续(如 “Now do the same for...”,在先前工作上继续)、采纳(用户未经修改直接实现建议)、接受(如 “Looks good”、“Ship it”、“Merge this”)。
- 挫败(Frustration):包含纠正(如 “No, I meant...”、“That's wrong”、“Do X instead”)、回退(用户撤销智能体改动,如 “Go back”)、重复(同一请求出现 2 次以上且具体程度升级)、明确表达(如 “This isn't working”、“Why did you...”,带指责语气)。
- 工作流(Workflow):包含序列(如 “First...”、“Then...”、“Finally...”,编号列表)、转换(如 “Now that X is done, let's Y”,阶段变化)、工具链(重复出现的工具使用模式,如 Read → Edit → Bash)、上下文切换(话题突变且无过渡语句)。
- 请求(Request):包含禁止(如 “Don't use X”、“Never do Y”、“Avoid Z”)、要求(如 “Always check...”、“Make sure to...”、“You must...”)、偏好(如 “I prefer...”、“It's better to...”,比较性语言)、条件(如 “If X then Y”、“When A, do B”,情境规则)。
三、置信度分级
- 高(0.8–1.0):明确关键词匹配分类体系,无歧义,上下文强。
- 中(0.5–0.79):隐含信号,上下文不完整,轻微歧义。
- 低(0.2–0.49):语言含糊,上下文弱,分类处于边界。
四、阶段流程 使用 TodoWrite 跟踪,阶段只前进不回退。四个阶段:
- Parse Input(解析输入):会话开始时触发,activeForm 为 “Parsing input”。
- Extract Signals(提取信号):范围校验后触发,activeForm 为 “Extracting signals”。
- Detect Patterns(检测模式):信号提取后触发,activeForm 为 “Detecting patterns”。
- Synthesize Report(综合报告):模式检测后触发,activeForm 为 “Synthesizing report”。
TodoWrite 格式示例:Parse Input { 范围描述 }、Extract Signals { 从 N 条消息 }、Detect Patterns { 分类重点 }、Synthesize Report { 输出格式 }。
边界情况:小范围(少于 5 条消息)跳过 Extract Signals,直接进入 Synthesize;重新分析时从 Detect Patterns 恢复;范围很窄(单一信号类型)时跳过 Detect Patterns。
工作流:开始创建 Parse Input 并标记 in_progress;转换时将当前标记 completed,添加下一步为 in_progress;交付后将 Synthesize Report 标记 completed。
各阶段细节:
- 定义范围(Define Scope):消息范围(全部、最近 N 条、日期范围)、参与者(仅用户、仅智能体、两者)、排除项(系统消息、工具输出、代码块)。完成后将 Parse Input 标记 completed,创建 Extract Signals 为 in_progress。
- 提取信号(Extract Signals):扫描消息中的信号关键词,匹配分类体系,分配置信度(高/中/低),记录 type、subtype、message_id、timestamp、quote、context。完成后进入 Detect Patterns。
- 检测模式(Detect Patterns):按类型/子类型分组信号;查找聚类(3 个以上相关信号);识别演进(信号随时间变化);追踪重复(反复出现的主题);发现关联(工具链、工作流)。完成后进入 Synthesize Report。
- 输出(Output):生成包含 signals、patterns、summary 的 JSON;包含置信度、建议、行动项;如有缺口则附加 “△ Caveats”;完成后将 Synthesize Report 标记 completed。
五、模式检测 基于信号聚类得到行为模式:
- 重复(Repetition):同一信号出现 3 次以上;强:5 个以上信号。
- 演进(Evolution):信号类型随时间变化;中等:3–4 个信号。
- 偏好(Preferences):一致的请求信号;强:跨会话。
- 工具链(Tool Chains):重复出现的工具序列(5 次以上);高:频繁使用。
- 问题区域(Problem Areas):聚集的挫败信号;强:同一主题 3 个以上。
时间模式:升级(挫败感增强/要求更强)、缓和(挫败 → 成功转变)、周期性(同一问题跨会话复现)。
六、输出格式 输出为 JSON 结构,顶层为 analysis 对象,包含:
- scope:message_count、date_range、actors(如 ["user", "agent"])。
- signals 数组:每项包含 type(success|frustration|workflow|request)、subtype(具体子类型)、message_id、timestamp(ISO8601)、quote(原文)、confidence(high|medium|low)、context(简要说明)。
- patterns 数组:每项包含 pattern_type(repetition|evolution|preference|tool_chain)、category(success|frustration|workflow|request)、description、occurrences、confidence(strong|moderate|weak)、first_seen、last_seen、recommendation。
- summary:total_signals、by_type(如 success: N、frustration: N 等)、key_insights 数组、action_items 数组。
七、始终执行(ALWAYS) 会话开始时创建 Parse Input;阶段转换时更新 todo;为所有信号包含置信度;模式至少需要 2 个以上信号支撑;交付后将 Synthesize Report 标记 completed;应用近期加权(新近证据覆盖旧证据)。
八、绝不执行(NEVER) 跳过阶段转换;在未标记的情况下提取低置信度信号;仅凭单次出现就声称存在模式;阶段回退;交付时未标记最后阶段完成;过度解读中性语言。
九、附带资源
- signal-patterns.md:扩展分类体系、边界情况。
- extraction-techniques.md:正则、启发式方法。
- sample-analysis.md:完整演示。