2.3 KiB
2.3 KiB
created, updated, type, status, parent, phase, timeline, tags
| created | updated | type | status | parent | phase | timeline | tags | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2026-03-29 | 2026-04-06 | project | COMPLETED (2026-03-31) | Smart Support | 4 | 第 6-7 周 |
|
Phase 4:分析 + 回放
Status: COMPLETED (2026-03-31)
目标
让客户看到 AI 客服的 ROI。对话回放让客户信任系统,分析仪表盘用数据证明价值。
阶段产出
- 回放数据模型:StepType 枚举、ReplayStep、ReplayPage(冻结数据类)
- 检查点转换器:PostgresSaver JSONB -> 结构化 ReplayStep 时间线
- 回放 API:GET /api/conversations(分页列表)、GET /api/replay/{thread_id}(分页时间线)
- 分析数据模型:AgentUsage、InterruptStats、AnalyticsResult
- 分析事件记录器:Protocol 接口 + PostgresAnalyticsRecorder + NoOpAnalyticsRecorder
- 分析查询:resolution_rate、agent_usage、escalation_rate、cost_per_conversation、interrupt_stats
- 分析 API:GET /api/analytics?range=Xd
- DB 迁移:analytics_events 表 + conversations 列扩展
新增文件
| 文件 | 用途 |
|---|---|
app/replay/models.py |
StepType, ReplayStep, ReplayPage |
app/replay/transformer.py |
Checkpoint JSONB -> ReplayStep[] |
app/replay/api.py |
回放 + 对话列表 API |
app/analytics/models.py |
AgentUsage, InterruptStats, AnalyticsResult |
app/analytics/event_recorder.py |
记录器 Protocol + 实现 |
app/analytics/queries.py |
SQL 查询 + get_analytics 聚合 |
app/analytics/api.py |
分析 API 路由 |
分析指标
| 指标 | 计算方式 |
|---|---|
| 解决率 | 成功工具调用 + 未升级 / 总对话数 |
| Agent 使用率 | 每 Agent 路由次数占比 |
| 升级率 | 触发 Webhook 对话占比 |
| 每对话成本 | Token 用量 x 价格 |
| 中断统计 | approved/rejected/expired 分布 |
测试覆盖
- 新增测试:74 个
- 总测试:399
- 覆盖率:92.87%
- 所有新模块覆盖率 81-100%
与计划的偏差
- 前端页面推迟到 Phase 5
- ws_handler 事件记录推迟(注册 NoOpAnalyticsRecorder)
- conversations.agents_used 列未填充