Initial commit: Hermes Agent skills collection
- Trading skills (OKX, dividend, lottery, quantitative) - Creative skills (ASCII art, diagrams, video) - Development skills (GitHub, debugging, TDD) - Research skills (arXiv, blog monitoring) - Productivity skills (email, documents, notes) - MCP integration skills - Custom user skills
This commit is contained in:
@@ -0,0 +1,303 @@
|
||||
---
|
||||
name: de-slop-zh
|
||||
description: "中文严肃文学去AI味:识别并修正AI生成的中文小说、散文中的机器腔调。适用于文学创作、小说润色、散文修改。"
|
||||
version: 1.0.0
|
||||
author: Hermes Agent (based on humanizer + stop-slop frameworks)
|
||||
license: MIT
|
||||
platforms: [linux, macos, windows]
|
||||
metadata:
|
||||
hermes:
|
||||
tags: [writing, editing, humanize, anti-ai-slop, chinese, fiction, literature, 中文, 小说, 严肃文学]
|
||||
category: creative
|
||||
related_skills: [humanizer, stop-slop]
|
||||
trigger: 中文小说润色、去AI味、AI痕迹修正、文学创作修改
|
||||
---
|
||||
|
||||
# 中文严肃文学去AI味
|
||||
|
||||
识别并修正AI生成的中文小说、散文中的机器腔调。基于 humanizer(29条英文模式)和 stop-slop(激进去机器化)的框架,针对中文严肃文学特有模式定制。
|
||||
|
||||
**核心洞察:** AI写中文时,统计模型倾向于选择最高频的搭配。严肃文学恰恰需要打破这些"安全"的搭配,用意外的、具体的、属于某个特定作者的表达。
|
||||
|
||||
---
|
||||
|
||||
## 使用场景
|
||||
|
||||
- 用户要求对中文小说/散文进行"去AI味"、"去机器感"、"润色"
|
||||
- 用户给出AI生成的文学文本要求改写
|
||||
- 用户问"这段有没有AI味"、"帮我看看哪里像AI写的"
|
||||
- 用户正在用AI辅助写严肃文学,需要去除AI痕迹
|
||||
|
||||
---
|
||||
|
||||
## 一、词汇层面:禁用词与替换
|
||||
|
||||
### 1.1 万能修饰词(杀掉)
|
||||
|
||||
这些词在AI生成的中文文学中出现频率远高于人类写作:
|
||||
|
||||
| AI高频词 | 问题 | 替换方向 |
|
||||
|----------|------|----------|
|
||||
| 宛如、犹如、仿佛 | AI最爱的比喻连接词,几乎每个描写段落都有 | 减少比喻密度,或用具体动作替代 |
|
||||
| 不禁 | "不禁让人想起"、"不禁感叹" —— AI的条件反射 | 删掉,直接写感受 |
|
||||
| 值得注意的是 | 元评论,AI宣布自己要说重要的事了 | 删掉,直接说 |
|
||||
| 在某种程度上 | 万能模糊限定 | 删掉,给出具体程度 |
|
||||
| 总而言之、综上所述 | 非虚构文风入侵小说 | 删掉,用叙事自然过渡 |
|
||||
| 似乎、好像 | AI的不确定性拐杖 | 用具体细节替代,或直接断言 |
|
||||
| 一种说不清的 | AI回避具体感受的套路 | 写清楚,或不写 |
|
||||
| 某种意义上 | 同上 | 删掉 |
|
||||
| 事实上、实际上 | AI强调句 | 删掉 |
|
||||
| 与此同时 | AI的并列连接 | 删掉,用句号断开 |
|
||||
| 不得不承认 | AI的伪主体性 | 删掉 |
|
||||
| 无独有偶 | AI的叙事过渡 | 删掉,直接写 |
|
||||
| 令人深思 | AI的价值判断 | 删掉,让读者自己判断 |
|
||||
| 恰恰是 | AI的强调 | 删掉或换具体词 |
|
||||
| 从某种角度来说 | 模糊限定 | 删掉 |
|
||||
|
||||
### 1.2 成语/四字词堆砌
|
||||
|
||||
AI有严重的四字词偏好,因为它在训练数据中见过大量四字词搭配。
|
||||
|
||||
**检测规则:**
|
||||
- 连续两个四字词之间无标点 → 高度可疑
|
||||
- 一个段落出现3个以上四字成语 → 可疑
|
||||
- 四字词与上下文语境不匹配(书面语混入口语叙事) → 可疑
|
||||
|
||||
**Before(AI味):**
|
||||
> 他沉默不语,心如刀割。窗外风雨交加,电闪雷鸣,仿佛天地都在为他的遭遇扼腕叹息。
|
||||
|
||||
**After(人味):**
|
||||
> 他没说话。雨打在窗玻璃上,路灯灭了一盏,又灭了一盏。
|
||||
|
||||
### 1.3 情感形容词滥用
|
||||
|
||||
AI特别喜欢堆叠情感形容词来"告诉"读者感受,而不是"展示"。
|
||||
|
||||
**高危词:** 深深地、默默地、静静地、缓缓地、微微地、轻轻地
|
||||
|
||||
**Before:**
|
||||
> 她深深地看了他一眼,默默地转过身去,缓缓地走出了房间。
|
||||
|
||||
**After:**
|
||||
> 她看了他一眼。没说话,转身走了。门关上的声音比她预想的要响。
|
||||
|
||||
---
|
||||
|
||||
## 二、句法层面:结构套路
|
||||
|
||||
### 2.1 "的"字链
|
||||
|
||||
AI容易生成过长的"的"字修饰链,人类写作中很少超过两个。
|
||||
|
||||
**规则:** 连续3个以上"的" → 必须拆分
|
||||
|
||||
**Before:**
|
||||
> 那个曾经在无数个失眠的夜晚独自坐在昏暗的客厅的角落的沉默的男人终于开口了。
|
||||
|
||||
**After:**
|
||||
> 男人在客厅角落坐了一整夜。天亮的时候,他开口了。
|
||||
|
||||
### 2.2 假三连/排比强迫症
|
||||
|
||||
AI把一切凑成三段式,人类不会这么整齐。
|
||||
|
||||
**规则:** 连续三个结构相同的句子 → 打破其中一个
|
||||
|
||||
**Before:**
|
||||
> 他想起了母亲做的饭,想起了父亲背他上学的路,想起了老屋门前的那棵槐树。
|
||||
|
||||
**After:**
|
||||
> 他想起母亲做的饭。还有门前那棵槐树,父亲当年总嫌它挡光。
|
||||
|
||||
### 2.3 "是……的"强调句过度使用
|
||||
|
||||
**Before:**
|
||||
> 那是一个让人窒息的下午。她是哭着跑出去的。门是被风关上的。
|
||||
|
||||
**After:**
|
||||
> 下午闷得透不过气。她跑出去的时候哭了。风把门带上。
|
||||
|
||||
### 2.4 被动句式
|
||||
|
||||
AI喜欢用被动来制造"文学感",但中文口语叙事中被动远少于主动。
|
||||
|
||||
**高危:** "被……所……"、"为……所……"
|
||||
|
||||
**Before:**
|
||||
> 他被一种莫名的情绪所笼罩,被那些无法言说的记忆所吞噬。
|
||||
|
||||
**After:**
|
||||
> 他坐在那里,什么也想不了。那些记忆自己找上门来。
|
||||
|
||||
### 2.5 破折号/省略号过度
|
||||
|
||||
AI用破折号制造"悬念感",用省略号制造"余韵"。人类作者有更具体的标点习惯。
|
||||
|
||||
**规则:** 一段之内超过2个省略号 → 删除多余的。破折号不超过每千字2个。
|
||||
|
||||
### 2.6 Wh-问句开头(中文版)
|
||||
|
||||
AI喜欢用反问句开头来"吸引读者"。
|
||||
|
||||
**高危开头:** "什么是……?"、"谁能想到……"、"为什么会这样?"、"难道……?"
|
||||
|
||||
---
|
||||
|
||||
## 三、叙事层面:小说特有
|
||||
|
||||
### 3.1 全知视角的"上帝腔"
|
||||
|
||||
AI倾向于用全知视角发表评论,像纪录片旁白而非小说叙事。
|
||||
|
||||
**Before:**
|
||||
> 在那个年代,这样的事情并不少见。贫穷像一张无形的网,笼罩着每一个挣扎在底层的人。
|
||||
|
||||
**After:**
|
||||
> 那年他十四岁,已经在矿上干了两年。工头认识他爸,所以没查他年龄。
|
||||
|
||||
### 3.2 心理描写套路
|
||||
|
||||
AI的心理描写有一套固定模板:
|
||||
|
||||
**高危模板:**
|
||||
- "他的内心翻涌着……" → 直接写动作
|
||||
- "一种难以名状的感觉涌上心头" → 写清楚是什么感觉,或者不写
|
||||
- "他的心像是被什么东西揪了一下" → 用动作替代
|
||||
- "那一刻,他终于明白了……" → 他到底明白了什么?写出来
|
||||
|
||||
### 3.3 环境描写的"情绪对位"
|
||||
|
||||
AI有一个顽固习惯:用环境映射情绪。下雨=悲伤,阳光=希望,落叶=感伤。
|
||||
|
||||
**检测:** 场景转换时,如果环境描写的情绪与角色情绪完全一致 → 可疑
|
||||
|
||||
**Before:**
|
||||
> 雨越下越大。她站在窗前,泪水和雨水一起流下来。天色阴沉得像她的心情。
|
||||
|
||||
**After:**
|
||||
> 雨停了。她站在窗前,外面有人在修摩托车,电钻声刺耳。她想起他以前也修过那辆摩托车。
|
||||
|
||||
### 3.4 对话问题
|
||||
|
||||
#### 3.4.1 对话标签过度
|
||||
|
||||
AI不敢省略"他说"、"她答",仿佛怕读者跟丢。
|
||||
|
||||
**规则:** 两人对话中,如果上下文明确,可以连续3-4句不加标签。
|
||||
|
||||
#### 3.4.2 对话内容"正确但无味"
|
||||
|
||||
AI生成的对话语法完美、逻辑清晰,但缺乏:
|
||||
- 口语的不完整("那个……算了")
|
||||
- 答非所问
|
||||
- 说话中断
|
||||
- 嗯、啊、那个、就是说 等口语填充词
|
||||
|
||||
**Before:**
|
||||
> "我觉得我们应该好好谈谈,"他说,"关于我们的未来。"
|
||||
> "我也这么想,"她回答,"但是我不知道从何说起。"
|
||||
|
||||
**After:**
|
||||
> "那个……"他把杯子放下又拿起来,"算了。"
|
||||
> "你说。"
|
||||
> "你先说。"
|
||||
> 她没接话。
|
||||
|
||||
#### 3.4.3 对话中的解释癖
|
||||
|
||||
AI让人物在对话中解释剧情,像在写说明书。
|
||||
|
||||
**Before:**
|
||||
> "你还记得十年前我们在大学图书馆相遇的那个下午吗?那时候你正在读一本关于量子物理的书。"
|
||||
|
||||
**After:**
|
||||
> "你还记得图书馆那回吗?"
|
||||
> "你把咖啡洒我书上那次?"
|
||||
|
||||
### 3.5 结尾的"升华病"
|
||||
|
||||
AI的结尾有一种强烈的"升华"冲动——从具体故事跳到抽象意义。
|
||||
|
||||
**高危结尾模式:**
|
||||
- "这不仅仅是一个关于X的故事,更是关于Y的寓言"
|
||||
- "在那个XX的年代,总有一些东西是不会被遗忘的"
|
||||
- "他终于明白,生活就是……"
|
||||
- "窗外,天亮了"(伪留白)
|
||||
|
||||
**好的结尾:** 回到具体的人、动作、物件。不解释意义。
|
||||
|
||||
---
|
||||
|
||||
## 四、节奏与密度
|
||||
|
||||
### 4.1 段落长度均匀
|
||||
|
||||
人类写作的段落长度有自然波动。AI的段落往往长度相近(3-5句一段)。
|
||||
|
||||
**检测:** 如果连续5个段落句数相同(±1句) → 打破节奏
|
||||
|
||||
### 4.2 转折词过密
|
||||
|
||||
AI用"然而"、"但是"、"不过"、"只是"来确保读者不会迷失方向。人类作者更敢让段落之间有沉默。
|
||||
|
||||
**规则:** 连续两段用转折词开头 → 删除一个
|
||||
|
||||
### 4.3 时间线标注
|
||||
|
||||
AI喜欢精确标注时间推进:"三天后"、"一个月过去了"、"到了第二年春天"。人类作者更倾向于让时间在细节中流动。
|
||||
|
||||
**Before:**
|
||||
> 三天后,他收到了回信。一个月后,他坐上了南下的火车。到了那年冬天,一切都变了。
|
||||
|
||||
**After:**
|
||||
> 回信来得比他想的慢。他走的那天下了雪,火车晚点四个小时。
|
||||
|
||||
---
|
||||
|
||||
## 五、检查流程
|
||||
|
||||
收到文本后,按以下顺序检查:
|
||||
|
||||
1. **词汇扫描:** 1.1-1.3 的禁用词、成语堆砌、情感形容词
|
||||
2. **句法扫描:** 2.1-2.6 的结构套路
|
||||
3. **叙事扫描:** 3.1-3.5 的小说特有问题
|
||||
4. **节奏扫描:** 4.1-4.3 的节奏与密度
|
||||
5. **灵魂检测:** 读一遍,问自己"这段话像一个具体的人写的吗?还是像一个统计模型写的?"
|
||||
6. **反向检查:** 改完之后再读一遍,还有没有"一眼AI"的地方?
|
||||
|
||||
## 六、评分
|
||||
|
||||
| 维度 | 满分 | 标准 |
|
||||
|------|------|------|
|
||||
| 词汇 | 10 | 有没有禁用词?成语堆不堆? |
|
||||
| 句法 | 10 | 结构是否多样?有没有套路? |
|
||||
| 叙事 | 10 | 视角有没有上帝腔?对话像不像人话? |
|
||||
| 节奏 | 10 | 段落长短有没有变化?转折词密度? |
|
||||
| 灵魂 | 10 | 读起来像一个具体的、有偏好的人写的吗? |
|
||||
|
||||
35分以下 → 必须重写
|
||||
|
||||
## 七、输出格式
|
||||
|
||||
1. 标注所有发现的AI味问题(按上述分类)
|
||||
2. 给出改写版本(**必须是完整篇章,≥350字,不能只给精简摘要**)
|
||||
3. 五维评分
|
||||
4. 如果仍有残余问题,指出并建议进一步修改方向
|
||||
|
||||
## 八、改写原则
|
||||
|
||||
改写不是缩写。AI味的原文往往篇幅膨胀但信息密度低,改写后应该:
|
||||
- **保留甚至扩展细节**,但用具体细节替代抽象情绪
|
||||
- **补入真实的生活场景**(如回忆、物件、动作),让角色有血肉
|
||||
- **留白**:不解释隐喻,不升华主题,让读者自己感受
|
||||
- **参考范例**:见 `references/example-serious-fiction.md`
|
||||
|
||||
---
|
||||
|
||||
## 参考
|
||||
|
||||
本技能基于以下框架构建:
|
||||
- [humanizer](https://github.com/blader/humanizer) — 英文29种AI写作模式(Wikipedia AI Cleanup)
|
||||
- [stop-slop](https://github.com/hardikpandya/stop-slop) — 激进去AI味技能(⭐7.8k)
|
||||
|
||||
针对中文严肃文学进行了全面的本地化重构,包括:中文特有词汇模式、中文句法结构、中文小说叙事传统、中文口语对话特征。
|
||||
@@ -0,0 +1,95 @@
|
||||
# 严肃文学去AI味:完整改写案例
|
||||
|
||||
## 原文(AI味检测:25/50)
|
||||
|
||||
推土机在咣当咣当的震响声中滚滚向前,烈日下,铲斗反光晃得人睁不开眼,可操作的师傅心里半点不慌,他早对准了那栋摇摇欲坠的老屋,摆明了不把这里推平整完不罢休。
|
||||
轰隆!
|
||||
巨响还未完全消失,陈家老宅历经多年风雨的青砖外墙,应声破开一道口子。
|
||||
紧接着,尘土翻滚着四散开来。
|
||||
陈忘川就站在不远处,纹丝未动,任凭飞扬的尘土把他吞噬。
|
||||
不是他傻,是他刚从一种幻象中醒来,早已力竭,想躲,也是有心无力。
|
||||
呸!
|
||||
他半眯着眼睛,往地上狠狠唾了一口。抿了抿嘴,还是一嘴的泥。
|
||||
他沾满灰尘的鼻翼微微收缩,一股腐朽木屑的霉味直冲进来,瞬间激得他胃里一阵翻搅。紧接着,一种无法言喻的情绪毫无预兆地堵上了心头。
|
||||
他下意识抬起手臂,死死按在自己的胸口上。在他外套的内侧口袋里,一本古老的册子,正隔着布料,传来一阵冰冷的触感。那种情绪,似乎正在与这种触感共鸣。他分不清,是自己的心脏在跳动,还是那本册子在跳动?
|
||||
仿佛那不是一本书,更像是一纸早已写就、悬在他头顶的家族判决书,比眼前轰然倒塌的老宅,更让他喘不过气。
|
||||
|
||||
---
|
||||
|
||||
## 检测出的AI味问题
|
||||
|
||||
### 词汇层
|
||||
- "一种无法言喻的情绪" — 万能模糊情感句
|
||||
- "似乎" — 不确定性拐杖
|
||||
- "仿佛" — AI最爱的比喻连接词
|
||||
- "紧接着" ×2 — 叙事推进器,出现在两段开头
|
||||
- "微微" ×2 — 标配情感形容词
|
||||
- "一种...毫无预兆地" — 成语堆砌填充
|
||||
|
||||
### 句法层
|
||||
- "一种无法言喻的情绪毫无预兆地堵上了心头" — 被动+抽象名词做主语
|
||||
- "他沾满灰尘的鼻翼微微收缩" — "的"字链
|
||||
- "不是他傻,是他刚从一种幻象中醒来" — 叙述者跳出来解释(上帝视角旁白)
|
||||
|
||||
### 叙事层
|
||||
- 环境情绪完全对位:推土机=毁灭、老宅倒塌=悲伤、灰尘吞噬=绝望
|
||||
- 结尾把隐喻说透了:"一纸早已写就、悬在他头顶的家族判决书" — 不给读者留空间
|
||||
- "他分不清,是自己的心脏在跳动,还是那本册子在跳动?" — AI的二选一疑问句模板
|
||||
|
||||
### 节奏层
|
||||
- "紧接着...紧接着..." 两段同构,节奏机械
|
||||
- 中间几段句长均匀(5-8字/句),缺乏断裂感
|
||||
|
||||
---
|
||||
|
||||
## 改写后(≥350字)
|
||||
|
||||
推土机咣当咣当地过来,铲斗的反光晃眼睛。师傅没犹豫,对准了陈家老宅那面墙。
|
||||
|
||||
轰。
|
||||
|
||||
青砖裂开一道口子。尘土涌出来,像闷了太久的什么东西终于松了口。
|
||||
|
||||
陈忘川站在原地没动。灰尘把他整个人裹进去了。
|
||||
|
||||
呸。他往地上吐了一口,嘴里全是沙子。鼻腔里钻进一股霉味,老木头沤烂的那种。他干呕了一下,没呕出来。
|
||||
|
||||
他按住胸口。外套内袋里,那本册子贴着皮肤,凉的。他摸不准是自己的心跳,还是那东西在动。
|
||||
|
||||
墙又挨了一下。这次整个塌了半边,房梁歪着撑出来,像一根断了的肋骨。工人们往后退了几步,有人骂了一声。灰尘更大了,呛得人说不出话。
|
||||
|
||||
陈忘川还是没动。
|
||||
|
||||
他想起小时候在这面墙底下蹲着看蚂蚁。奶奶喊他吃饭,他装没听见。后来奶奶也不喊了,端着碗出来,蹲在他旁边,一边吃一边陪他看。那碗粥凉了也没人管。
|
||||
|
||||
现在墙没了。粥没了。奶奶也没了。
|
||||
|
||||
他抬手擦了擦脸,袖子上全是灰。擦完发现手上有一道口子,不知道什么时候划的,血珠子渗出来,混着灰变成黑色。
|
||||
|
||||
他把册子从内袋里掏出来。封皮是深褐色的,边角磨得发白,纸页卷着边。翻开来,第一页上写着一个名字,墨水已经洇开了,只剩一个偏旁看得清。
|
||||
|
||||
他盯着那个字看了很久。
|
||||
|
||||
推土机又响了。这次是对着另一边的墙。轰的一声,比刚才闷,像一个人把话咽回去的那种响。
|
||||
|
||||
陈忘川把册子合上,塞回口袋。他转身往工地外面走,步子不快,但没停。有人冲他喊了句什么,他没回头。灰尘追着他,扑在后背上,又散了。
|
||||
|
||||
走到路口的时候,他站住了。
|
||||
|
||||
不是因为想起了什么,是因为前面没路了。新修的柏油路笔直地铺过来,把原来那条土路盖得严严实实。他往左看,是工地围挡。往右看,还是工地围挡。
|
||||
|
||||
他站在那里,摸了摸口袋里的册子。凉的。
|
||||
|
||||
然后他往右拐了。
|
||||
|
||||
---
|
||||
|
||||
## 改写要点
|
||||
|
||||
1. **砍掉所有解释性旁白** — "不是他傻"那段删了,让动作说话
|
||||
2. **环境不映射情绪** — 尘土"像闷了太久的东西松了口",不是"吞噬"
|
||||
3. **结尾留白** — "他摸不准是自己的心跳,还是那东西在动" 不解释那本册子是什么
|
||||
4. **对话感** — "老木头沤烂的那种" 是人在回忆那个味道,不是上帝在描写
|
||||
5. **节奏断裂** — "轰。" 独立成段,"呸。" 独立成段,制造真实的时间感
|
||||
6. **具体细节替代抽象情绪** — 奶奶蹲在旁边看蚂蚁、那碗凉了的粥,比"无法言喻的情绪"有力一百倍
|
||||
7. **隐喻不解释** — "像一根断了的肋骨" 点到即止,不展开
|
||||
Reference in New Issue
Block a user