1. 打分维度
互斥性:每个行为只归属一个维度
可观测性:所有判断必须基于对话文本中明确出现的语言行为
可解释性:每个维度对应明确的改进方向(如“需加强产品培训” vs “需提升情绪管理”)
2. 提示词
你是一名客服质检专家。请根据以下对话,从5个互斥维度对客服表现评分(0–100分,整数)。评分必须严格基于对话文本中**明确出现的语言行为**,不得推测未提及内容。
【对话内容】
{{对话}}
【评分维度】
1. 服务态度与主动性:是否礼貌、积极、主动服务?(不看问题是否解决)
2. 沟通与表达能力:语言是否清晰、简洁、易懂?(不看内容对错)
3. 业务知识准确性:产品/流程/政策描述是否正确?(不看语气或表达方式)
4. 问题解决有效性:是否准确理解问题并推动有效解决?(不看态度)
5. 情绪识别与回应:是否识别并恰当回应用户情绪?(仅在用户有情绪时评分,如无情绪则为 100 分)
输出标准JSON,无其他内容: { "service_attitude": 90, "communication": 85, "business_accuracy": 95, "problem_resolution": 88, "emotional_response": 80 }
3. 质检流水线架构图
┌──────────────────────┐
│ 1. 原始对话数据源 │
│ (客服系统/CRM/工单) │
└──────────┬───────────┘
│
▼
┌──────────────────────┐
│ 2. 数据预处理模块 │
│ - 对话清洗(去广告、脱敏)│
│ - 角色标注(区分客服/用户)│
│ - 分段/截断(适配LLM上下文)│
└──────────┬───────────┘
│
▼
┌──────────────────────┐
│ 3. 质检任务调度器 │
│ - 批量/流式任务分发 │
│ - 优先级队列(如VIP对话优先)│
│ - 失败重试 & 限流控制 │
└──────────┬───────────┘
│
▼
┌──────────────────────┐
│ 4. LLM 质检评分引擎 │
│ - 加载标准化Prompt模板 │
│ - 调用大模型API(Qwen/GPT等)│
│ - 输出结构化JSON评分 │
│ - 支持多模型投票(可选) │
└──────────┬───────────┘
│
▼
┌──────────────────────┐
│ 5. 后处理与校验模块 │
│ - JSON解析 & 异常值检测 │
│ - 逻辑一致性检查(如:用户愤怒但emotional_response=100?)│
│ - 置信度过滤(低置信样本标记复核)│
│ - 自动填充缺失维度(如无情绪→emotional_response=100)│
└──────────┬───────────┘
│
▼
┌──────────────────────┐
│ 6. 质检结果存储 │
│ - 写入数据库(MySQL/ClickHouse)│
│ - 字段:对话ID、5维度分、整体分、模型版本、时间戳 │
│ - 关联客服ID、用户ID、业务类型等元数据 │
└──────────┬───────────┘
│
▼
┌──────────────────────┐
│ 7. 应用与反馈层 │
│ - 客服绩效看板(BI工具)│
│ - 自动预警(低分对话触发督导)│
│ - 人工复核队列(异常样本)│
│ - 模型效果监控(与人工标注对比)│
└──────────────────────┘以下是为解耦后的五大质检维度设计的 人工质检对照表(Human QA Rubric),专用于:
人工质检员打分时统一标准
校准大模型自动评分结果
培训新质检人员
构建高质量标注数据集
每个维度按 0分、50分、100分 三个锚点给出具体、可观察、无歧义的行为描述,确保评分客观、一致、可解释。
4. 客服服务质量人工质检对照表(五维度无交叉版)
4.1. 1. 服务态度与主动性
聚焦:语气是否积极、礼貌、主动?不看问题是否解决。
4.2. 2. 沟通与表达能力
聚焦:语言是否清晰、简洁、易懂?不评价内容对错。
4.3. 3. 业务知识准确性
聚焦:产品/流程/政策描述是否正确?不看语气或表达方式。
4.4. 4. 问题解决有效性
聚焦:是否推动问题真正解决?不看态度或知识细节。
4.5. 5. 情绪识别与回应
聚焦:是否识别并回应用户情绪?仅在用户有情绪时评分。
💡 质检员操作提示:若用户无情绪,直接打100分,不视为“缺失能力”。
4.6. 使用说明
逐维度独立打分,禁止因某一维度差而拉低其他维度。
仅依据对话文本,不得假设客服“本意是好的”或“可能系统卡了”。
50分是“及格线”:代表“基本完成但有明显提升空间”。
整体分建议:可计算加权平均(如各20%),或由质检员在五维基础上综合判断(用于人工复核场景)。
4.7. 📥 附:质检记录表示例(Excel/数据库字段)
5. 客服质检大模型评估体系(Kappa + MAE 联合分析)
5.1. 评估目标
5.2. 核心指标定义
5.2.1. Cohen’s Kappa 系数
用途:衡量分类一致性(排除随机一致)
输入:将 0–100 分离散为 3 类:
高(H):80–100 → 编码
2中(M):60–79 → 编码
1低(L):0–59 → 编码
0
解读:
≥0.81:几乎完美
0.61–0.80:高度一致(可接受)
<0.60:需优化标准或模型
5.2.2. MAE(Mean Absolute Error,平均绝对误差)
公式:
单位:分数点(0–100)
解读:
MAE ≤ 5:几乎无偏差
MAE 5–10:可接受
MAE > 10:偏差显著,需干预
✅ Kappa 看“判断逻辑是否一致”,MAE 看“分数是否接近”,二者互补。
5.3. 实验设计
5.3.1. 数据准备
样本量:≥50 条对话(建议 100–200)
覆盖性:包含不同业务、情绪、复杂度
人工标注:2–3 名质检员独立打分,取平均或共识作为 黄金标准
5.3.2. 大模型运行设置
运行次数:≥3 次(模拟多个“AI 质检员”)
方式(任选其一):
同一模型 + 不同随机种子(
seed=1,2,3)不同模型(Qwen-Max, GPT-4o, Claude-3.5)
同一模型 + 微小 Prompt 变体(A/B 测试)
5.3.3. 输出格式
每条对话输出 5 个维度的 0–100 整数分:
{
"service_attitude": 85,
"communication": 90,
"business_accuracy": 88,
"problem_resolution": 82,
"emotional_response": 100
}5.4. 评估流程(完整步骤)
5.4.1. 步骤 1:数据预处理
人工分 & AI 分 → 合并为 DataFrame
对每个维度,生成分类标签(用于 Kappa)
5.4.2. 步骤 2:计算指标(按维度)
对每个维度(如 service_attitude):
5.4.3. 步骤 3:汇总报告
📌 决策阈值建议:
上线条件:所有维度 Kappa ≥ 0.6 且 MAE ≤ 10
需优化:任一维度 Kappa < 0.6 或 MAE > 12
5.5. Python 自动化实现(完整代码框架)
import pandas as pd
import numpy as np
from sklearn.metrics import cohen_kappa_score
from itertools import combinations
# ----------------------------
# 1. 配置
# ----------------------------
DIMENSIONS = ["service_attitude", "communication", "business_accuracy",
"problem_resolution", "emotional_response"]
N_RUNS = 3
HUMAN_FILE = "human_scores.csv"
AI_FILES = [f"ai_run_{i}.csv" for i in range(1, N_RUNS + 1)]
# ----------------------------
# 2. 加载数据
# ----------------------------
human_df = pd.read_csv(HUMAN_FILE)
ai_dfs = [pd.read_csv(f) for f in AI_FILES]
# 确保 session_id 对齐
session_ids = human_df["session_id"].tolist()
for df in [human_df] + ai_dfs:
df.set_index("session_id", inplace=True)
df = df.reindex(session_ids) # 保证顺序一致
# ----------------------------
# 3. 辅助函数
# ----------------------------
def score_to_cat(score):
if score >= 80: return 2
elif score >= 60: return 1
else: return 0
def compute_kappa(y1, y2):
# 处理全一致导致 Kappa=NaN 的情况
if len(set(y1)) == 1 and len(set(y2)) == 1 and y1[0] == y2[0]:
return 1.0
return cohen_kappa_score(y1, y2)
# ----------------------------
# 4. 评估主循环
# ----------------------------
results = []
for dim in DIMENSIONS:
# 获取人工评分(数值)
human_scores = human_df[dim].astype(int).tolist()
human_cats = [score_to_cat(s) for s in human_scores]
# 获取所有 AI 运行结果
ai_scores_list = [df[dim].astype(int).tolist() for df in ai_dfs]
ai_cats_list = [[score_to_cat(s) for s in scores] for scores in ai_scores_list]
# ---- AI vs Human ----
ai_vs_human_kappas = []
ai_vs_human_maes = []
for ai_scores, ai_cats in zip(ai_scores_list, ai_cats_list):
k = compute_kappa(human_cats, ai_cats)
mae = np.mean([abs(h - a) for h, a in zip(human_scores, ai_scores)])
ai_vs_human_kappas.append(k)
ai_vs_human_maes.append(mae)
# ---- AI Internal ----
ai_internal_kappas = []
ai_internal_maes = []
for (s1, c1), (s2, c2) in combinations(zip(ai_scores_list, ai_cats_list), 2):
k = compute_kappa(c1, c2)
mae = np.mean([abs(a - b) for a, b in zip(s1, s2)])
ai_internal_kappas.append(k)
ai_internal_maes.append(mae)
# ---- 汇总 ----
results.append({
"dimension": dim,
"ai_vs_human_kappa": np.mean(ai_vs_human_kappas),
"ai_vs_human_mae": np.mean(ai_vs_human_maes),
"ai_internal_kappa": np.mean(ai_internal_kappas) if ai_internal_kappas else 1.0,
"ai_internal_mae": np.mean(ai_internal_maes) if ai_internal_maes else 0.0
})
# ----------------------------
# 5. 输出结果
# ----------------------------
result_df = pd.DataFrame(results)
print(result_df.round(3))
# 保存
result_df.to_csv("llm_qa_evaluation_report.csv", index=False)
# 整体通过判断
passed = all(
(row["ai_vs_human_kappa"] >= 0.6) and (row["ai_vs_human_mae"] <= 10)
for _, row in result_df.iterrows()
)
print(f"\n✅ 大模型质检系统 {'通过' if passed else '未通过'} 上线标准")5.6. 结果应用建议
5.7. 附:评估报告模板(Markdown)
# 大模型客服质检评估报告
- **样本量**:120 条对话
- **人工标注**:3 名质检员,Kappa=0.78(内部一致)
- **AI 运行**:Qwen-Max,3 次(seed=42, 100, 2025)
## 结果汇总
| 维度 | Kappa (vs Human) | MAE (vs Human) | 结论 |
|------|------------------|----------------|------|
| 服务态度 | 0.85 | 4.2 | ✅ 优秀 |
| 业务准确 | 0.62 | 11.3 | ⚠️ 需优化知识库 |
## 建议
1. 对“业务准确”维度,补充 10 条典型错误案例到 Prompt
2. 上线初期,对 MAE > 15 的对话自动触发人工复核