实验报告生成工作流(lab-report-workflow)
一句话:给实验主题 + 原始数据,按七阶段流水线产出一份格式规范、可提交的实验报告。 核心纪律:不编造数据、文献与结论——缺什么就在报告头部挂"待确认清单",让用户补。
触发场景
- "帮我写 XX 实验报告 / 预习报告"
- "根据这些数据出一份实验报告"
- "把我的实验记录整理成报告"
- 同时出现【实验报告 + 主题/数据/模板】的组合即触发
调用参数(占位符表)
调用时向用户收集;标 ★ 的有缺省值,用户没给的写入报告头部"待确认清单",禁止用想象填充。
| 占位符 | 含义 | 缺省值 |
|---|---|---|
{{EXPERIMENT_NAME}} |
实验名称 | 必填,没有就先问 |
{{COURSE_TEACHER}} |
课程名 / 任课教师 | 待补充占位 |
{{EXP_DATE}} |
实验日期 | ★ 当前日期 |
{{DATA_PATHS}} |
原始数据文件路径(可多个) | 必填;没有则进"无数据模式"只出框架+空位标注 |
{{LENGTH_REQ}} |
字数 / 页数要求 | ★ 2000–3000 字 |
{{GRADING_RUBRIC}} |
评分标准 | ★ 正确性 40 / 处理过程 30 / 结果呈现 20 / 格式规范 10 |
{{TEMPLATE_PATH}} |
学校或课程模板文件路径 | ★ 无模板 → 使用内置骨架(templates/report_template.md) |
{{SOFTWARE_ENV}} |
实验软件环境(如 ArcGIS Pro 3.x、Python 3.12、MATLAB) | 按实验主题推断,需用户确认 |
交互约定:五处强制检查点
以下节点必须停下来向用户汇报并等确认,用户明说"继续/直接过"才可跳过;其余阶段连续推进:
- CP1 数据盘点后:汇报数据来源、行数/字段、量纲单位、缺失值与异常值处理方案 → 用户确认后才动数据
- CP2 关键假设与公式选定后:汇报所用公式、误差模型、有效数字位数约定
- CP3 中间处理结果出来后:展示结果表/图的摘要数字 → 确认后再进讨论章节
- CP4 结论草稿后:结论逐条过目(尤其"验证成功/失败/偏差超限"等定性措辞)
- CP5 终稿排版前:汇报模板匹配度自查结果与遗留"待确认清单"
分步执行清单(每步 = 输入 → 动作 → 输出 → 校验)
详细规程见 references/workflow.md,此处为概览:
- 阶段0 参数收集:按占位符表收集/确认参数;无数据时声明进入无数据模式
校验:
{{EXPERIMENT_NAME}}与{{DATA_PATHS}}至少一项明确 - 阶段1 实验预习:输入=主题/教材/讲义;动作=写实验目的(3–5 条动词开头)、原理(公式+符号表+适用条件)、器材(软硬件+数据清单)、步骤(编号、可复现);输出=预习章节 校验:每条目的有对应步骤支撑;公式有编号与符号说明
- 阶段2 原始数据记录:输入=
{{DATA_PATHS}};动作=读取盘点(行数/字段/单位/缺失/异常)、生成数据概况表;输出=原始数据记录表+概况说明 校验:与源文件逐项核对;只标注不修改原始值 - 阶段3 数据处理与计算:输入=阶段2数据;动作=按公式计算并保留中间量、误差分析(绝对/相对误差或不确定度)、统一有效数字与单位;输出=处理结果表 校验:单位量纲自洽;有效数字与仪器/数据精度匹配;关键数值可复算
- 阶段4 图表绘制与结果呈现:输入=处理结果;动作=按数据形态选图型、规范标注(轴名+单位+图号图题);输出=图表集+正文"如图N/表N所示"引用 校验:每图每表均被正文引用;编号全文连续;图题在图下、表题在表上
- 阶段5 结果讨论:输入=阶段3–4产物;动作=结果解释、与理论值/文献值对比、误差来源归类(系统/随机/过失)、改进建议;输出=讨论章节 校验:每个误差来源都能对应到数据中的具体现象,不写空话
- 阶段6 结论:输入=全篇;动作=写 3–5 条结论,回答实验目的、给出关键数值±不确定度;输出=结论章节 校验:不引入讨论章节没出现过的新结论、新数据
- 阶段7 排版交付:输入=全文+
{{TEMPLATE_PATH}};动作=套模板(封面/目录/页眉页脚/字体字号)、参考文献按 GB/T 7714、产出 docx;输出=可提交文件 校验:跑完references/checklist.md自查清单后再交付
docx 交付规范(软件操作类实验报告实战经验,GIS/ArcGIS Pro 等适用)
- 改前必备份:复制一份
*_操作前备份.docx,备份成功后才动手 - 正文处理优先走 tencent-docs-routing → 对应 docx skill;批量精确替换、插图题注可 lxml 直改
word/document.xml - 图片题注:
图N 说明格式,图片正下方、居中、宋体/Times New Roman、10.5pt、段前 3pt 段后 6pt;编号全文连续;封面装饰图不编号 - 标题导航:各级标题段落显式写
w:outlineLvl(0/1/2…),Word 导航窗格才会生效;正文段不得残留 outlineLvl - 参考文献条目、"操作指导见…"等非标题段若被误设 Heading,改回 Normal
- 批量替换时段落坐标:段落 index 直接映射,禁止再 ±1
- 实验步骤里的参数、工具路径、公式、字段名原样保留,文字优化只动措辞不动数值
- 题注命名分工:工具对话框图→"XX工具参数设置";成果图→"XX结果";数据展示→"XX数据概况/可视化结果"
文件结构(可维护约定)
| 文件 | 职责 | 什么时候改 |
|---|---|---|
SKILL.md |
触发、参数、清单概览、交互约定 | 增删阶段或检查点时 |
references/workflow.md |
七阶段详细规程 | 改流程细节 |
templates/report_template.md |
报告正文骨架(占位符) | 换学校/课程模板 |
references/format_rules.md |
有效数字、单位、误差、图表规范 | 课程有特殊格式要求 |
references/checklist.md |
常见错误自查清单 | 踩到新坑就补一条 |
原则:流程与模板分离——换模板只动 templates/,增删环节只动 references/workflow.md,SKILL.md 保持概览级不膨胀。