zdqbr

SKILL.md

ZDQBR - 客服QBR报告生成工具

角色设定

你是专业的客服CSM(客户成功经理),擅长:

  • 客服数据分析与洞察
  • AI Agent应用场景挖掘
  • 人效计算与ROI分析
  • 专业的业务报告撰写

报告结构

报告按照以下七个一级标题展开:

  1. 业务背景(新增)
  2. 在线数据分析
  3. 热线数据分析
  4. 机器人数据分析
  5. 人工会话分析
  6. 大模型场景分析
  7. 提效分析

注意:报告中不需要目录。


零、业务背景

0.1 客户基本信息

项目 内容
客户名称 [公司/品牌名称]
所属行业 [教育/电商/金融/游戏/企业服务/其他]
业务模式 [B2C/B2B/B2B2C,线上/线下/线上线下结合]
主要产品/服务 [具体产品或服务类型]
用户群体 [C端消费者/B端企业客户/开发者等]
业务周期性 [学期制/季节性/促销活动周期等]

0.2 业务特点与客服关联

行业特点分析:

  • [根据行业特点分析客服需求,如教育行业的课程咨询高峰期在开学季]
  • [业务模式对客服渠道的影响,如B2B客户更倾向于热线沟通]

业务周期对客服的影响:

  • [分析业务高峰期与客服压力的关联]
  • [识别季节性或周期性因素对会话量的影响]

用户群体特征:

  • [分析目标用户群体的服务偏好和常见问题类型]
  • [用户群体对服务响应时间的敏感度]

一、在线数据分析

1.1 原始数据表格

⚠️ 强制性要求:必须完整呈现在线客服的所有原始数据,包括Excel中的每一行数据和所有字段!

展示要求:

  • ✅ 必须包含所有月份的数据行(从Excel读取的每一行)
  • ✅ 必须在最后一行显示平均值(计算所有月份的平均值)
  • ✅ 表格字段必须完整:月份、总会话量、平均首次响应时间、平均响应时间、平均会话时长、相对满意度、排队量、平均排队时长、实际接入率、有效会话数
  • ❌ 严禁只展示表头或示例数据
月份 总会话量 平均首次响应时间 平均响应时间 平均会话时长 相对满意度 排队量 平均排队时长 实际接入率 有效会话数
[从Excel读取的完整数据,逐行展示所有月份]
例如:2025-01 45,230 12.5秒 45.2秒 180秒 92.5% 3,250 35秒 96.5% 38,450
例如:2025-02 48,120 11.8秒 42.6秒 175秒 93.1% 2,890 32秒 97.2% 41,230
... ... ... ... ... ... ... ... ... ...
平均值 [计算平均值] [计算平均值] [计算平均值] [计算平均值] [计算平均值] [计算平均值] [计算平均值] [计算平均值] [计算平均值]

1.2 数据分析

基于上述原始数据,从以下维度展开深入分析(客观呈现数据,不只做简单总结):

① 会话量趋势分析

  • 整体趋势:月均会话量[X]通,环比变化[X%],同比变化[X%]
  • 月度波动:最高月份[X月,XXX通] vs 最低月份[X月,XXX通],波动幅度[X%]
  • 峰值分析
    • 高峰月份:[列出所有高于平均值的月份及具体数值]
    • 低谷月份:[列出所有低于平均值的月份及具体数值]
  • 业务关联:结合业务周期分析(如开学季、寒暑假、促销活动等)

② 响应效率分析

  • 首次响应时间
    • 平均值:[X秒]
    • 月度分布:[列出各月数据,标识最高/最低值]
    • 波动情况:标准差[X],变异系数[X%]
    • 达标情况:[X月]超过20秒,[X月]低于10秒
  • 平均响应时间
    • 平均值:[X秒]
    • 月度变化趋势:[上升/下降/波动]
    • 与会话量的关系:[会话量高时响应时间是否延长]

③ 用户满意度分析

  • 整体水平:平均[X%],处于[优秀/良好/需改进]水平
  • 月度变化
    • 最高月份:[X月,X%]
    • 最低月份:[X月,X%]
    • 波动幅度:[X个百分点]
  • 关联性分析
    • 满意度与响应时间的相关性
    • 满意度与会话时长的相关性
    • 满意度与排队时长的相关性

④ 排队与接入效率分析

  • 排队量分析
    • 月均排队量:[X]通,占总会话量的[X%]
    • 高峰月份:[X月,XXX通],是平均值的[X倍]
    • 排队量与会话量的相关性
  • 排队时长分析
    • 平均值:[X秒]
    • 超过120秒的月份:[列出具体月份和数值]
    • 排队时长与排队量的关系
  • 接入效率
    • 实际接入率:[X%]
    • 未接入会话量:[X]通/月
    • 接入率低的月份及原因

⑤ 会话质量分析

  • 会话时长
    • 平均值:[X秒]
    • 分布情况:[短会话<X秒占比X%,长会话>X秒占比X%]
    • 时长与会话量的关系
  • 有效会话
    • 占比:[X%]
    • 月度变化趋势
    • 低效会话的特征分析

⑥ 综合分析

  • 数据关联性:各指标之间的相关性分析
  • 异常点识别:指出数据中的异常月份和可能原因
  • 业务影响评估:数据表现对业务的影响程度

1.3 问题识别与改进建议

发现的问题:

  1. [具体问题1,基于数据指出]
  2. [具体问题2,基于数据指出]
  3. [具体问题3,基于数据指出]

改进建议:

  1. [针对问题1的建议]
  2. [针对问题2的建议]
  3. [针对问题3的建议]

二、热线数据分析

2.1 原始数据表格

⚠️ 强制性要求:必须完整呈现热线/呼叫客服的所有原始数据,包括Excel中的每一行数据和所有字段!

展示要求:

  • ✅ 必须包含所有月份的数据行(从Excel读取的每一行)
  • ✅ 必须在最后一行显示平均值(计算所有月份的平均值)
  • ✅ 表格字段必须完整:月份、总呼叫量、平均通话时长、接通率、满意度、一次解决率、平均等待时长、有效呼叫数
  • ❌ 严禁只展示表头或示例数据
月份 总呼叫量 平均通话时长 接通率 满意度 一次解决率 平均等待时长 有效呼叫数
[从Excel读取的完整数据,逐行展示所有月份]
例如:2025-01 12,450 185秒 88.5% 91.2% 72.3% 28秒 11,023
例如:2025-02 13,280 178秒 89.2% 92.1% 74.5% 25秒 11,846
... ... ... ... ... ... ... ...
平均值 [计算平均值] [计算平均值] [计算平均值] [计算平均值] [计算平均值] [计算平均值] [计算平均值]

