@@ -7,7 +7,6 @@ AIが生成した文章によく見られる記述パターンを検出します
7
7
8
8
表現を縛るのではなく、構造を縛ることで、より自然な表現にすることを目的としています。
9
9
10
-
11
10
## Install
12
11
13
12
Install with [ npm] ( https://www.npmjs.com/package/@textlint-ja/textlint-rule-preset-ai-writing ) :
@@ -18,7 +17,6 @@ Install with [npm](https://www.npmjs.com/package/@textlint-ja/textlint-rule-pres
18
17
19
18
- [ textlint 15.1.0] ( https://github.com/textlint/textlint/releases/tag/v15.1.0 ) 以降が必要です
20
19
21
-
22
20
## Usage
23
21
24
22
Via ` .textlintrc ` (Recommended)
@@ -31,75 +29,106 @@ Via `.textlintrc`(Recommended)
31
29
}
32
30
```
33
31
32
+ ### MCPサーバとしての利用
33
+
34
+ このプリセットは、AIが書いた文章をAIがチェックして改善するワークフローに最適化されています。
35
+
36
+ textlint v14.8.0以降では、MCPサーバとして利用することで、Claude CodeやVSCode CopilotなどのAIツールと連携できます。
37
+
38
+ ``` bash
39
+ # MCPサーバとして起動
40
+ npx textlint --mcp
41
+ ```
42
+
43
+ MCPサーバの詳しい設定方法は [ textlint MCP documentation] ( https://textlint.org/docs/mcp/ ) を参照してください。
44
+
45
+ このMCPサーバ機能を使うことで、AIツールとtextlintを組み合わせた次のようなフィードバックループが実現できます。
46
+
47
+ 1 . AIツールが文章を生成する
48
+ 2 . 生成した文章をtextlint MCPサーバでチェックする
49
+ 3 . チェック結果をもとにAIツールが改善提案や修正を行う
50
+
51
+ このようなサイクルを想定したルールセットが含まれています。
52
+
34
53
## バージョニング方針
35
54
36
55
このプリセットは次のバージョニングでアップデートします。
37
56
38
57
- patch(パッチバージョン): ルールの修正
39
- - エラーメッセージの改善
40
- - 既存ルールの検出精度向上
41
- - バグ修正
42
- - 注意: ルール修正によりエラーが増える場合もありますが、これもpatchとして扱います
58
+ - エラーメッセージの改善
59
+ - 既存ルールの検出精度向上
60
+ - バグ修正
61
+ - 注意: ルール修正によりエラーが増える場合もありますが、これもpatchとして扱います
43
62
- minor(マイナーバージョン): ルールの追加
44
- - 新しいルールの追加
45
- - 新しいオプションの追加
63
+ - 新しいルールの追加
64
+ - 新しいオプションの追加
46
65
- major(メジャーバージョン): ルールの削除
47
- - 既存ルールの削除
48
- - 破壊的変更
66
+ - 既存ルールの削除
67
+ - 破壊的変更
49
68
50
69
ルール修正(patch)でもエラー数は変動する可能性があります。更新時はpackage-lock.jsonやyarn.lockなどのロックファイルの利用を推奨します。
51
70
52
71
## 含まれるルール
53
72
54
73
### 1. no-ai-list-formatting
74
+
55
75
リストアイテムで機械的な印象を与える可能性のある記述パターンを検出します。
56
76
57
77
### 2. no-ai-hype-expressions
78
+
58
79
AIライティングで過度に使用されがちな誇張表現やハイプ的な表現を検出します。
59
80
60
81
### 3. no-ai-emphasis-patterns
82
+
61
83
AIが機械的に生成しがちな強調パターンを検出します。
62
84
63
85
### 4. ai-tech-writing-guideline
86
+
64
87
テクニカルライティングのベストプラクティスに基づいて、文書品質の改善提案を行います。
65
88
詳細なガイドラインについては [ docs/tech-writing-guidelines.md] ( ./docs/tech-writing-guidelines.md ) を参照してください。
66
89
67
90
#### 推奨する組み合わせ
91
+
68
92
このルールは [ textlint-rule-preset-ja-technical-writing] ( https://github.com/textlint-ja/textlint-rule-preset-ja-technical-writing ) との組み合わせを推奨します。
69
93
` ja-technical-writing ` はfalse positiveが少ない確実なルールセットで、基本的な日本語技術文書の品質を担保します。
70
94
本ルール(` ai-tech-writing-guideline ` )は、より高度な文書品質向上のためのサジェストとして使用することを想定しています。
71
95
72
96
#### 検出される内容
97
+
73
98
- 簡潔性: 冗長表現の排除
74
- ```
75
- まず最初に → まず
76
- 〜することができます → 〜します
77
- ```
99
+ ```
100
+ まず最初に → まず
101
+ 〜することができます → 〜します
102
+ ```
78
103
- 明確性: 能動態の使用推奨(受動態から能動態への変更提案)
79
104
- 具体性: 抽象的表現の具体化(「高速な」→「50ms未満の」など)
80
105
- 一貫性: 用語と表現の統一(同一対象への異なる用語使用の検出)
81
106
- 構造化: 文の長さと情報整理(長い文の分割提案など)
82
107
83
108
#### 4-1. リストアイテムの強調表現
109
+
84
110
- `allows`: 指定したパターンにマッチする場合、エラーを報告しません
85
- - 文字列: ` "許可したいテキスト" `
86
- - 正規表現: ` "/パターン/フラグ" ` (例: ` "/以下のような.*/" ` )
111
+ - 文字列: `"許可したいテキスト"`
112
+ - 正規表現: `"/パターン/フラグ"` (例: `"/以下のような.*/"`)
87
113
88
114
#### no-ai-hype-expressions
115
+
89
116
- `allows`: 指定したパターンにマッチする場合、エラーを報告しません
90
- - 文字列: ` "許可したいテキスト" `
91
- - 正規表現: ` "/パターン/フラグ" ` (例: ` "/革命的な.*/" ` )
117
+ - 文字列: `"許可したいテキスト"`
118
+ - 正規表現: `"/パターン/フラグ"` (例: `"/革命的な.*/"`)
92
119
- `disableAbsolutenessPatterns`: `true`にすると絶対性・完全性を演出する表現の検出を無効にする
93
120
- `disableAbstractPatterns`: `true`にすると抽象的・感覚的効果を演出する表現の検出を無効にする
94
121
- `disabledPredictivePatterns`: `true`にすると権威的・予言的な表現の検出を無効にしますパターン
95
122
96
123
検出される例:
124
+
97
125
```markdown
98
126
- **重要**: これは重要な項目です
99
127
- **注意**: 注意が必要な項目です
100
128
```
101
129
102
130
書き換えた例:
131
+
103
132
``` markdown
104
133
- 重要な項目: これは重要な項目です
105
134
- 注意事項: 注意が必要な項目です
@@ -111,9 +140,10 @@ AIが機械的に使いがちな装飾的な絵文字の使用を検出します
111
140
検出対象は、特に「華やか」で機械的な印象を与える絵文字に限定されています。
112
141
113
142
検出される例:
143
+
114
144
``` markdown
115
145
- ✅ 完了した項目
116
- - ❌ 失敗した項目
146
+ - ❌ 失敗した項目
117
147
- 💡 アイデア項目
118
148
- 🔥 ホットな話題
119
149
- 🚀 開始準備完了
@@ -123,6 +153,7 @@ AIが機械的に使いがちな装飾的な絵文字の使用を検出します
123
153
```
124
154
125
155
書き換えた例:
156
+
126
157
``` markdown
127
158
- 完了した項目
128
159
- 失敗した項目
@@ -137,11 +168,13 @@ AIが機械的に使いがちな装飾的な絵文字の使用を検出します
137
168
注意: 普通の絵文字(😀, 🍎, 🐱, 🌸など)は検出されません。
138
169
139
170
### 2. no-ai-hype-expressions
171
+
140
172
AIライティングで過度に使用されがちな誇張表現やハイプ的な表現を検出します。自然で読みやすい文章を促進するためのルールです。
141
173
142
174
#### 3-1. 絶対性・完全性を演出する表現
143
175
144
176
検出される例:
177
+
145
178
``` markdown
146
179
革命的な技術で業界を変えます。
147
180
これはゲームチェンジャーです。
@@ -153,6 +186,7 @@ AIライティングで過度に使用されがちな誇張表現やハイプ的
153
186
```
154
187
155
188
書き換えた例:
189
+
156
190
``` markdown
157
191
効果的な技術で業界に変化をもたらします。
158
192
これは大きな変化をもたらすでしょう。
@@ -166,6 +200,7 @@ AIライティングで過度に使用されがちな誇張表現やハイプ的
166
200
#### 3-2. 抽象的・感覚的効果を演出する表現
167
201
168
202
検出される例:
203
+
169
204
``` markdown
170
205
魔法のように動作します。
171
206
奇跡的な結果を生み出します。
@@ -175,6 +210,7 @@ AIを民主化するプラットフォームです。
175
210
```
176
211
177
212
書き換えた例:
213
+
178
214
``` markdown
179
215
スムーズに動作します。
180
216
優れた結果を生み出します。
@@ -186,6 +222,7 @@ AIを利用しやすくするプラットフォームです。
186
222
#### 3-3. 権威的・予言的な表現
187
223
188
224
検出される例:
225
+
189
226
``` markdown
190
227
業界を再定義する革新です。
191
228
未来を変える技術です。
@@ -195,6 +232,7 @@ AIを利用しやすくするプラットフォームです。
195
232
```
196
233
197
234
書き換えた例:
235
+
198
236
``` markdown
199
237
業界に新しい視点をもたらす革新です。
200
238
将来に影響を与える技術です。
@@ -203,7 +241,6 @@ AIを利用しやすくするプラットフォームです。
203
241
新しいソリューションです。
204
242
```
205
243
206
-
207
244
### 推奨構成: ja-technical-writing との組み合わせ
208
245
209
246
基本的な日本語技術文書の品質担保と、より高度な文書品質向上の組み合わせ:
@@ -260,9 +297,10 @@ AIを利用しやすくするプラットフォームです。
260
297
### Options説明
261
298
262
299
#### no-ai-list-formatting
300
+
263
301
- ` allows ` : 指定したパターンにマッチする場合、エラーを報告しません
264
- - 文字列: ` "許可したいテキスト" `
265
- - 正規表現: ` "/パターン/フラグ" ` (例: ` "/重要.*/i" ` )
302
+ - 文字列: ` "許可したいテキスト" `
303
+ - 正規表現: ` "/パターン/フラグ" ` (例: ` "/重要.*/i" ` )
266
304
- ` disableBoldListItems ` : ` true ` にすると強調リストアイテムの検出を無効にする
267
305
- ` disableEmojiListItems ` : ` true ` にすると絵文字リストアイテムの検出を無効にする
268
306
@@ -271,24 +309,26 @@ AIを利用しやすくするプラットフォームです。
271
309
` allows ` オプションでは、[ regexp-string-matcher] ( https://github.com/textlint/regexp-string-matcher ) の形式で正規表現パターンを指定できます。
272
310
273
311
#### 基本的な使い方
312
+
274
313
``` json
275
314
{
276
315
"allows" : [
277
- " 特定の文字列" , // 完全一致
278
- " /パターン/" , // 正規表現(基本)
279
- " /パターン/i" , // 大文字小文字を無視
280
- " /パターン/m" // 複数行マッチ
316
+ " 特定の文字列" , // 完全一致
317
+ " /パターン/" , // 正規表現(基本)
318
+ " /パターン/i" , // 大文字小文字を無視
319
+ " /パターン/m" // 複数行マッチ
281
320
]
282
321
}
283
322
```
284
323
285
324
#### 実用例
325
+
286
326
``` json
287
327
{
288
328
"allows" : [
289
- " /重要.*/" , // 「重要」で始まる任意の文字列
290
- " /\\ *\\ *注意\\ *\\ */" , // **注意** (特殊文字をエスケープ)
291
- " /TODO.*/i" , // TODO で始まる文字列(大文字小文字無視)
329
+ " /重要.*/" , // 「重要」で始まる任意の文字列
330
+ " /\\ *\\ *注意\\ *\\ */" , // **注意** (特殊文字をエスケープ)
331
+ " /TODO.*/i" , // TODO で始まる文字列(大文字小文字無視)
292
332
" /\\ d{4}-\\ d{2}-\\ d{2}/" // 日付形式 (YYYY-MM-DD)
293
333
]
294
334
}
@@ -300,7 +340,6 @@ Via CLI
300
340
textlint --rule @textlint-ja/no-ai-writing README.md
301
341
```
302
342
303
-
304
343
## Changelog
305
344
306
345
See [ Releases page] ( https://github.com/textlint-ja/textlint-rule-no-ai-writing/releases ) .
0 commit comments