报告蒸馏技能 (Report Distillation)
概述
从指定文件夹中批量提取历史报告,智能识别报告类型,深度分析每类报告的撰写风格特征(词汇、句式、结构、逻辑模式),并为每种报告类型自动创建一个可复用的「撰写风格」技能。新生成的技能能够模仿原始报告的写作风格进行后续撰写和优化。
工作流程
整个蒸馏过程分为四个阶段,按顺序执行:
扫描提取 → 分类识别 → 风格蒸馏 → 技能生成
阶段一:扫描提取报告
目标:从用户指定的文件夹中提取所有可读的报告文件。
- 向用户确认报告文件夹的绝对路径。若用户未提供路径,主动询问。
- 使用
scripts/distill_report.py脚本的scan模式扫描目录:
python scripts/distill_report.py scan <报告文件夹路径> --output <临时输出目录>
脚本自动处理以下格式:
- .md / .txt:直接读取文本内容
- .docx:使用 python-docx 提取文本
- .pdf:使用 pdfplumber 提取文本
- 脚本输出扫描摘要,显示找到的报告数量和文件列表。
注意事项:
- 确保目标文件夹存在且包含至少 2 份报告(蒸馏需要足够的样本)
- 若文件数量过多(>50),建议先让用户确认范围或分批处理
- 提取内容时保留原始格式标记(标题层级、列表、加粗等)
阶段二:分类识别报告类型
目标:根据文件名自动识别和聚类报告类型。
- 脚本在
scan阶段会自动分析文件名,提取关键词并聚类:
分析逻辑:
- 去除文件名中的日期、编号等通用后缀
- 提取核心关键词(如"蚌埠市"、"国内旅游"、"满意度调查"等)
- 将相似关键词的文件归为同一报告类型
- 向用户展示分类结果,格式如下:
识别到以下报告类型:
1. 国内旅游报告(5份):蚌埠市国内旅游报告2025Q1.docx, 合肥市国内旅游报告2025Q2.docx, ...
2. 满意度调查报告(3份):合肥满意度调查报告2025.docx, ...
3. 文旅资讯汇总(2份):黄山文旅资讯2025-06.docx, ...
请确认分类是否正确,或手动调整。
- 允许用户手动调整分类(合并、拆分、重命名类型名)。
阶段三:风格蒸馏分析
目标:对每类报告进行深度风格分析。
- 运行脚本的
analyze模式:
python scripts/distill_report.py analyze <报告文件夹路径> --types <分类结果JSON> --output <分析输出目录>
- 脚本对每类报告进行以下维度的分析:
| 分析维度 | 具体内容 |
|---|---|
| 词汇特征 | 高频词汇(Top 50)、领域专有名词、常用修饰词、语气词 |
| 句式结构 | 平均句长、常用句式模板(如"从...来看,..."、"数据显示,...")、段落开头模式 |
| 篇章结构 | 章节标题模式、段落组织方式、开头/结尾套路 |
| 逻辑模式 | 因果推理表述("由于...因此...")、数据引用方式、论证层次 |
| 语气风格 | 正式度、客观性标记、情感色彩词、修辞手法 |
| 格式特征 | 标题层级使用习惯、列表偏好、表格使用频率、图表引用方式 |
- 脚本输出每类报告的详细分析报告(JSON + Markdown)。
阶段四:生成撰写风格技能
目标:为每种报告类型创建一个 {报告类型}撰写风格 技能。
-
基于分析结果,为每种报告类型生成一个技能,命名格式为
{报告类型}撰写风格,例如:
-国内旅游报告撰写风格
-满意度调查报告撰写风格
-文旅资讯汇总撰写风格 -
生成的技能存储在
~/.workbuddy/skills/{报告类型}撰写风格/下。 -
每个生成的技能包含以下文件结构:
{报告类型}撰写风格/
├── SKILL.md # 技能主文件:风格概述、触发条件、写作指南
├── references/
│ └── style_guide.md # 详细风格手册:词汇表、句式模板、结构模式
└── assets/
└── report_template.md # 报告模板:可直接填充内容的骨架模板
-
生成技能的 SKILL.md 必须包含:
- YAML 元数据:name、description(含触发词)、agent_created: true
- 风格概览:该类报告的总体写作风格描述
- 核心词汇库:高频词汇和常用表达的分类列表
- 句式模板:常用句式结构和典型表达
- 结构框架:报告的标准章节结构和每部分的写作要点
- 逻辑模式:论证方式、数据使用习惯、结论推导路径
- 写作禁忌:应避免的表述方式和风格误区
- 使用说明:如何调用该技能进行撰写和优化 -
生成完成后,向用户展示结果摘要:
蒸馏完成!已生成以下撰写风格技能:
✅ 国内旅游报告撰写风格(5份报告蒸馏,存于 ~/.workbuddy/skills/)
✅ 满意度调查报告撰写风格(3份报告蒸馏,存于 ~/.workbuddy/skills/)
✅ 文旅资讯汇总撰写风格(2份报告蒸馏,存于 ~/.workbuddy/skills/)
现在你可以通过以下方式使用这些技能:
- "用国内旅游报告的风格帮我写一份芜湖市的旅游分析报告"
- "检查这份报告是否符合满意度调查报告的写作风格"
- "帮我把这段分析改成文旅资讯汇总的语气"
使用指南
基本用法
用户说"帮我蒸馏一下这些报告的风格"或"从报告文件夹提取写作风格"时:
- 确认报告文件夹路径(如未提供则询问)
- 按工作流程四个阶段依次执行
- 在阶段二(分类)和阶段四(生成)前与用户确认
单类型蒸馏
当用户只关心某一种报告类型时,可以直接指定:
python scripts/distill_report.py analyze <文件夹路径> --type "国内旅游报告" --output <输出目录>
更新已有风格技能
当有新的报告加入时,可以增量更新已有的撰写风格技能:
python scripts/distill_report.py update <已有技能名> --new-reports <新报告文件夹> --output <输出目录>
此模式会将新报告的风格特征合并到已有技能中,而非覆盖。
脚本说明
scripts/distill_report.py
核心蒸馏脚本,支持以下子命令:
| 命令 | 用途 |
|---|---|
scan <folder> |
扫描文件夹,提取文本,初步分类 |
analyze <folder> |
深度分析报告风格特征 |
update <skill_name> |
用新报告更新已有风格技能 |
详细参数说明见 references/script_reference.md。
references/style_extraction_guide.md
风格提取方法论参考文档,定义了词汇、句式、结构、逻辑、语气五个维度的具体分析方法和评判标准。
references/skill_generation_template.md
生成撰写风格技能时使用的模板和规范,确保所有生成的技能格式统一、内容完整。
注意事项
- 蒸馏质量取决于样本数量,建议每种报告类型至少有 3 份以上的历史报告
- 报告格式越规范(标题、段落分明),蒸馏效果越好
- 生成的撰写风格技能是 AI 辅助工具,最终输出建议人工审阅
- 若报告包含敏感信息,建议先在本地脱敏处理后再进行蒸馏