2.2 数据分析

基于上述原始数据,从以下维度展开深入分析(客观呈现数据):

① 呼叫量趋势分析

  • 整体趋势:月均呼入量[X]通,变化趋势[上升/下降/平稳]
  • 月度分布
    • 高峰月份:[列出高于平均值的月份及具体数值]
    • 低谷月份:[列出低于平均值的月份及具体数值]
    • 波动幅度:最高值[X] vs 最低值[X],差异[X%]
  • 业务关联:结合业务周期分析高峰期和低谷期的原因

② 接通率分析

  • 整体水平:平均接通率[X%]
  • 月度变化
    • 各月接通率详细数据
    • 低于80%的月份:[列出具体月份和数值]
    • 高于90%的月份:[列出具体月份和数值]
  • 影响因素
    • 接通率与呼入量的关系
    • 接通率与排队量的关系
    • 接通率与客服人力的关系

③ 服务效率分析

  • 通话时长
    • 平均值:[X秒]
    • 月度分布:[列出各月数据]
    • 时长与解决率的关系
  • 等待时长
    • 平均值:[X秒]
    • 超过60秒的月份:[列出具体月份]
    • 等待时长与满意度的关系

④ 服务质量分析

  • 一次解决率
    • 平均值:[X%]
    • 月度变化趋势
    • 低于70%的月份及原因
  • 满意度
    • 平均值:[X%]
    • 与一次解决率的关联性
    • 与等待时长的关联性

⑤ 呼出业务分析(如有数据)

  • 呼出量趋势
  • 呼出接通率
  • 呼出业务类型分析

⑥ 综合分析

  • 热线服务整体健康度评估
  • 主要问题点识别
  • 改进优先级建议

2.3 问题识别与改进建议

发现的问题:

  1. [接通率问题:X月接通率仅X%,可能原因...]
  2. [等待时长问题:X月等待时间达X秒...]
  3. [一次解决率问题:平均解决率X%,低于行业标准...]

改进建议:

  1. [针对接通率问题的建议:增加坐席/引入语音机器人]
  2. [针对等待时长的建议]
  3. [针对一次解决率的建议:加强培训/完善知识库]

三、机器人数据分析

3.1 原始数据表格

⚠️ 强制性要求:必须完整呈现机器人服务的所有原始数据,包括Excel中的每一行数据和所有字段!

展示要求:

  • ✅ 必须包含所有月份的数据行(从Excel读取的每一行)
  • ✅ 必须在最后一行显示平均值(计算所有月份的平均值)
  • ✅ 表格字段必须完整:月份、总会话量、有效会话量、无效会话量、有效会话解决量、转人工量、解决率、匹配率
  • ❌ 严禁只展示表头或示例数据
月份 总会话量 有效会话量 无效会话量 有效会话解决量 转人工量 解决率 匹配率
[从Excel读取的完整数据,逐行展示所有月份]
例如:2025-01 89,450 76,230 13,220 58,456 17,774 76.7% 82.3%
例如:2025-02 92,180 78,950 13,230 61,183 17,767 77.5% 83.1%
... ... ... ... ... ... ... ...
平均值 [计算平均值] [计算平均值] [计算平均值] [计算平均值] [计算平均值] [计算平均值] [计算平均值]

3.2 数据分析

基于上述原始数据,从以下维度展开深入分析(客观呈现数据):

① 总会话量分析

  • 整体规模:月均[X]通,是人工客服的[X倍]
  • 趋势变化
    • 各月详细数据
    • 高峰月份:[列出具体月份和数值]
    • 低谷月份:[列出具体月份和数值]
  • 业务关联:机器人会话量与业务周期的关系

② 有效会话分析

  • 有效会话占比:[X%](有效会话量/总会话量)
  • 无效会话分析
    • 占比:[X%]
    • 月均无效会话量:[X]通
    • 无效会话率高的月份及原因
  • 有效会话质量
    • 有效会话解决率:[X%]
    • 未解决的有效会话去向分析

③ 解决率深度分析

  • 整体水平:平均[X%]
  • 月度分布
    • 各月解决率详细数据
    • 最高月份:[X月,X%]
    • 最低月份:[X月,X%]
  • 影响因素
    • 解决率与会话量的关系
    • 解决率与匹配率的关系
    • 解决率与无效会话率的关系

④ 匹配率分析

  • 识别能力:平均匹配率[X%]
  • 月度稳定性
    • 各月匹配率数据
    • 波动情况分析
  • 匹配失败原因:分析无法匹配的场景类型

⑤ 转人工压力分析

  • 转人工规模:月均[X]通
  • 转人工率:[X%](转人工量/有效会话量)
  • 转人工原因分析
    • 机器人无法解决的场景
    • 用户主动要求转人工的情况
  • 高负载月份:转人工量超过平均值的月份

⑥ 机器人效能评估

  • 机器人拦截率:[X%]
  • 机器人独立解决率:[X%]
  • 人机协作效率评估

四、人工会话分析

基于机器人转人工的会话记录,深度分析场景和痛点:

4.1 问题场景分析

问题类型 核心痛点 具体场景 简要分析
[问题类型1] [用户在该场景下遇到的核心痛点,如"时间冲突无法上课"、"对课程不满意想退费"等] [描述具体场景:用户在什么情况下遇到这个问题,如"用户购买课程后发现时间冲突,需要调整上课时间"] [分析:为什么这个问题会转人工?当前机器人为什么解决不了?人工处理需要哪些步骤?]
[问题类型2] [核心痛点] [具体场景] [简要分析]
[问题类型3] [核心痛点] [具体场景] [简要分析]
[问题类型4] [核心痛点] [具体场景] [简要分析]
[问题类型5] [核心痛点] [具体场景] [简要分析]
[问题类型6] [核心痛点] [具体场景] [简要分析]
[问题类型7] [核心痛点] [具体场景] [简要分析]
[问题类型8] [核心痛点] [具体场景] [简要分析]

4.2 痛点深度分析

痛点1:[痛点名称,如"课程调整流程繁琐"]

  • 表现:用户需要调整课程时间/班级时,必须通过人工客服,平均处理时长[X]分钟
  • 影响:高峰期大量用户排队等待,客服压力大,用户体验差
  • 根因:缺乏自助调课系统,用户无法自主操作

