基于生产的数据生成评估Agent准确度的评测数据准备
你提到的这一步,其实是在描述 智能客服/对话系统数据工程中最基础的“数据预处理”阶段。我帮你拆解一下每个概念,让它更容易理解。
Step 1:从生产中捞数据
意思是:
-
从生产系统里把实际发生的对话事件、用户行为、系统回答等日志抽取出来。
-
数据源可能包括:
- 智能客服日志(query、answer、intent、confidence 等字段)
- 用户操作日志(点击 CTA、下单)
- Session 记录(session_id、user_id、时间戳)
-
目标是拿到“原始事实数据”,作为后续分析、指标计算和模型训练的基础。
注意:这里只是“拿数据”,不做任何复杂计算。
数据清洗
生产数据往往脏、杂、不统一,直接用会有问题。
典型操作:
-
去噪(Noise Removal)
-
去掉无效对话:
- 系统测试/机器人自检记录
- 用户连续空消息
- 误埋点的事件
-
去掉异常数据:
- 时间戳错乱
- 字段缺失严重
-
去掉重复日志(系统重复写入)
-
-
标准化 / 归一化
- 把回答类型统一为
clarification | final | handoff - 把 intent 名称统一
- 字段格式统一(时间戳、用户 ID)
- 把回答类型统一为
切分成「会话样本」
什么意思:
-
生产数据是一条条事件,智能体收到每条 query 都会产生日志。
-
但我们分析或训练时,需要按“会话”为单位组织数据。
-
切分规则:
-
同一个 session_id
-
或者同一个 user_id,在固定时间间隔内连续对话
-
每个会话包含:
- 用户问题序列
- 系统回答序列
- 时间信息
- 相关事件(点击、下单、升级人工)
-
-
目的是得到“完整的对话轨迹”,方便:
- 判断重复提问
- 计算准确度
- 做转化归因
- 生成训练样本
举例:
原始日志(顺序):
| user_id | session_id | query | answer | timestamp |
|---|---|---|---|---|
| 123 | A | 多少钱? | 10元 | t1 |
| 123 | A | 有折扣吗? | 没有 | t2 |
| 123 | B | 多少钱? | 12元 | t3 |
切分成会话样本:
-
会话 A:
queries: ["多少钱?", "有折扣吗?"] answers: ["10元", "没有"] -
会话 B:
queries: ["多少钱?"] answers: ["12元"]
总结理解
这一步的核心目标:
- 从生产抓取原始事件 → 数据抽取
- 清理和去噪 → 删除无效或错误数据
- 按会话组织 → 得到“完整的对话样本”,为后续特征加工、重复提问判断、指标统计和训练样本生成做好准备
如果你愿意,我可以帮你画一张“原始日志 → 会话样本 → 重复提问计算”流程图,把整个加工链路直观展示出来。
你希望我画吗?

浙公网安备 33010602011771号