article-writer-cn
Version:
AI 驱动的智能写作系统 - 专注公众号/自媒体文章创作
836 lines (611 loc) • 20.2 kB
Markdown
# PRD-02: 套话库和句式库系统
> **优先级**: P0(核心功能)
> **预计工作量**: 3 天
> **负责人**: TBD
> **状态**: 📝 待开发
---
## 1. 需求背景
### 1.1 问题陈述
**用户痛点**:
> "AI 经常一股 AI 腔。你想要它像你本人说话,它却用'在当今时代'、'综上所述'这些套话。"
**具体问题**:
- ❌ AI 生成的文章 AI 检测率 > 50%
- ❌ 大量套话:"在当今时代"、"显著提升"、"充分利用"
- ❌ 典型 AI 句式:"不是...而是..."连续出现
- ❌ 过度书面化:"进行操作" vs "用"
- ❌ 缺乏真实细节:抽象描述多,具体案例少
**核心目标**:
> 通过系统化的套话库和句式库,将 AI 检测率降低到 **30% 以下**(80% 案例达标)
### 1.2 解决方案
**三遍审校机制**:
```
第一遍:内容审校(准确性)
↓
检查事实、逻辑、结构
第二遍:风格审校(降 AI 味)⭐ 核心
↓
- 删除套话(8 大类套话库)
- 拆解 AI 句式(识别对称结构)
- 替换书面词汇(200+ 替换库)
- 口语化改造
- 加入真实细节
第三遍:细节打磨(排版)
↓
句长、段长、标点、节奏
```
**核心价值**:
- ✅ 系统化 - 不依赖 AI 临场发挥,而是基于规则库
- ✅ 可复现 - 每次审校效果一致
- ✅ 可优化 - 持续积累套话和句式案例
---
## 2. 用户故事
### 2.1 主要用户故事
**故事 1: 自动识别套话**
```
作为 内容创作者
我想 让 AI 自动识别文章中的套话
以便 AI 提醒我删除或替换
验收标准:
- AI 能识别 8 大类套话(如"在当今时代")
- AI 输出对比格式:❌ 原文 → ✅ 改后
- AI 说明为什么是套话
- AI 提供具体的替换建议
```
**故事 2: 识别 AI 句式**
```
作为 内容创作者
我想 让 AI 识别典型的 AI 句式
以便 拆解这些句式,变得更自然
验收标准:
- AI 能识别"不是...而是..."等对称结构
- AI 能识别连续使用的相同句式
- AI 提供拆解建议
```
**故事 3: 替换书面词汇**
```
作为 内容创作者
我想 让 AI 自动替换书面词汇
以便 文章更口语化、接地气
验收标准:
- AI 能识别 200+ 书面词汇(如"显著提升")
- AI 提供口语化替换(如"提升很多" → "每个项目省 3-5 小时")
- AI 优先使用具体数字而非抽象表达
```
**故事 4: 对比输出**
```
作为 内容创作者
我想 看到修改前后的对比
以便 我学习如何避免 AI 味
验收标准:
- 清晰的对比格式(❌ vs ✅)
- 说明修改理由
- 标注 AI 特征(套话/句式/书面词汇)
```
---
## 3. 功能需求
### 3.1 套话库系统
#### 3.1.1 八大类套话库
**功能描述**: 建立系统化的套话分类和识别规则
**文件位置**: `spec/presets/anti-ai-detection/套话库.md`
**八大类套话**:
##### 1. 时代背景套话
**特征**: 假大空的开头,没有实际信息
**典型套话**:
- "在当今时代"
- "在当前形势下"
- "随着科技的发展"
- "在互联网时代"
- "在数字化浪潮中"
**替换策略**:
- ✅ 直接删除
- ✅ 用具体时间:"2025 年"
- ✅ 用真实事件引入:"Claude Code 发布两周后"
**示例**:
```
❌ 原文: "在当今 AI 技术飞速发展的时代,编程工具也在不断进化..."
✅ 改为: "Claude Code 出了。我用了两周,确实比 Cursor 好用。"
【理由】删除时代套话,用真实时长代替
```
##### 2. 总结套话
**特征**: 文章结尾的废话总结
**典型套话**:
- "综上所述"
- "总而言之"
- "通过以上分析"
- "从上述内容可以看出"
**替换策略**:
- ✅ 直接删除(结尾不需要总结套话)
- ✅ 用明确立场:"我的建议是..."
- ✅ 用行动号召:"如果你也..."
**示例**:
```
❌ 原文: "综上所述,Claude Code 是一款优秀的工具。"
✅ 改为: "所以,我把 Cursor 卸了。"
【理由】删除总结套话,用真实行动表达观点
```
##### 3. 程度副词套话
**特征**: 夸大的形容词,缺乏具体数据
**典型套话**:
- "显著提升"
- "大幅度提高"
- "极大地改善"
- "明显优化"
**替换策略**:
- ✅ 用具体数字:"提升 30%"
- ✅ 用真实对比:"从 10 分钟降到 3 分钟"
- ✅ 用具体场景:"以前要写 3 遍,现在 1 遍就行"
**示例**:
```
❌ 原文: "Claude Code 显著提升了开发效率"
✅ 改为: "用好 Claude Code,每个项目能省 3-5 小时。我测下来,平均快了 40%。"
【理由】用具体数字替代抽象程度副词
```
##### 4. 建议套话
**特征**: 空洞的建议,没有可执行性
**典型套话**:
- "建议充分利用"
- "应该合理使用"
- "需要注意"
- "值得关注"
**替换策略**:
- ✅ 给具体建议:"第一步...第二步..."
- ✅ 说明为什么:"因为...所以..."
- ✅ 用命令式:"直接用 XX"
**示例**:
```
❌ 原文: "建议开发者充分利用 Claude Code 的上下文理解能力"
✅ 改为: "用 Claude Code 重构代码时,直接让它读整个项目,别一个文件一个文件喂。"
【理由】给出具体可执行的建议
```
##### 5. 强调套话
**特征**: 重复强调,啰嗦
**典型套话**:
- "不仅...而且..."
- "既...又..."
- "不但...还..."
- "同时"、"此外"、"另外"(高频出现)
**替换策略**:
- ✅ 拆成两句话
- ✅ 删除连接词,直接陈述
- ✅ 选择最重要的点说
**示例**:
```
❌ 原文: "Claude Code 不仅响应速度快,而且代码质量高,同时还支持多种语言。"
✅ 改为: "Claude Code 有三个优点:快(2 秒响应)、准(bug 少 30%)、全(支持 20+ 语言)。"
【理由】拆解强调句式,用列表+数据更清晰
```
##### 6. 客观中立套话
**特征**: 过度客观,没有态度
**典型套话**:
- "可以认为"
- "在某种程度上"
- "从某种意义上说"
- "基本上"、"大致"
**替换策略**:
- ✅ 明确表达观点:"我认为"
- ✅ 给出明确结论:"就是"
- ✅ 删除模糊词汇
**示例**:
```
❌ 原文: "可以认为 Claude Code 在某种程度上优于 Cursor"
✅ 改为: "Claude Code 比 Cursor 好用。至少在代码理解这块,完胜。"
【理由】删除模糊表达,明确态度
```
##### 7. 动词名词化套话
**特征**: 把简单动词变成复杂名词短语
**典型套话**:
- "进行操作" → "用"
- "实施管理" → "管"
- "开展工作" → "做"
- "提供帮助" → "帮"
**替换策略**:
- ✅ 直接用动词
- ✅ 删除多余的"进行"、"实施"、"开展"
**示例**:
```
❌ 原文: "对代码进行重构操作"
✅ 改为: "重构代码"
【理由】删除动词名词化,简洁直接
```
##### 8. 排比套话
**特征**: 过度使用排比,显得刻意
**典型套话**:
- 连续三个"XXX 的 XXX"
- 连续使用相同句式
- 对称结构过多
**替换策略**:
- ✅ 打破对称,用不同句式
- ✅ 删除多余的排比
- ✅ 保留最重要的 1-2 个
**示例**:
```
❌ 原文: "这是一个强大的工具,这是一个智能的助手,这是一个高效的伙伴。"
✅ 改为: "Claude Code 很强。我现在每天都在用。"
【理由】删除排比套话,简单直接
```
#### 3.1.2 套话识别规则
**实现方式**: 正则表达式 + 关键词匹配
**规则文件**: `spec/presets/anti-ai-detection/套话识别规则.json`
```json
{
"时代背景套话": {
"patterns": [
"在当今.*时代",
"随着.*的发展",
"在.*浪潮中",
"在当前.*下"
],
"keywords": ["在当今", "随着", "浪潮", "时代背景"],
"severity": "high",
"replacement_strategy": "删除或用具体时间替代"
},
"程度副词套话": {
"patterns": [
"(显著|大幅度|极大地|明显)(提升|提高|改善|优化)",
"(充分|合理|有效)(利用|使用|发挥)"
],
"keywords": ["显著", "大幅度", "充分利用"],
"severity": "high",
"replacement_strategy": "用具体数字或真实对比"
}
}
```
**验收标准**:
- ✅ 能识别 8 大类套话
- ✅ 覆盖至少 100+ 套话短语
- ✅ 误报率 < 10%
- ✅ 召回率 > 80%
---
### 3.2 AI 句式库
#### 3.2.1 典型 AI 句式
**功能描述**: 识别 AI 常用的对称句式和重复模式
**文件位置**: `spec/presets/anti-ai-detection/AI 句式库.md`
**核心句式**:
##### 1. "不是...而是..."句式
**特征**: AI 最爱的对比句式
**识别规则**:
```regex
不是.*而是.*
```
**问题**: 连续使用超过 2 次就很明显
**替换策略**:
- ✅ 改为"XX,不是 YY"(打破对称)
- ✅ 用"其实是"替代"而是"
- ✅ 拆成两句话
**示例**:
```
❌ 原文(连续使用 3 次):
"不是技术问题,而是理解问题。不是速度慢,而是方法错。不是工具差,而是用法不对。"
✅ 改为:
"技术没问题。问题在理解。速度慢?其实是方法不对。工具本身挺好,就是很多人不会用。"
```
##### 2. "既...又..."句式
**特征**: 强调两个优点
**识别规则**:
```regex
既.*又.*
```
**替换策略**:
- ✅ 拆成两句
- ✅ 用"而且"连接
- ✅ 用列表展示
##### 3. "通过...实现..."句式
**特征**: 书面化的因果表达
**识别规则**:
```regex
通过.*实现.*
```
**替换策略**:
- ✅ 改为"用 XX 做到 YY"
- ✅ 改为"XX,就能 YY"
**示例**:
```
❌ 原文: "通过使用 Claude Code,可以实现更高效的开发"
✅ 改为: "用 Claude Code,开发效率能提升 40%"
```
##### 4. 连续三段式
**特征**: 连续三段使用相同句式开头
**问题**: "首先...其次...最后..."、"第一...第二...第三..."
**替换策略**:
- ✅ 打破规律,用不同开头
- ✅ 合并段落
**示例**:
```
❌ 原文:
首先,Claude Code 响应速度快。
其次,Claude Code 理解力强。
最后,Claude Code 功能全面。
✅ 改为:
Claude Code 快(2 秒响应)。理解力也强,能读懂整个项目上下文。功能还全,支持 20+ 语言。
```
#### 3.2.2 句式识别规则
**规则文件**: `spec/presets/anti-ai-detection/AI 句式规则.json`
```json
{
"对比句式": {
"pattern": "不是.*而是.*",
"max_frequency": 2,
"severity": "medium",
"fix": "打破对称结构,使用不同表达"
},
"连续句式": {
"pattern": "(首先|其次|最后|第一|第二|第三)",
"max_consecutive": 3,
"severity": "high",
"fix": "打破连续性,使用不同开头"
}
}
```
**验收标准**:
- ✅ 能识别 10+ 典型 AI 句式
- ✅ 能检测句式重复(同一句式 > 2 次)
- ✅ 提供拆解建议
---
### 3.3 书面词汇替换库
#### 3.3.1 200+ 替换对照表
**功能描述**: 建立书面词汇到口语化表达的映射
**文件位置**: `spec/presets/anti-ai-detection/书面词汇替换库.md`
**分类替换表**:
##### 类别 1: 动作类
| 书面词汇 | 口语化替换 | 更好的替换 |
|---------|-----------|-----------|
| 进行操作 | 用 | 直接用 XX |
| 实施管理 | 管 | 管好 XX |
| 开展工作 | 做 | 做 XX |
| 提供帮助 | 帮 | 帮你 XX |
| 进行测试 | 测 | 测一下 |
| 实现功能 | 做到 | 做到了 XX |
| 完成任务 | 做完 | 搞定了 |
##### 类别 2: 程度类
| 书面词汇 | 口语化替换 | 更好的替换 |
|---------|-----------|-----------|
| 显著提升 | 提升很多 | 提升 40%(具体数字)|
| 大幅度提高 | 快了不少 | 快了 3-5 小时 |
| 极大地改善 | 好多了 | 从 D 到 A(具体对比)|
| 明显优化 | 优化了 | bug 少了 30% |
| 充分利用 | 用好 | 直接用 XX 功能 |
##### 类别 3: 连接类
| 书面词汇 | 口语化替换 | 更好的替换 |
|---------|-----------|-----------|
| 因此 | 所以 | 所以 |
| 然而 | 但是 | 不过 |
| 此外 | 还有 | 另外 |
| 与此同时 | 同时 | (删除,直接说)|
| 综上所述 | (删除)| (删除)|
##### 类别 4: 态度类
| 书面词汇 | 口语化替换 | 更好的替换 |
|---------|-----------|-----------|
| 可以认为 | 我认为 | 我觉得 |
| 在某种程度上 | (删除)| (删除)|
| 基本上 | (删除)| (删除)|
| 值得注意的是 | 注意 | 重点是 |
**完整库**: 包含 200+ 对照
**规则文件**: `spec/presets/anti-ai-detection/书面词汇库.json`
```json
{
"动作类": [
{"书面": "进行操作", "口语": "用", "更好": "直接用 XX"},
{"书面": "实施管理", "口语": "管", "更好": "管好 XX"}
],
"程度类": [
{"书面": "显著提升", "口语": "提升很多", "更好": "提升 XX%(具体数字)"},
{"书面": "大幅度提高", "口语": "快了不少", "更好": "快了 X-Y 小时"}
]
}
```
**验收标准**:
- ✅ 包含至少 200 个替换对照
- ✅ 按类别分组(动作/程度/连接/态度等)
- ✅ 提供"更好的替换"(具体化建议)
---
### 3.4 审校输出格式
#### 3.4.1 对比输出模板
**功能描述**: 清晰展示修改前后对比
**输出格式**:
```
## 🔍 风格审校报告
**文章**: articles/001-claude-code/draft.md
**审校时间**: 2025-10-26 10:30
**发现问题**: 12 处
---
### ⚠️ 需修改 (12 处)
#### 【位置】第 1 段第 1 句
❌ **原文**: "在当今 AI 技术飞速发展的时代,编程工具也在不断进化..."
✅ **改为**: "Claude Code 出了两周。我每天都在用。"
**修改理由**:
- 删除时代背景套话("在当今...时代")
- 用真实时长代替抽象描述
- 拆分长句(原句 38 字)
**AI 特征**:
- 🏷️ 套话(时代背景类)
- 🏷️ 书面语
- 🏷️ 句子过长
---
#### 【位置】第 3 段第 2 句
❌ **原文**: "通过充分利用 Claude Code 的能力,可以显著提升开发效率"
✅ **改为**: "用好 Claude Code,每个项目能省 3-5 小时"
**修改理由**:
- 替换书面词汇("充分利用" → "用好")
- 替换程度副词("显著提升" → "省 3-5 小时")
- 用具体数字替代抽象表达
**AI 特征**:
- 🏷️ 套话(动作类 + 程度类)
- 🏷️ 书面词汇
- 🏷️ 抽象表达
---
### ✅ 已符合标准 (8 处)
- 第 2 段:使用真实案例,口语化表达
- 第 5 段:具体数字,有态度
- ...
---
### 📊 审校统计
| 维度 | 原文 | 改后 | 改进 |
|------|------|------|------|
| **AI 检测率** | 68% | 28% | ✅ 降低 40% |
| **套话数量** | 15 个 | 3 个 | ✅ 减少 80% |
| **平均句长** | 28 字 | 18 字 | ✅ 缩短 35% |
| **具体数字** | 2 个 | 8 个 | ✅ 增加 300% |
---
### 💡 建议
1. 继续加入更多真实案例(当前 2 个,建议 5+ 个)
2. 第 7 段仍有"不是...而是..."句式,可以拆解
3. 考虑增加个人态度表达
---
应用全部修改?
- `yes` - 应用全部修改
- `no` - 不应用,保留原文
- `edit` - 逐条编辑
- `preview` - 预览修改后的完整文章
```
**验收标准**:
- ✅ 清晰的对比格式(❌ vs ✅)
- ✅ 说明修改理由
- ✅ 标注 AI 特征(套话/句式/书面词汇)
- ✅ 提供统计数据(AI 检测率变化)
- ✅ 给出后续建议
---
## 4. 技术方案
### 4.1 文件结构
```
spec/presets/anti-ai-detection/
├── 套话库.md # 8 大类套话,示例和替换策略
├── 套话识别规则.json # 正则表达式和关键词
├── AI 句式库.md # 典型 AI 句式
├── AI 句式规则.json # 句式识别规则
├── 书面词汇替换库.md # 200+ 对照表
├── 书面词汇库.json # 结构化数据
└── 审校输出模板.md # 对比输出格式
```
### 4.2 实现步骤
#### Step 1: 创建套话库(Day 1)
1. 编写 `套话库.md`(8 大类,每类 10+ 示例)
2. 编写 `套话识别规则.json`(正则 + 关键词)
3. 收集真实案例(从 AI 生成文章中提取)
#### Step 2: 创建句式库(Day 1)
1. 编写 `AI 句式库.md`(10+ 典型句式)
2. 编写 `AI 句式规则.json`(识别规则)
3. 测试句式识别准确性
#### Step 3: 创建替换库(Day 2)
1. 编写 `书面词汇替换库.md`(200+ 对照)
2. 按类别分组(动作/程度/连接/态度)
3. 编写 `书面词汇库.json`(结构化数据)
4. 提供"更好的替换"建议
#### Step 4: 更新 /audit 命令(Day 3)
1. 修改 `templates/commands/audit.md`
2. 嵌入套话库、句式库、替换库引用
3. 实现对比输出格式
4. 实现统计功能(AI 检测率、套话数量等)
#### Step 5: 测试和优化(Day 3)
1. 用真实 AI 文章测试
2. 验证 AI 检测率是否降到 30% 以下
3. 收集新的套话和句式案例
4. 优化识别规则
---
## 5. 验收标准
### 5.1 功能验收
#### 测试用例 1: 套话识别
```
✅ 输入: 包含 15 个套话的文章
✅ 执行: /audit style
✅ 预期结果:
- 识别出至少 12 个套话(召回率 > 80%)
- 每个套话提供替换建议
- 对比输出清晰
```
#### 测试用例 2: 句式识别
```
✅ 输入: 包含 3 次"不是...而是..."的文章
✅ 执行: /audit style
✅ 预期结果:
- 识别出连续使用的句式
- 提供拆解建议
- 标注为"AI 特征"
```
#### 测试用例 3: 词汇替换
```
✅ 输入: 包含 20 个书面词汇的文章
✅ 执行: /audit style
✅ 预期结果:
- 识别出至少 16 个(召回率 > 80%)
- 提供口语化替换
- 提供"更好的替换"(具体化)
```
#### 测试用例 4: AI 检测率
```
✅ 输入: AI 检测率 60% 的文章
✅ 执行: /audit style
✅ 预期结果:
- 修改后 AI 检测率 < 30%(80% 案例达标)
- 提供前后对比数据
```
### 5.2 质量标准
**套话库**:
- ✅ 8 大类全部覆盖
- ✅ 每类至少 10+ 示例
- ✅ 总计 100+ 套话短语
- ✅ 识别准确率 > 90%
**句式库**:
- ✅ 至少 10 种典型 AI 句式
- ✅ 能检测重复使用(> 2 次)
- ✅ 提供拆解建议
**替换库**:
- ✅ 至少 200 个对照
- ✅ 按类别分组
- ✅ 提供"更好的替换"
**审校效果**:
- ✅ AI 检测率降至 30% 以下(80% 案例)
- ✅ 套话减少 > 80%
- ✅ 平均句长控制在 15-25 字
- ✅ 具体数字增加 > 2 倍
---
## 6. 风险和依赖
### 6.1 技术风险
#### 风险 1: AI 可能无法严格遵循规则库
**描述**: Claude 可能临场发挥,不使用规则库
**缓解措施**:
- 在命令中明确引用规则库文件
- 使用 `allowed-tools: Read(//spec/presets/anti-ai-detection/**)` 强制读取
- 提供清晰的示例
**应急方案**:
- 简化规则库,只保留核心规则
- 增加命令中的示例说明
#### 风险 2: 识别准确率不足
**描述**: 套话/句式识别误报率高或召回率低
**缓解措施**:
- 持续收集真实案例优化规则
- 提供人工确认机制
- 允许用户自定义规则
**应急方案**:
- 降低自动化程度,提供建议由用户确认
- 优先保证准确率(宁可少报不要误报)
### 6.2 依赖关系
| 依赖项 | 类型 | 说明 |
|--------|------|------|
| **/audit 命令** | 命令模板 | 需要引用规则库 |
| **真实案例** | 数据来源 | 需要收集 AI 生成文章 |
| **AI 检测工具** | 外部工具 | 用于验证效果(如腾讯朱雀 API)|
---
## 7. 后续迭代
### v1.1 - 规则库扩展
- 套话库扩展到 200+
- 句式库扩展到 20+
- 替换库扩展到 500+
### v1.2 - 个性化规则
- 用户可自定义套话库
- 学习用户写作风格,自动生成替换规则
### v2.0 - AI 检测 API 集成
- 集成腾讯朱雀等 AI 检测 API
- 实时显示 AI 检测率
- 自动迭代优化直到 < 30%
---
## 附录
### A. 套话库示例
完整套话库见:`spec/presets/anti-ai-detection/套话库.md`
### B. 替换库示例
完整替换库见:`spec/presets/anti-ai-detection/书面词汇替换库.md`
### C. 变更日志
| 日期 | 版本 | 变更内容 | 作者 |
|------|------|----------|------|
| 2025-10-26 | 0.1 | 初始创建 | Claude |
---
**PRD 状态**: 📝 待评审 → 待开发