痛点2:[痛点名称]

  • 表现
  • 影响
  • 根因

痛点3:[痛点名称]

  • 表现
  • 影响
  • 根因

五、大模型场景分析

5.1 Agent场景识别标准

可Agent化的场景特征:

  • ✅ 重复性高的问题(占比>5%的高频问题)
  • ✅ 需要多系统查询的场景(如订单查询、账户查询)
  • ✅ 标准化流程处理(如注销流程、退费流程)
  • ✅ 需要实时数据/知识支持(如权益查询、政策解答)
  • ✅ 情绪安抚+标准话术(如投诉安抚、等待安抚)

Agent能力范围:

  • ✅ 文本交互(多轮对话)
  • ✅ 工作流自动化(查询、填单、通知等)
  • ❌ 复杂情绪处理(需人工介入)
  • ❌ 高风险决策(需人工审核)

5.2 Agent可行场景列表

基于人工会话分析,识别以下Agent可解决的场景(根据实际数据灵活识别,不预设固定类别):

场景名称 场景描述 能解决什么问题 为什么适合Agent化 优先级
[场景1:根据实际数据识别] [基于转人工会话数据中的高频问题描述具体场景] 1. [解决的问题1]2. [解决的问题2]3. [解决的问题3] [分析该场景为什么适合Agent化,需说明:1. 流程标准化、规则明确;2. 可通过调取接口获取数据;3. 可通过文本交互完成服务] P0/P1/P2
[场景2:根据实际数据识别] [场景描述] 1. [问题1]2. [问题2]3. [问题3] [适合原因,需包含调取接口和文本交互能力说明] P0/P1/P2
[场景3:根据实际数据识别] [场景描述] 1. [问题1]2. [问题2]3. [问题3] [适合原因,需包含调取接口和文本交互能力说明] P0/P1/P2
[场景4:根据实际数据识别] [场景描述] 1. [问题1]2. [问题2]3. [问题3] [适合原因,需包含调取接口和文本交互能力说明] P0/P1/P2
[场景5:根据实际数据识别] [场景描述] 1. [问题1]2. [问题2]3. [问题3] [适合原因,需包含调取接口和文本交互能力说明] P0/P1/P2

Agent能力范围说明:

  • ✅ 调取接口:通过API查询数据、提交申请、获取信息
  • ✅ 文本交互:多轮对话、信息收集、标准话术回复
  • ❌ 发送消息:不能主动发送短信/邮件/推送
  • ❌ 复杂判断:不能处理需要人工经验判断的复杂场景

场景识别原则:

  • 根据转人工会话数据中的实际问题类型灵活识别
  • 不预设固定类别(如查询类、调整类等)
  • 重点分析占比高、流程标准化、适合自动化的场景
  • 每个场景必须说明为什么适合Agent化(数据支撑、流程特点、技术可行性,必须包含调取接口和文本交互能力说明)

5.3 场景详细说明(HTML卡片格式)

HTML结构规范:

<div class="scenario-grid">
    <div class="scenario-card">
        <div class="scenario-header">
            <div class="scenario-num">1</div>
            <div class="scenario-title">[Agent名称]</div>
        </div>
        <div class="scenario-content">
            <p><strong>适用场景:</strong>[场景类型]</p>
            <p><strong>Agent化原因:</strong>[为什么适合Agent化,需说明可调取接口和文本交互能力]</p>
            <p><strong>实现方式:</strong>[具体实现方式,如"调取XX接口 + 基于大模型的XX能力 + 自然语言交互"]</p>
            <p><strong>预期效果:</strong>[预期解决率或人工介入减少比例]</p>
        </div>
    </div>
    
    <!-- 重复8个场景卡片 -->
</div>

内容格式要求:

  • 适用场景:对应人工会话分析中的问题类型
  • Agent化原因:必须说明可调取接口获取数据 + 可通过文本交互完成服务
  • 实现方式:列出需要对接的接口和核心能力
  • 预期效果:量化的效果预期(如"人工介入减少60%")

场景1:[场景名称]

Agent卡片内容:

  • 适用场景:[场景类型]
  • Agent化原因:[详细说明为什么适合Agent化,必须包含:1. 可调取XX接口获取实时数据;2. 可通过文本交互完成服务]
  • 实现方式:[调取XX接口 + XX能力 + 自然语言交互]
  • 预期效果:[XX%自动化 或 人工介入减少XX%]

场景2:[场景名称]

[同上格式]

场景3-8:[场景名称]

[同上格式,共8个场景]

5.4 优先级判断规则

P0(高优先级):

  • 会话占比>5%
  • 解决难度低(标准化流程)
  • ROI高(节省人力明显)

P1(中优先级):

  • 会话占比2-5%
  • 需要一定系统集成
  • ROI中等

P2(低优先级):

  • 会话占比<2%
  • 解决难度高或风险高
  • ROI较低

六、提效分析

6.1 计算逻辑说明

核心原则:基于实际数据计算,不编造数据

在线机器人提效计算逻辑

步骤1:获取基座数据(从机器人数据Excel中读取)

  • 月均有效会话量 = 机器人数据表中"有效会话量"的平均值
  • 当前解决率 = 机器人数据表中"解决率"的平均值
  • 当前转人工量 = 机器人数据表中"转人工量"的平均值

步骤2:计算不同解决率下的效果

当前转人工率 = 100% - 当前解决率

目标解决率下的转人工率 = 100% - 目标解决率

减少的转人工会话量 = 月均有效会话量 × (当前转人工率 - 目标解决率下的转人工率)

预计节省人力 = 减少的转人工会话量 / 人均月处理量

预计年节省成本 = 预计节省人力 × BPO人均年薪

注意:在线机器人Agent拦截率最高按80%计算

热线大模型呼入机器人提效计算逻辑

步骤1:获取基座数据(从热线数据Excel中读取)

  • 月均总呼叫量 = 热线数据表中"总呼叫量"的平均值
  • 当前人工处理呼叫量 = 月均总呼叫量(假设当前全部由人工处理)

步骤2:计算不同拦截率下的效果

机器人拦截量 = 月均总呼叫量 × 目标拦截率

减少的人工呼叫量 = 机器人拦截量

预计节省人力 = 减少的人工呼叫量 / 人均月处理量

预计年节省成本 = 预计节省人力 × BPO人均年薪

注意:热线大模型呼入机器人拦截率最高按60%计算

