@hawk2048/oh-my-dsh 0.3.2 → 0.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +41 -0
- package/README.md +1 -1
- package/README.zh.md +1 -1
- package/package.json +4 -2
- package/skills/omd-autoresearch/CHANGELOG.md +69 -0
- package/skills/omd-autoresearch/SKILL.md +119 -24
- package/skills/omd-autoresearch/references/eval-prompt.md +79 -0
- package/skills/omd-autoresearch/references/report-rules.md +121 -0
- package/skills/omd-autoresearch/references/report-style.md +246 -0
- package/skills/omd-autoresearch/references/report_lint.py +497 -0
- package/skills/omd-autoresearch/references/rubric.md +91 -0
- package/skills/omd-autoresearch/references/skill-survey.md +163 -0
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
# 报告语言规范(去 AI 腔)
|
|
2
|
+
|
|
3
|
+
写作时逐节套用。`report_lint.py` 是本文档的机器版,负责查下限;本文档负责解释为什么改、怎么改。
|
|
4
|
+
|
|
5
|
+
一句话原则:**每句话都要带来读者还不知道的东西。** 带不来的句子删掉,删掉读起来更顺。
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 分级处置(关键:别把线索当判决)
|
|
10
|
+
|
|
11
|
+
| 级别 | 判定 | 处置 |
|
|
12
|
+
|---|---|---|
|
|
13
|
+
| **T1 结构性** | 单次命中就改 | 对偶拔高句、自我更正、生造黑话、客服腔、无源引用 |
|
|
14
|
+
| **T2 密度型** | 同段 2 处以上,或整篇密度超阈值才改 | 抒情词、程度副词、破折号、加粗 |
|
|
15
|
+
| **T3 线索型** | 只报警,交人工检查断 | 连词密度、名词化、借喻场混用 |
|
|
16
|
+
|
|
17
|
+
理由:未经本地语料标定的阈值会误杀。词表是线索,不是判决。
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## T1-1 对偶拔高句(中文 AI 味最强信号)
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
✗ 这不是一次技术升级,而是生产关系的重构。
|
|
25
|
+
✗ 真正的瓶颈不是产能,而是渠道。
|
|
26
|
+
✗ 这不仅仅是补贴退坡,更是需求端的系统性收缩。
|
|
27
|
+
✗ 与其说是产品问题,不如说是组织问题。
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
它先立一个读者根本没有的误解,再推翻,制造假顿悟;删掉前半句,信息一点不少。
|
|
31
|
+
|
|
32
|
+
改法:**留后半句。**
|
|
33
|
+
|
|
34
|
+
```
|
|
35
|
+
✓ 这是生产关系的重构。
|
|
36
|
+
✓ 瓶颈在渠道。
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
两处例外保留:术语定义一处、论证骨架一处(全篇额度 2 处)。超过就逐条改。
|
|
40
|
+
|
|
41
|
+
**密度判死线**:<300 字允许 1 处;300–1000 字允许 2 处;≥1000 字按每 300 字 1 处计。超过即判死。
|
|
42
|
+
|
|
43
|
+
## T1-2 自我更正元叙述
|
|
44
|
+
|
|
45
|
+
```
|
|
46
|
+
✗ 前面提到的数据有误,正确口径是 18GWh。
|
|
47
|
+
✗ 纠正一下,欧洲其实没有退坡。
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
报告是交付物。写作过程中的自我纠错属于草稿痕迹,写进正文会让读者怀疑整篇可信度,也浪费他的注意力。
|
|
51
|
+
|
|
52
|
+
改法:**直接给正确版本,不留痕迹。**
|
|
53
|
+
|
|
54
|
+
```
|
|
55
|
+
✓ 2025 年全球户储新增装机 18GWh(BNEF 2026.1)。
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
需要留档时,单开「修订记录」小节列日期与变更,正文保持干净。
|
|
59
|
+
|
|
60
|
+
## T1-3 生造黑话
|
|
61
|
+
|
|
62
|
+
```
|
|
63
|
+
✗ 这一点必须钉死,否则后面全站不住。
|
|
64
|
+
✗ 把三家的口径拉齐。
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
| 黑话 | 人话 |
|
|
68
|
+
|---|---|
|
|
69
|
+
| `钉死` / `焊死` / `锁死` | 确定下来、锁定 |
|
|
70
|
+
| `拉齐` / `对齐` | 统一成同一口径 |
|
|
71
|
+
| `颗粒度` | 细致程度 |
|
|
72
|
+
| `闭环` | 有反馈的完整流程 |
|
|
73
|
+
| `抓手` | 着手点、突破口 |
|
|
74
|
+
| `赋能` | 帮助、提供能力 |
|
|
75
|
+
| `沉淀` | 积累下来、整理成文档 |
|
|
76
|
+
| `兜底` / `压实` / `收口` | 保底 / 落实 / 结束 |
|
|
77
|
+
| `小疤` / `打穿` / `啃下` | 小问题 / 彻底解决 / 拿下 |
|
|
78
|
+
| `裸写` / `裸奔` / `缝补` | 不用辅助直接写 / 没有防护 / 打补丁 |
|
|
79
|
+
| `水位` / `势能` / `心智` / `体感` / `链路` | 水平 / 优势 / 认知 / 感受 / 流程 |
|
|
80
|
+
|
|
81
|
+
判据:**这句话你会对着客户或领导说出口吗?** 不会,就换掉。
|
|
82
|
+
|
|
83
|
+
### 语域:三类词别混用
|
|
84
|
+
|
|
85
|
+
同一个意思,三种说法,用错层次就露馅:
|
|
86
|
+
|
|
87
|
+
| 层次 | 例子 | 用在哪 |
|
|
88
|
+
|---|---|---|
|
|
89
|
+
| 日常词 | 有问题、不确定、存成文件、验证通过 | 正文默认用这一层 |
|
|
90
|
+
| 行业术语 | NEM 3.0、ITC、LCOE | 正文可用,首次出现加一句白话解释 |
|
|
91
|
+
| 工具内部词 | 报警项、判死、闸门、落盘、跑通 | 只在讨论工具本身时用;给读者看的报告里换成日常词 |
|
|
92
|
+
|
|
93
|
+
判断只要一句:**读者没装这个工具,也读得懂吗?** 读不懂就是外泄。
|
|
94
|
+
|
|
95
|
+
`report_lint.py` 把这一层单独查了一档:纯行话(报警项、判死、落盘、跑通)直接判不合格,权衡用词(闸门、拆轮、打标)只提示。规则文档本身要讨论这些词,用 `--doc` 跳过这档。
|
|
96
|
+
|
|
97
|
+
误杀防护:`闭环控制`、`协同编辑`、`消防联动`、`用户洞察`(模块名)、体育语境下的「赛道」放行。
|
|
98
|
+
|
|
99
|
+
## T1-4 客服腔与聊天残留(确定性最高的破绽)
|
|
100
|
+
|
|
101
|
+
好问题!/ 你说得很对 / 让我来为你解释 / 希望这对你有帮助 / 如果你还有其他问题 / 要不要我…… / 我看到你…… / 先说结论——出现即删。
|
|
102
|
+
|
|
103
|
+
## T1-5 无源引用
|
|
104
|
+
|
|
105
|
+
研究表明 / 数据显示 / 有专家指出 / 业内人士认为 / 据报道 —— 这是把「权威」当成句子里的一个空位去填。
|
|
106
|
+
|
|
107
|
+
改法:给出来源;给不出就删掉这句,或写成「有报道称 X(标的:媒体名,日期),未能核到一手来源」。**禁止把笼统归因替换成你编造的机构名、报告名、日期。**
|
|
108
|
+
|
|
109
|
+
## T1-6 比喻与借代(对外报告一律不用)
|
|
110
|
+
|
|
111
|
+
拿别的东西指代报告里的概念,读者要多绕一步才能懂,而且各人脑子里绕的方向不一样。对外报告里直接说做了什么。
|
|
112
|
+
|
|
113
|
+
| 常见的比喻 | 直接说 |
|
|
114
|
+
|---|---|
|
|
115
|
+
| `骨架` / `结构骨架` | 结构、章节安排 |
|
|
116
|
+
| `台账` / `证据台账` | 证据清单、材料清单 |
|
|
117
|
+
| `三角验证` | 用三类互不相同的材料互相核对 |
|
|
118
|
+
| `双轴` 评鉴 | 从两方面判断:因果是否成立、结论能推多远 |
|
|
119
|
+
| `全家桶` | 一次装齐所有工具 |
|
|
120
|
+
| `抓手` | 着手点、先做的事 |
|
|
121
|
+
| `打穿` / `小疤` | 彻底解决 / 小问题 |
|
|
122
|
+
| `地基` / `桥梁` / `钥匙` | 基础 / 中间环节 / 关键条件 |
|
|
123
|
+
|
|
124
|
+
脚本检查比喻不可靠,`report_lint.py` 只对高频的几十个词给出提示,不作判定;最终还是要人来读一遍。
|
|
125
|
+
|
|
126
|
+
## T1-7 半截词与内部缩写
|
|
127
|
+
|
|
128
|
+
把动词砍成两个字,是内部交流省事的办法;写进给读者的文档,就成了暗号。
|
|
129
|
+
|
|
130
|
+
| 缩写 | 完整说法 |
|
|
131
|
+
|---|---|
|
|
132
|
+
| `机器判` / `人判` | 由脚本自动检查 / 由人看过再定 |
|
|
133
|
+
| `判死` / `判负` | 判为不合格 |
|
|
134
|
+
| `口径` | 统计标准 |
|
|
135
|
+
| `档位` | 篇幅区间 |
|
|
136
|
+
| `自检` | 自己先查一遍 |
|
|
137
|
+
| `编号制` | 给结论编号的做法 |
|
|
138
|
+
| `字段` / `条目` | 一项一项的内容 |
|
|
139
|
+
|
|
140
|
+
判断法:把这句念给不熟悉这套工具的人听,他能不能听懂。听不懂就是缩写没展开。
|
|
141
|
+
|
|
142
|
+
`report_lint.py` 把「机器判」「人判」「判死」「落盘」「跑通」这些收进工程词一档,命中判不合格;引用他人原话时放行。
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
## T2 · 删连接词与拔高渲染(同段 2 处以上才动手)
|
|
147
|
+
|
|
148
|
+
| 类别 | 典型词 | 处理 |
|
|
149
|
+
|---|---|---|
|
|
150
|
+
| 空转连接 | 值得注意的是、不难发现、众所周知、由此可见、综上所述、总而言之 | 删,前后句本来就连得上 |
|
|
151
|
+
| 过渡废话 | 换句话说、也就是说、具体来说、更重要的是 | 删;要解释就换个说法重写 |
|
|
152
|
+
| 伪深刻 | 本质上是、核心在于、真正的问题在于、从某种意义上说 | 删,直接给判断 |
|
|
153
|
+
| 拔高渲染 | 意义深远、前所未有、至关重要、颠覆性、范式转移 | 换成事实;抬价的那半句通常没有新信息 |
|
|
154
|
+
| 时代开场 | 在当今……背景下、随着……的快速发展 | 删,第一句直接给结论 |
|
|
155
|
+
| 正能量收尾 | 未来可期、让我们拭目以待、只有……才能…… | 删,停在最后一个具体事实上 |
|
|
156
|
+
|
|
157
|
+
三段排比(既要……又要……还要……)压成一句带数字的陈述,或改表格。
|
|
158
|
+
|
|
159
|
+
---
|
|
160
|
+
|
|
161
|
+
## T2 · 标点与排版
|
|
162
|
+
|
|
163
|
+
| 指标 | 阈值 | 说明 |
|
|
164
|
+
|---|---|---|
|
|
165
|
+
| 破折号 | 单段 ≤1 处;≥4 处判死 | 破折号是「想加转折但懒得组织」的记号 |
|
|
166
|
+
| 加粗 | ≤8 处/千字 | 满篇加粗等于没有重点 |
|
|
167
|
+
| 段落 | ≤7 行,最佳 ≤4 行(按手机宽度约 300 字;lint 以字数近似,>300 字判死) | 一屏读不完,读者跳过 |
|
|
168
|
+
| 单句 | 目标 ≤20 字;30–39 字须语义清晰;>40 字不可接受;>60 字判死 | 中文长句是最强信号 |
|
|
169
|
+
| 标题层级 | 一级标题下不得直接出现三级;同级不孤立;尽量不用四级 | 跳级说明结构没想清楚 |
|
|
170
|
+
|
|
171
|
+
---
|
|
172
|
+
|
|
173
|
+
## T3 · 只报警,人来判断
|
|
174
|
+
|
|
175
|
+
- **连词密度**:不设全局阈值。实测反例存在——不该改的文本连词密度反而更高。只有出现「连续 3 句都以连词起手」或「同一连词单段 ≥3 次」时才提示。
|
|
176
|
+
- **名词化**:`进行/实现/完成 + 动名词`(对流程进行了优化)。改回动词(把流程改顺了);法律公文固定表述保留。
|
|
177
|
+
- **借喻场混用**:800 字窗口内混用 3 套以上比喻系统(道路竞赛/战争攻防/建筑灾害/温度/仓储/海洋航行/机器器官)才提示。先排除字面用法(搜索引擎、代码仓库)。
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
## 改写七法
|
|
182
|
+
|
|
183
|
+
1. **删抬价的前半句**:`不是 X,而是 Y` → `Y`。
|
|
184
|
+
2. **换成事实**:形容词 → 数字、名字、时间、金额。**但不得新造原文没有的数字与出处**。
|
|
185
|
+
3. **拆句**:一句只装一个意思,超过 40 字就找句号的位置;不为凑短句把连贯段落拆成清单。
|
|
186
|
+
4. **删连接词**:句间靠内容衔接,不靠「因此/然而/此外」。
|
|
187
|
+
5. **名词化还原**:`进行了优化` → `改顺了`。
|
|
188
|
+
6. **一段一主张**:段首句就是主张,其余句子支撑它。
|
|
189
|
+
7. **统一指称**:`修表 → 这门手艺 → 这项技能` 这种同义词轮换读起来发油,统一回最具体的说法。
|
|
190
|
+
|
|
191
|
+
改写示例:
|
|
192
|
+
|
|
193
|
+
```
|
|
194
|
+
✗ AI 版
|
|
195
|
+
值得注意的是,欧洲户储市场正在经历深刻的结构性调整。这不仅仅是补贴退坡
|
|
196
|
+
的问题,更是回本期拉长导致的系统性需求收缩。换句话说,政策与经济的双重
|
|
197
|
+
压力正在形成闭环,行业需要重新思考自身的价值定位。
|
|
198
|
+
|
|
199
|
+
✓ 人话版
|
|
200
|
+
欧洲户储在收缩。德国 2026 年户用光伏新增预计 3.0GW,比 2024 年少 27%;
|
|
201
|
+
平均回本期从 6.2 年拉到 9.4 年。电价从 0.42 欧元/kWh 回落到 0.24,补贴
|
|
202
|
+
也退了,多数家庭算不过这笔账。
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
差别不在文采:人话版每句都有数字或事实,AI 版每句都在解释自己。
|
|
206
|
+
|
|
207
|
+
---
|
|
208
|
+
|
|
209
|
+
## 不误伤:这些保留
|
|
210
|
+
|
|
211
|
+
- **引用**:别人原话、公告原文、访谈原句,照抄并标出处,不改写。
|
|
212
|
+
- **必要的对比**:纠正读者真实持有的误解时,一次「不是 A 而是 B」合法(额度内)。
|
|
213
|
+
- **专业术语**:NEM 3.0、ITC、LCOE 保留,首次出现加一句白话解释。
|
|
214
|
+
- **事实性否定**:`欧洲没有退坡` 照写。禁的是「否定 + 肯定」的对偶骨架。
|
|
215
|
+
- **顺序与同时**:`首先/其次` 表顺序、`与此同时` 表同时发生,保留。
|
|
216
|
+
- **坏消息铺垫**:SCQA 用两句话建立情境,然后立刻给结论。
|
|
217
|
+
|
|
218
|
+
---
|
|
219
|
+
|
|
220
|
+
## 三遍读法(每节写完立刻做)
|
|
221
|
+
|
|
222
|
+
1. **删**:删掉所有删了不影响理解的句子,通常能删 20%。
|
|
223
|
+
2. **换**:形容词换数字,抽象换具体,黑话换日常词。换不出数字说明这段缺证据,回去补。
|
|
224
|
+
3. **拆**:长句拆短,长段分段,并列三项以上改表格。
|
|
225
|
+
|
|
226
|
+
三遍之后还读不顺,是内容没想清楚——回去补证据,别在文字上磨。
|
|
227
|
+
|
|
228
|
+
---
|
|
229
|
+
|
|
230
|
+
## 交付前核对(防编造)
|
|
231
|
+
|
|
232
|
+
- 每个新增的具体信息(数字、名字、日期、引文)能否在证据表里找到?找不到就撤回。
|
|
233
|
+
- 有没有把「可能」写成「确定」?
|
|
234
|
+
- 有没有为了显得具体而编造数据?宁可保持概括,也不要一个假数字。
|
|
235
|
+
|
|
236
|
+
---
|
|
237
|
+
|
|
238
|
+
## 与 lint 的关系
|
|
239
|
+
|
|
240
|
+
`report_lint.py` 查下限:禁句、超长句、超长段、破折号峰值、AI 腔密度、数字密度、图表密度。它查不出观点错、逻辑断、数据假——那部分交给评估子代理与人工核验。
|
|
241
|
+
|
|
242
|
+
用法:每写完一节跑一次 `--scale 0.6 --strict --quiet`,整篇写完再跑 `--strict`。不 PASS 就地改。
|
|
243
|
+
|
|
244
|
+
`--strict` 把数字密度和图表密度升级为判死项:一段没有数字、一节没有表格,就是「太干」的源头,节级拦下。不加 `--strict` 时它们只报警——改别人的稿子用这种模式,别一上手就判死。
|
|
245
|
+
|
|
246
|
+
阈值可在脚本顶部按自己的语料调整;改阈值要在 `AUTORESEARCH.md` 里记一条理由。
|