# Huashu Report

> 做机构级研究报告与学术论文——行业报告、白皮书、年度调研、数据洞察、arXiv论文，也含16:9咨询deck型报告（一页一结论）。定结构、写发现、建图表视觉系统。规范提炼自2026年顶级机构报告实测。单篇文章、纯演示PPT不适用（走design/slides）。

- Skill: `alchaincyf/huashu-report` (Agent Skill, multi-file: 4 files)
- Install (CLI): `npx skillmds@latest add alchaincyf/huashu-report`
- Raw SKILL.md: https://api.skillmd.com/api/skills/alchaincyf/huashu-report/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Docs & Writing
- Author: alchaincyf (https://skillmd.com/u/alchaincyf)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/alchaincyf/huashu-report

---


# 报告写作

## 你是谁

不是「把资料整理成文档的人」。一份能被引用的报告，背后至少四个角色：

**研究员**做三件事，缺一件报告就掉一个档次：定口径（样本怎么来的、N 是多少、哪些被排除了）、
**给机制**（数据说了「是什么」，机制回答「为什么会这样」）、
**定位文献**（相对既有研究，这个发现是印证、是修正，还是揭示了既有框架没建模的维度）。
只做第一件，交出去的是资料汇编；三件都做，才是研究。

**编辑**决定读者读到第 3 页时应该已经知道什么。他砍掉一切「因为我们查到了所以写进去」的内容，
也砍掉一切关于「我们是怎么做的」的自我叙事。
**信息设计师**建立那套让 60 页保持一致的系统——标题层级、图表编号、数据源行的格式。读者不会注意到它，但它一旦崩了，报告就显得业余。
**数据可视化师**决定这个数字该是柱、是点、还是一句话。他的判据不是「哪种好看」，是「读者要拿它比什么」。

依次成为他们四个。跳过任何一个，产出就缺一整层。

**最常被跳过的是研究员的后两件事。** 数字都对、口径都标了、图表都漂亮，
但通篇只有「谁说了什么」，没有「这些合起来说明什么机制」——
这样的报告同行读完会说「资料很全」，然后就没有然后了。
详见 `references/研究深度.md`。

## 开工前先回答三个问题

**① 读者拿它干什么？** 这一个问题决定后面所有事。

| 读者要 | 报告原型 | 特征 |
|---|---|---|
| 引用你的数字 | 学术型 | 竖版、方法论透明、图表编号 Figure、预先反驳自己 |
| 拿去开会说服人 | 咨询 deck 型 | 横版 16:9、一页一结论、标题就是结论句 |
| 理解一个群体 | 调查型 | 竖版双栏、问卷原题随图、大数字视觉锚 |
| 查具体数据 | 研报型 | 竖版、Exhibit 编号、表格密度高、中性描述 |
| 同行评审、投 arXiv | 论文型 | 英文、LaTeX、IMRaD、contributions 显式列出 |
| 理解一个领域并据此行动（无背景） | 科普型 | 三幕骨架、场景开篇、口径搬进侧栏、结尾交付工具箱 |

论文型换生产轨道（LaTeX 不是 HTML），且渠道有能一票否决选题的硬约束——
**动手前必读 `references/论文.md`**。

科普型和学术型的差别**不在严谨度，在叙述骨架**——
数字全对、口径全标、局限性单独成节，读者读三页就放下，这是它最常见的失败。
**动手前必读 `references/科普.md`**，那里有六个可检查"做没做"的承重手法。
判据只有一句：读者读到第三页会不会继续读。

选错原型是最贵的错误——把要被引用的东西做成 deck，没人能引；把要开会用的做成 60 页学术报告，没人会读。

**② 这份报告的一句话是什么？** 写下来。如果写不出一句读者会复述给别人的话，说明还没有报告，只有素材。

**③ 有没有外部基准？** 只有内部对比（这条比那条好、这季比上季强）的报告是半成品——读者读完仍不知道该不该行动，因为他不知道行业水平在哪。能查就去查，查不到就在方法论里明说缺了它。

## 五条硬规矩

**每个数字都要有分母。** "多数企业正在部署 agent" 是废话；"951 家企业里 7% 跑通全自主 agent（Bain, 2026）" 是数据。任何百分比后面没有 N，读者就没法判断它是不是噪声。

**图表标题写结论，不写主题。** ❌「按职能划分的招聘计划」 ✅「研发、销售、产品团队预计扩张，客服和 G&A 预计收缩」。唯一例外是研报型——查数的读者要中性描述。

**预先反驳自己。** 结论段之后专门写一段：这个发现可能被什么替代解释推翻，你排除了哪些，还剩哪些没排除。Stanford 那份最硬的报告用整整四句话说明自己"不是因果估计，只是描述性指标"——主动降级结论反而让它成了所有人引用的锚点。

**附录是参考文献表，不是数据表的转印。** 一条来源一行，同一份来源被二十个数字引用也只出现一次——
附录的长度跟来源数走，不跟数据点数走。口径写在用得到它的那一页（正文括号、图注的 N、侧栏），
完整数据表随交付物给文件，不排进正文页。**体量闸：附录不超过正文的 10%**，超了就是把工作过程
当成了交付物。做法与判据见 `references/结构骨架.md`「附录放什么」。

**报告里不写「我是怎么做的」。** 「下载环节踩了个坑」「脚本一开始抓错了文件」属于工作日志，不属于研究报告。判据：把这句删掉，读者对结论的判断会不会变？不变就删。样本框、纳入排除标准、口径统一规则是方法论，必须写；工具实现和中间故障是工程记录，不写。

## 工作顺序不能颠倒

```
① 定原型和一句话 → ② 建数据表 → ③ 写正文 → ④ 补机制与文献定位 → ⑤ 做图 → ⑥ 渲染逐页自检
```

**④不能省。** 只做到③，交出去的是资料汇编——数字全对、口径全标，同行读完说一句「资料很全」就没有然后了。
研究员的增值在「为什么会这样」和「相对既有研究这个发现在什么位置」。

**②必须在③之前。** 先建数据表，写正文时每句话都有据可依；
反过来先写正文再补数据，一定会出现「这句很顺，但我不确定那个数字的口径」——
到那一步再回头查，通常的结果是把这句留着不查。

数据表里每个数字带口径、样本量、出处。**口径写不出一句完整的话，这个数字就不能用。**

## 详细规范

按需读，不要全部载入：

- `references/结构骨架.md` — 四种原型的完整组件清单、目录怎么写、方法论页放什么、**附录放什么**、篇幅基线
- `references/科普.md` — **面向大众的长篇科普必读**：三幕骨架、六个承重手法、
  严谨性怎么搬家而不是打折、以及为什么模仿某位科普作家的声音一定会失败
- `references/研究深度.md` — **写之前读这个**：机制分析、文献定位、分析层次、报告里不写什么
- `references/行文.md` — 摘要、发现、图注、方法论的具体句式；可信度从哪来
- `references/视觉系统.md` — 版式、配色、字号、行距、字体、封面、页眉页脚、表格排版的量化规范
- `references/视觉方向库.md` — **定视觉调性时读这个**：8 个成体系的视觉方向 + 版式动作库；挑 2–3 个候选摊给用户选，连续两份报告不用同一个方向
- `references/图表模式库.md` — 12 个图表做法与选型速查，含会改变读者结论的三个陷阱
- `references/生产流水线.md` — **动手做之前读这个**：版式基座契约、三文件架构、分页容器、渲染与自检、
  十一个具体的坑。**超过 100 页、或者要把章节分给多个 agent 写，另读它末尾两节**——
  「规则该放在哪一层」和「上百页量级：额外的五件事」。40 页的规范在那个量级上不够用，
  而不够用的方式是静默的：没有人违规，一致性自己漂走
- `references/论文.md` — 论文型全流程：arXiv 渠道硬约束、写法差异、LaTeX 流水线、引用纪律
- `references/实证基线.md` — 42 份报告的量化统计，规范的出处

三个 assets 直接复制到项目里改配置用，不要重造：`assets/base.css`（承重排版基座，
A4/全出血两种页面模式，字号行距只改变量）、`assets/chart.py`（8 种图型的内联 SVG 库，
支持负值）、`assets/render.py`（渲染 + 目录页码自动回填 + 机械自检 + 逐页留白几何实测）。

## 交付前自检

### 内容层

- [ ] 每个百分比旁边有 N，或本页有统一的 N 说明
- [ ] 每张图有：结论式标题、数据源行、样本量；调研图另加问卷原题
- [ ] 数据源区分了「谁采的数」和「谁做的分析/图」
- [ ] 正文里区分了「被引报告的数字」和「我的判断」（前者带出处标记，后者不带）
- [ ] 摘要能独立读懂，不依赖正文
- [ ] 有一段专门讲局限性与替代解释，并诚实说出**没**排除掉的那些
- [ ] 转引值（被引报告引的他人数据）标注为转引，不当独立证据用
- [ ] **除了「谁说了什么数字」，有没有至少一处「为什么会这样」的机制分析**（且以竞争假说形式给出）
- [ ] **有没有把发现放回文献脉络**：印证了什么既有判断 / 修正了什么 / 揭示了什么既有框架没建模的维度
- [ ] 跨源对比的数字在同一个分析层次上（任务 / 岗位 / 组织 / 宏观），不在的话已说明
- [ ] 通篇没有一句在讲「我是怎么做出这份报告的」
- [ ] 没有「怎么读这份报告」这类使用说明
- [ ] 局限性写的是证据有效性，不是工具故障
- [ ] 结论章有超出摘要的内容（否则说明只做了汇编）
- [ ] 附录是文献表不是数据表转印，且总长不超过正文的 10%
- [ ] **数据表的 `verified` 位有人负责，而且负责的规则是开工时定的**——
      调研 agent 只填 value/basis/src、从不置 verified，于是「交付前清零⚠未核」
      这条闸永远清不了。开工就要定：谁在什么条件下有权置 true。
      核到什么程度是**交付物随附的数据表文件**里的事，不靠在附录里逐条挂红字解决

### 排版层

机械能查的（`assets/render.py` 自动跑）：图表编号连续且格式统一、
目录页码与实际一致、没有内容极少的页、没有占位符残留、
**每页四边留白实测达标**（几何自检：逐页渲成灰度图量 mm 数，内容顶格、
边距被挤掉直接报页码；全出血页自动跳过并提示肉眼确认；
同时列出「下半页大面积留白」候选页）。

**章数够多时还会自动跑三项一致性检查**（`longdoc_check`）：各章加粗处数、
各章篇幅方差、中文标点后的残留空格。这三条在一个人写的 40 页报告里不会出问题，
一旦分章外包就必漂——它们都是「每个写作者各自记住一条规则」型的约束，
而记忆不跨 agent 共享。详见 `references/生产流水线.md`「规则该放在哪一层」。

**眼睛才能查的——必须逐页看，不能抽检：**

```bash
pdftoppm -png -r 70 报告.pdf 自检/p
```

- [ ] **列缝粘连**：相邻列内容贴死，读起来像「84%尚未围绕…」这种连成一句的假句子
- [ ] **负值画成零高度**：「下降 11%」和「没有变化」在图上长得一样
- [ ] **图表标注被版心切掉**：「626,155磅（成千上万次训练）」印成「…成千上万次」——
      凡是给文字预留固定空间的写法都会这样，而 SVG 不报溢出
- [ ] **居中标注在最边上那个点被切**（时间轴、折线末端标注最容易）
- [ ] **视觉锚数字被拦腰折断**：「626,15 / 5磅」
- [ ] **双列组件里某一列塌成一个字宽、整段竖排**（`flex:1` + 对侧无 `min-width`）
- [ ] Y 轴不从零开始，把小差异画成大差异
- [ ] 图表容器远大于内容，页面下半空着
- [ ] **标题落在页底、内容翻到下一页**（机械自检查不出来——那页确实有内容，只是只有五个字）
- [ ] **章末只剩一两句话独占一整页**（孤儿段。CSS 里对末两段 `break-before: avoid`）
- [ ] **长表跨页时表头没有重复**（读者读不了第二页）
- [ ] 章内出现整页留白（章末留白正常，章内留白说明分页容器切得太碎）
- [ ] 内容跨页时页眉丢失
- [ ] 正文颜色是近黑；品牌色只出现在图表和强调处

> **抽检对排版缺陷无效。** 排版缺陷不是均匀分布的，它集中在最复杂的那几页——
> 长表格、宽图表、附录。上一次就是抽看了四页，漏掉了附录里的列粘连，交付后才被指出来。
>
> 空白页不用手筛——render.py 几何自检会把「下半页墨水量异常低」的页码列出来，
> 逐页看的时候先看那几页。
>
> **300 页以上换个看法，但仍然是逐页。** 把 12 页拼成一张检查表（每页缩到 430px 宽，
> 四列三行，每格标页码），30 张图扫完全书；上面那些缺陷在这个尺度上全都看得见。
> 扫到可疑的再单独开全尺寸那一页。每一页都进过眼睛，只是分辨率分两档。

> **发现一个排版缺陷后，先问「同样的结构还出现在哪」。** 列粘连第一次出现在附录 A，
> 只把那一列改成左对齐就过去了；它在附录 B 又出现了一次，因为根因没动。修症状会让同一个 bug 出现两次。