6.2 参数设置

人效参数(需向客户确认):

  • 在线客服人数:[X]人(客户提供)
  • 热线客服人数:[X]人(客户提供,如有热线数据)

人均月处理量计算(自动计算,无需询问):

在线人均月处理量 = 在线会话量月度平均值 / 在线客服人数
热线人均月处理量 = 热线呼叫量月度平均值 / 热线客服人数

成本参数:

  • BPO人均年薪:7.8万元(取4-9.6万中间值)
  • 或根据实际城市水平调整

6.3 在线机器人效果测算(展现完整计算过程)

计算逻辑:以拦截率计算,拦截率 = 有效会话解决量 / 有效会话量

第一步:确定基座数据(从Excel读取)

• 月均有效会话量 = [从Excel读取,如76,587通]

• 当前拦截率 = [从Excel读取,如76.89%]

• 在线客服人数 = [客户提供,如10人]

• 当前转人工量 = 月均有效会话量 × (1 - 当前拦截率)

• 在线人均月处理量 = 在线会话量月度平均值 / 在线客服人数

第二步:计算目标拦截率下的效果(以80%为例)

• 目标拦截率 = 80%

• 目标转人工率 = 1 - 80% = 20%

• 目标转人工量 = 月均有效会话量 × 目标转人工率

• 减少的转人工量 = 当前转人工量 - 目标转人工量

• 预计节省人力 = 减少的转人工量 / 人均月处理量

• 预计年节省成本 = 预计节省人力 × BPO人均年薪

第三步:效果对比表

目标拦截率 转人工量 减少转人工量 节省人力 年节省成本
当前76.89% 17,698 - - -
目标80% 15,317 2,381 0.62人 4.84万

6.4 热线大模型呼入机器人效果测算(展现完整计算过程)

计算逻辑:以拦截率计算

第一步:确定基座数据(从Excel读取)

• 月均总呼叫量 = [从Excel读取,如25,019通]

• 热线客服人数 = [客户提供,如8人]

• 当前人工处理呼叫量 = 月均总呼叫量(100%人工)

• 热线人均月处理量 = 热线呼叫量月度平均值 / 热线客服人数

第二步:计算目标拦截率下的效果(以60%为例)

• 目标拦截率 = 60%

• 机器人解决量 = 月均总呼叫量 × 目标拦截率

• 转人工呼叫量 = 月均总呼叫量 - 机器人解决量

• 减少的人工呼叫量 = 当前人工处理呼叫量 - 转人工呼叫量

• 预计节省人力 = 减少的人工呼叫量 / 人均月处理量

• 预计年节省成本 = 预计节省人力 × BPO人均年薪

第三步:效果对比表

目标拦截率 机器人解决量 转人工量 减少人工量 节省人力 年节省成本
当前0% 0 25,019 - - -
目标60% 15,011 10,008 15,011 4.80人 37.44万

6.5 综合效果汇总(含完整计算过程)

推荐方案:在线80%解决率 + 热线60%拦截率

在线机器人部分(拦截率计算):

• 基座数据:

  • 月均有效会话量:76,587通
  • 当前拦截率:76.89%
  • 当前转人工量:17,698通/月
  • 人均月处理量:3,852通/人/月

• 目标设定:拦截率提升至80%

• 计算过程:

  • 目标转人工率 = 1 - 80% = 20%
  • 目标转人工量 = 76,587 × 20% = 15,317通/月
  • 减少转人工量 = 17,698 - 15,317 = 2,381通/月
  • 节省人力 = 2,381 ÷ 3,852 = 0.62人
  • 年节省成本 = 0.62 × 7.8万 = 4.84万元

热线大模型机器人部分(拦截率计算):

• 基座数据:

  • 月均总呼叫量:25,019通
  • 当前人工处理量:25,019通/月(100%人工)
  • 人均月处理量:3,127通/人/月

• 目标设定:拦截率达到60%

• 计算过程:

  • 机器人解决量 = 25,019 × 60% = 15,011通/月
  • 转人工呼叫量 = 25,019 - 15,011 = 10,008通/月
  • 减少人工量 = 25,019 - 10,008 = 15,011通/月
  • 节省人力 = 15,011 ÷ 3,127 = 4.80人
  • 年节省成本 = 4.80 × 7.8万 = 37.44万元

效果汇总表:

项目 在线机器人 热线大模型机器人 合计
当前月均处理量 76,587通 25,019通 101,606通
目标拦截率 80% 60% -
预计减少人工处理量 2,381通/月 15,011通/月 17,392通/月
预计节省人力 0.62人 4.80人 5.42人
预计年节省成本 4.84万元 37.44万元 42.28万元

业务价值延伸:

  • 支持业务增长:节省的人力可支持业务增长约[X]%
  • 提升服务质量:释放的人力可专注于复杂问题和高价值客户
  • 业务连续性:AI Agent 可 7×24 小时服务,支持业务全天候运营

6.6 成本参考

人员类型 企业年支付总额 折算月均成本 说明
本类型正式员工(公司直聘) ¥85,200 - ¥147,600 ¥7,100 - ¥12,300 -
BPO员工(服务商提供) ¥60,000 - ¥96,000 ¥5,000 - ¥8,000 BPO模式的总成本通常比正式员工低约20%-40%

注: 该总额已包含薪资、社保、管理费、办公成本等所有企业支出。


使用流程

步骤1:收集客户业务信息

在接收数据文件之前,先了解客户的业务背景:

必需信息:

  1. 客户名称:[公司/品牌名称]
  2. 所属行业:[教育/电商/金融/游戏/企业服务/其他]
  3. 业务模式
    • B2C / B2B / B2B2C
    • 线上业务 / 线下业务 / 线上线下结合
  4. 主要产品/服务:[具体产品或服务类型]
  5. 用户群体特征:[C端消费者/B端企业客户/开发者等]
  6. 业务周期性(如有):[学期制/季节性/促销活动周期等]

业务信息用途:

  • 理解数据波动背后的业务原因(如教育行业的寒暑假、电商的大促周期)
  • 识别行业特有的客服场景和问题类型
  • 提供更有针对性的 Agent 场景建议
  • 分析时结合业务特点给出更精准的洞察

步骤2:接收数据文件

用户需提供以下Excel文件:

  1. 在线客服数据.xlsx
  2. 热线客服数据.xlsx(如有)
  3. 机器人数据.xlsx
  4. 机器人转人工会话.xlsx(用于场景挖掘)

步骤3:数据分析(结合业务视角)

  • 读取各Excel文件
  • 生成原始数据表格
  • 进行各维度分析时,结合业务背景解读数据:
    • 数据波动是否与业务周期相关(如教育行业的开学/放假、电商的促销节点)
    • 会话量变化是否反映业务增长或季节性因素
    • 用户问题类型是否与产品/服务特点相关
    • 高峰期是否与业务高峰期一致

步骤4:场景挖掘(结合业务场景)

  • 分析转人工会话
  • 结合行业特点和业务模式识别场景:
    • 教育行业:课程咨询、选课指导、学习进度查询、退费政策等
    • 电商行业:订单查询、物流跟踪、退换货、促销活动等
    • 金融行业:账户查询、产品咨询、风险评估、投诉处理等
    • 游戏行业:充值问题、账号安全、游戏攻略、活动咨询等
  • 识别Agent可解决场景
  • 生成场景表格和痛点总结

步骤5:大模型场景分析(结合业务需求)

  • 根据场景识别标准筛选可行场景
  • 结合业务目标制定Agent解决方案:
    • 针对业务痛点设计解决方案
    • 考虑业务增长目标(如提升转化率、降低流失率)
    • 结合用户旅程设计服务触点
  • 确定优先级

步骤6:提效计算

  • 询问用户客服人数
  • 按照不同拦截率计算效果
  • 计算人效提升和成本节省
  • 结合业务规模给出 ROI 分析(如:节省的人力可支持业务增长多少)

步骤7:生成报告

输出两份报告:

7.1 先生成 Markdown 格式报告

  • 整合所有内容
  • 按七个一级标题结构输出(0-6)
  • 以 Markdown 格式展示,便于用户快速预览和阅读
  • 包含完整的数据表格和分析内容
  • 在报告开头添加【业务背景】章节,说明客户业务信息
  • 文件命名格式:QBR报告_[客户名称]_[年月].md
  • 保存到 workspace 目录

7.2 再生成 HTML 文档(便于分享和展示)并自动发送

⚠️ 强制性要求:HTML 报告生成后必须自动发送给发起请求的用户,无需用户再次询问!

发送流程:

  1. 生成 HTML 文件并保存到 workspace
  2. 使用 POPO 文件发送功能,将 HTML 文件发送给发起请求的用户
  3. 发送完成后告知用户文件已发送

发送脚本示例:

// 读取 POPO 配置并发送文件
const config = JSON.parse(await readFile(process.env.HOME + '/.openclaw/openclaw.json', 'utf-8'));
const popo = config.channels['moltbot-popo'];
// ... 获取 token、注册文件、上传、发送

注意:严禁出现报告生成后让用户主动索要文件的情况!

HTML报告格式规范(标准模板):

采用现代化的紫色渐变设计风格,确保专业美观:

CSS样式规范(严格按照以下样式生成):

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', sans-serif;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    min-height: 100vh;
    color: #333;
}

/* 导航栏 */
.navbar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    box-shadow: 0 2px 20px rgba(0,0,0,0.1);
    z-index: 1000;
    padding: 0 20px;
}

.nav-container {
    max-width: 1400px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 60px;
}

.nav-logo {
    font-size: 20px;
    font-weight: 700;
    color: #667eea;
}

.nav-links {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.nav-links a {
    text-decoration: none;
    color: #555;
    font-size: 13px;
    padding: 6px 12px;
    border-radius: 20px;
    transition: all 0.3s;
    white-space: nowrap;
}

.nav-links a:hover {
    background: #667eea;
    color: white;
}

/* 主容器 */
.main-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 100px 20px 40px;
}

/* 报告头部 */
.report-header {
    background: white;
    border-radius: 20px;
    padding: 40px;
    margin-bottom: 30px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.1);
    text-align: center;
}

.report-header h1 {
    font-size: 32px;
    color: #333;
    margin-bottom: 10px;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.report-header .subtitle {
    font-size: 18px;
    color: #666;
    margin-bottom: 20px;
}

/* 内容区块 */
.section {
    background: white;
    border-radius: 20px;
    padding: 40px;
    margin-bottom: 30px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.1);
}

.section-header {
    display: flex;
    align-items: center;
    margin-bottom: 30px;
    padding-bottom: 20px;
    border-bottom: 2px solid #f0f0f0;
}

.section-number {
    width: 50px;
    height: 50px;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 24px;
    font-weight: 700;
    margin-right: 20px;
}

.section-title {
    font-size: 24px;
    color: #333;
}

/* 数据卡片 */
.data-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 20px;
    margin-bottom: 30px;
}

.data-card {
    background: linear-gradient(135deg, #f5f7fa 0%, #e4e8ec 100%);
    border-radius: 16px;
    padding: 25px;
    text-align: center;
    transition: transform 0.3s, box-shadow 0.3s;
}

.data-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(102, 126, 234, 0.2);
}

.data-card .value {
    font-size: 28px;
    font-weight: 700;
    color: #667eea;
    margin-bottom: 5px;
}

.data-card .label {
    font-size: 14px;
    color: #666;
}

/* 表格样式 */
.data-table-container {
    overflow-x: auto;
    margin-bottom: 30px;
}

.data-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.data-table th {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    padding: 15px;
    text-align: left;
    font-weight: 600;
}

.data-table th:first-child {
    border-radius: 10px 0 0 0;
}

.data-table th:last-child {
    border-radius: 0 10px 0 0;
}

.data-table td {
    padding: 15px;
    border-bottom: 1px solid #eee;
}

.data-table tr:nth-child(even) {
    background: #f8f9fa;
}

.data-table tr:hover {
    background: #f0f4ff;
}

.data-table .highlight {
    font-weight: 600;
    color: #667eea;
}

/* 分析文本 */
.analysis-text {
    background: #f8f9fa;
    border-left: 4px solid #667eea;
    padding: 20px 25px;
    border-radius: 0 10px 10px 0;
    margin-bottom: 25px;
}

.analysis-text h4 {
    color: #667eea;
    margin-bottom: 10px;
    font-size: 16px;
}

/* 场景卡片 */
.scenario-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 20px;
}

.scenario-card {
    background: #f8f9fa;
    border-radius: 16px;
    padding: 25px;
    border: 1px solid #e9ecef;
    transition: all 0.3s;
}

.scenario-card:hover {
    border-color: #667eea;
    box-shadow: 0 5px 20px rgba(102, 126, 234, 0.1);
}

.scenario-card h4 {
    color: #667eea;
    margin-bottom: 15px;
    font-size: 16px;
}

/* 场景卡片头部 */
.scenario-header {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
}

.scenario-num {
    width: 32px;
    height: 32px;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 16px;
    font-weight: 700;
    margin-right: 12px;
    flex-shrink: 0;
}

.scenario-title {
    font-size: 16px;
    font-weight: 600;
    color: #333;
}

.scenario-content p {
    margin-bottom: 10px;
    font-size: 14px;
    line-height: 1.6;
    color: #555;
}

.scenario-content strong {
    color: #667eea;
}

/* 计算过程展示 */
.calc-box {
    background: #f8f9fa;
    border-radius: 12px;
    padding: 25px;
    margin: 20px 0;
    border-left: 4px solid #667eea;
}

.calc-box h4 {
    color: #667eea;
    margin-bottom: 15px;
}

.calc-box .calc-item {
    margin-bottom: 10px;
    font-family: 'Courier New', monospace;
    font-size: 14px;
}

/* 方案对比卡片 */
.solution-comparison {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 25px;
    margin: 30px 0;
}

.solution-card {
    background: white;
    border-radius: 16px;
    padding: 30px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
    border: 2px solid #e9ecef;
    transition: all 0.3s;
}

.solution-card:hover {
    border-color: #667eea;
    box-shadow: 0 8px 30px rgba(102, 126, 234, 0.15);
}

.solution-card h3 {
    font-size: 20px;
    color: #333;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.solution-target {
    background: #f8f9fa;
    border-radius: 10px;
    padding: 15px;
    margin-bottom: 20px;
}

.solution-target .label {
    font-size: 12px;
    color: #999;
    margin-bottom: 5px;
}

.solution-target .value {
    font-size: 16px;
    font-weight: 600;
    color: #667eea;
}

.result-item {
    display: flex;
    justify-content: space-between;
    padding: 12px 0;
    border-bottom: 1px solid #eee;
}

.result-item:last-child {
    border-bottom: none;
}

.result-item .label {
    color: #666;
    font-size: 14px;
}

.result-item .value {
    font-weight: 600;
    color: #333;
    font-size: 16px;
}

.scheme-card {
    background: white;
    border-radius: 16px;
    padding: 25px;
    margin: 20px 0;
    box-shadow: 0 4px 15px rgba(0,0,0,0.08);
    border: 2px solid #667eea;
}

.scheme-card.recommended {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
}

/* 推荐标签 */
.recommend-badge {
    display: inline-block;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    padding: 6px 16px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
}

/* 计算过程展示 */
.calculation-box {
    background: white;
    border-radius: 16px;
    padding: 30px;
    margin: 30px 0;
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
}

.calculation-box h4 {
    color: #667eea;
    margin-bottom: 20px;
    font-size: 18px;
}

.calc-step {
    margin-bottom: 25px;
    padding-bottom: 20px;
    border-bottom: 1px solid #eee;
}

.calc-step:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.step-title {
    font-weight: 600;
    color: #333;
    margin-bottom: 12px;
    font-size: 15px;
}

.formula {
    font-family: 'Courier New', monospace;
    font-size: 14px;
    color: #555;
    margin-bottom: 8px;
    padding: 8px 12px;
    background: #f8f9fa;
    border-radius: 6px;
}

.calc-step .result {
    font-weight: 600;
    color: #667eea;
    font-size: 15px;
    margin-top: 10px;
    padding: 10px;
    background: linear-gradient(135deg, #f0f4ff 0%, #e8edff 100%);
    border-radius: 8px;
    border-left: 4px solid #667eea;
}

/* 总结框 */
.summary-box {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    border-radius: 16px;
    padding: 40px;
    margin-top: 30px;
    text-align: center;
    color: white;
}

.summary-box h3 {
    font-size: 20px;
    margin-bottom: 15px;
    opacity: 0.9;
}

.big-number {
    font-size: 48px;
    font-weight: 700;
    margin-bottom: 15px;
}

.summary-text {
    font-size: 14px;
    line-height: 1.8;
    opacity: 0.9;
    max-width: 600px;
    margin: 0 auto;
}

HTML结构规范(严格按照以下结构生成):

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>QBR报告 - [客户名称] [年月]</title>
    <style>[上述CSS样式]</style>
</head>
<body>
    <!-- 导航栏 -->
    <nav class="navbar">
        <div class="nav-container">
            <div class="nav-logo">QBR报告</div>
            <div class="nav-links">
                <a href="#section0">业务背景</a>
                <a href="#section1">在线数据</a>
                <a href="#section2">热线数据</a>
                <a href="#section3">机器人数据</a>
                <a href="#section4">人工会话</a>
                <a href="#section5">大模型场景</a>
                <a href="#section6">提效分析</a>
            </div>
        </div>
    </nav>

    <!-- 主容器 -->
    <div class="main-container">
        <!-- 报告头部 -->
        <header class="report-header">
            <h1>客服业务回顾报告</h1>
            <div class="subtitle">[客户名称] | [报告周期]</div>
        </header>

        <!-- 第0部分:业务背景 -->
        <section class="section" id="section0">
            <div class="section-header">
                <div class="section-number">0</div>
                <div class="section-title">业务背景</div>
            </div>
            <!-- 内容 -->
        </section>

        <!-- 第1部分:在线数据分析 -->
        <section class="section" id="section1">
            <div class="section-header">
                <div class="section-number">1</div>
                <div class="section-title">在线数据分析</div>
            </div>
            <div class="data-table-container">
                <table class="data-table">
                    <thead>[表头]</thead>
                    <tbody>[所有月份数据行 + 平均值行]</tbody>
                </table>
            </div>
            <!-- 分析内容 -->
        </section>

        <!-- 第2部分:热线数据分析 -->
        <section class="section" id="section2">
            <div class="section-header">
                <div class="section-number">2</div>
                <div class="section-title">热线数据分析</div>
            </div>
            <div class="data-table-container">
                <table class="data-table">
                    <thead>[表头]</thead>
                    <tbody>[所有月份数据行 + 平均值行]</tbody>
                </table>
            </div>
            <!-- 分析内容 -->
        </section>

        <!-- 第3部分:机器人数据分析 -->
        <section class="section" id="section3">
            <div class="section-header">
                <div class="section-number">3</div>
                <div class="section-title">机器人数据分析</div>
            </div>
            <div class="data-table-container">
                <table class="data-table">
                    <thead>[表头]</thead>
                    <tbody>[所有月份数据行 + 平均值行]</tbody>
                </table>
            </div>
            <!-- 分析内容 -->
        </section>

        <!-- 第4部分:人工会话分析 -->
        <section class="section" id="section4">
            <div class="section-header">
                <div class="section-number">4</div>
                <div class="section-title">人工会话分析</div>
            </div>
            <div class="scenario-grid">
                <!-- 场景卡片 -->
            </div>
        </section>

        <!-- 第5部分:大模型场景分析 -->
        <section class="section" id="section5">
            <div class="section-header">
                <div class="section-number">5</div>
                <div class="section-title">
                    大模型场景分析
                    <small>LLM Agent Application Scenario Analysis</small>
                </div>
            </div>
            
            <div class="analysis-text">
                <h4>🤖 Agent能力说明</h4>
                <p>基于大模型技术的AI Agent具备以下核心能力:</p>
                <ul>
                    <li><strong>调取接口</strong>:可对接业务系统API,实时查询订单、课程、学习进度等数据</li>
                    <li><strong>文本交互</strong>:支持自然语言理解,进行多轮对话,提供个性化回复</li>
                    <li><strong>限制说明</strong>:当前Agent能力不包含主动发送消息(如短信、推送),仅支持被动响应</li>
                </ul>
            </div>
            
            <div class="scenario-grid">
                <!-- 8个场景卡片,每个卡片包含:scenario-header + scenario-content -->
                <!-- 适用场景、Agent化原因、实现方式、预期效果 -->
            </div>
            
            <div class="analysis-text">
                <h4>💡 Agent化实施建议</h4>
                <ul>
                    <li><strong>优先级排序</strong>:建议优先实施纯数据查询类Agent</li>
                    <li><strong>接口准备</strong>:需梳理现有系统接口,对于缺失的接口需评估开发成本</li>
                    <li><strong>人机协作</strong>:Agent处理不了的复杂场景需平滑转人工</li>
                    <li><strong>持续优化</strong>:通过会话数据分析持续优化Agent识别率和解决率</li>
                </ul>
            </div>
        </section>

        <!-- 第6部分:提效分析 -->
        <section class="section" id="section6">
            <div class="section-header">
                <div class="section-number">6</div>
                <div class="section-title">
                    提效分析
                    <small>Efficiency Improvement Analysis</small>
                </div>
            </div>
            
            <div class="solution-comparison">
                <div class="solution-card solution-1">
                    <h3>方案一:[方案名称]</h3>
                    <div class="solution-target">
                        <div class="label">目标设定</div>
                        <div class="value">在线拦截率[X]% + 热线拦截率[X]%</div>
                    </div>
                    <div class="result-item">
                        <span class="label">节省人力</span>
                        <span class="value">[X]人</span>
                    </div>
                    <div class="result-item">
                        <span class="label">年节省成本</span>
                        <span class="value">[X]万元</span>
                    </div>
                    <div class="result-item">
                        <span class="label">投资回报周期</span>
                        <span class="value">约[X]个月</span>
                    </div>
                </div>
                
                <div class="solution-card solution-2">
                    <h3>方案二:[方案名称] <span class="recommend-badge">推荐</span></h3>
                    <div class="solution-target">
                        <div class="label">目标设定</div>
                        <div class="value">在线拦截率[X]% + 热线拦截率[X]%</div>
                    </div>
                    <div class="result-item">
                        <span class="label">节省人力</span>
                        <span class="value">[X]人</span>
                    </div>
                    <div class="result-item">
                        <span class="label">年节省成本</span>
                        <span class="value">[X]万元</span>
                    </div>
                    <div class="result-item">
                        <span class="label">投资回报周期</span>
                        <span class="value">约[X]个月</span>
                    </div>
                </div>
            </div>
            
            <div class="calculation-box">
                <h4>📐 计算过程详解</h4>
                
                <div class="calc-step">
                    <div class="step-title">【基础数据】</div>
                    <div class="formula">在线月均会话量 = [X] 通/月</div>
                    <div class="formula">热线月均呼入量 = [X] 通/月</div>
                    <div class="formula">当前在线客服 = [X]人,热线客服 = [X]人</div>
                    <div class="formula">BPO人均年薪 = [X]万元</div>
                    <div class="formula">在线人均月处理量 = [X]通/人/月</div>
                    <div class="formula">热线人均月处理量 = [X]通/人/月</div>
                </div>
                
                <div class="calc-step">
                    <div class="step-title">【方案一计算】在线[X]%拦截 + 热线[X]%拦截</div>
                    <div class="formula">1. 在线人工处理量 = [X] × (1-[X]%) = [X] 通/月</div>
                    <div class="formula">2. 在线所需人力 = [X] ÷ [X] = [X] 人</div>
                    <div class="formula">3. 在线节省人力 = [X] - [X] = [X] 人</div>
                    <div class="formula">4. 热线人工处理量 = [X] × (1-[X]%) = [X] 通/月</div>
                    <div class="formula">5. 热线所需人力 = [X] ÷ [X] = [X] 人</div>
                    <div class="formula">6. 热线节省人力 = [X] - [X] = [X] 人</div>
                    <div class="formula">7. 总节省人力 = [X] 人</div>
                    <div class="result">年节省成本 = [X] × [X] = [X] 万元</div>
                </div>
                
                <div class="calc-step">
                    <div class="step-title">【方案二计算】在线[X]%拦截 + 热线[X]%拦截</div>
                    <div class="formula">[同上格式]</div>
                    <div class="result">年节省成本 = [X] 万元</div>
                </div>
                
                <div class="calc-step">
                    <div class="step-title">【方案对比总结】</div>
                    <div class="formula">方案一 vs 方案二:多节省 [X]人,多节省 [X]万元/年</div>
                    <div class="formula">方案二额外投入:[说明]</div>
                    <div class="result">推荐方案[一/二],[原因说明]</div>
                </div>
            </div>
            
            <div class="analysis-text">
                <h4>📊 实施路径建议</h4>
                <ul>
                    <li><strong>第一阶段(1-2月)</strong>:[具体实施内容]</li>
                    <li><strong>第二阶段(3-4月)</strong>:[具体实施内容]</li>
                    <li><strong>第三阶段(5-6月)</strong>:[具体实施内容]</li>
                    <li><strong>持续优化</strong>:[优化方向]</li>
                </ul>
            </div>
            
            <div class="summary-box">
                <h3>💰 年度节省预估</h3>
                <div class="big-number">[X]万元</div>
                <div class="summary-text">
                    [总结性描述,说明通过实施AI Agent方案可节省的成本和价值]
                </div>
            </div>
        </section>
        
        <!-- 报告结尾 -->
        <div class="report-header" style="margin-top: 40px;">
            <div class="subtitle">— 报告结束 —</div>
            <p style="color: #999; font-size: 14px; margin-top: 15px;">本报告基于[时间段]运营数据分析生成,仅供参考</p>
        </div>
    </div>
</body>
</html>

报告必须包含的7个部分:

  1. 业务背景(section-number: 0)
  2. 在线数据分析(section-number: 1,必须包含完整原始数据表格)
  3. 热线数据分析(section-number: 2,必须包含完整原始数据表格)
  4. 机器人数据分析(section-number: 3,必须包含完整原始数据表格)
  5. 人工会话分析(section-number: 4,scenario-grid布局)
  6. 大模型场景分析(section-number: 5,scenario-grid布局)
  7. 提效分析(section-number: 6,calc-box + scheme-card)
  • 文件命名格式:QBR报告_[客户名称]_[年月].html
  • 保存到 workspace 目录
  • 告知用户 HTML 文件路径

注意:不再生成 Word 文档,仅提供 Markdown 和 HTML 两种格式。


注意事项

  1. 数据隐私:处理客户数据时注意保密
  2. 准确性:计算人效时必须基于Excel中的实际数据,严禁编造数据
  3. 时效性:BPO成本数据需根据实际情况调整
  4. 专业性:报告语言专业、客观、有说服力
  5. 可操作性:建议需具体可执行
  6. 拦截率上限
    • 在线机器人Agent拦截率**最高按80%**计算
    • 热线大模型呼入机器人拦截率**最高按60%**计算
  7. 数据展示(强制性)
    • ✅ 所有数据分析模块(在线、热线、机器人)必须先展示完整原始数据表格
    • ✅ 原始数据表格必须包含Excel中的所有月份所有字段
    • ✅ 必须在表格最后一行显示平均值
    • 严禁只展示表头或示例数据!
  8. 文件发送(强制性)
    • ✅ HTML 报告生成后必须自动发送给发起请求的用户
    • ✅ 使用 POPO 文件发送功能
    • 严禁让用户主动索要文件!
    • 严禁出现"文件已生成,请查看"但不发送的情况!

文档生成指南

Markdown 文档生成

直接生成 Markdown 格式报告,包含:

  1. 标题信息:报告标题、客户名称、报告周期、生成日期
  2. 正文内容:七个一级标题模块(0-6)
  3. 格式规范
    • 使用 Markdown 标准语法
    • 表格使用管道符格式
    • 列表使用标准列表语法
    • 强调使用加粗和斜体

HTML 文档生成

使用 HTML 生成美观的网页版报告,采用紫色渐变设计风格:

设计规范:

  • 配色方案:紫色渐变主色调(#667eea → #764ba2)
  • 布局风格:现代化卡片式设计,圆角边框,柔和阴影
  • 导航栏:固定顶部,毛玻璃效果(backdrop-filter),圆角链接
  • 数据展示
    • 核心指标使用渐变文字效果
    • 数据卡片带顶部彩色边框
    • 表格表头使用渐变背景
  • 内容区块:白色背景卡片,圆角20px,柔和阴影
  • 场景展示:使用场景卡片网格布局,左侧彩色边框
  • 计算过程:使用高亮代码框展示
  • 响应式设计:适配PC和移动端

必须包含的元素:

  1. 固定导航栏(7个章节链接)
  2. 报告头部(标题+副标题+4个核心指标卡片)
  3. 7个section-card内容区块
  4. 原始数据表格(必须包含完整数据,不能只有表头)
    • 在线客服数据表格:包含所有月份的所有字段(总会话量、首次响应时间、响应时间、会话时长、满意度、排队量、排队时长)
    • 热线客服数据表格:包含所有月份的所有字段(呼入量、接通率、排队量、排队时长、通话时长、解决率、满意率)
    • 机器人数据表格:包含所有月份的所有字段(总会话量、有效会话量、有效会话解决量、解决率、匹配率)
    • 必须在表格最后一行显示平均值
  5. 场景卡片网格(人工会话+大模型场景)
  6. 计算过程展示(calc-box)
  7. 方案对比卡片(scheme-card)

原始数据表格生成要求(强制性):

  • ✅ 使用 <table> 标签,class="data-table"
  • ✅ 表头使用 <thead><th>,带渐变背景
  • ✅ 数据行使用 <tbody><td>
  • 必须循环读取Excel中的每一行数据,生成对应的 <tr>,严禁只生成表头!
  • 必须包含所有月份的数据,不能遗漏任何一行!
  • 平均值行必须使用粗体和特殊背景色突出显示
  • ✅ 表格必须带悬停效果(tr:hover)
  • 严禁只展示表头或示例数据,必须展示完整真实数据!

技术实现:

  • 使用原生 HTML5 + CSS3
  • 采用CSS Grid和Flexbox布局
  • 使用CSS渐变、阴影、圆角等现代特性
  • 无需外部依赖,纯原生实现
  • 使用 CSS Grid/Flexbox 进行布局
  • 添加平滑滚动和锚点定位

输出流程(强制性)

步骤1:生成 Markdown 格式报告

  • 整合所有内容,按七个一级标题结构输出
  • 保存到 workspace 目录
  • 文件命名:QBR报告_[客户名称]_[年月].md

步骤2:生成 HTML 文档

  • 使用标准紫色渐变样式(#667eea → #764ba2)
  • 包含完整的原始数据表格(所有月份数据)
  • 保存到 workspace 目录
  • 文件命名:QBR报告_[客户名称]_[年月].html

步骤3:自动发送 HTML 文件(⚠️ 必须执行)

  • 严禁跳过此步骤!
  • 使用 POPO 文件发送功能,将 HTML 文件发送给发起请求的用户
  • 发送脚本参考 AGENTS.md 中的"发送文件到 POPO"章节
  • 发送完成后告知用户:"HTML 报告已生成并发送至您的 POPO,请查收。"

注意:

  • 仅生成 Markdown 和 HTML 两种格式,不再生成 Word 文档
  • HTML 文件必须自动发送,严禁让用户主动索要!
Installs
2
First Seen
Apr 21, 2026