@@ -7,7 +7,6 @@ AIが生成した文章によく見られる記述パターンを検出します
77
88表現を縛るのではなく、構造を縛ることで、より自然な表現にすることを目的としています。
99
10-
1110## Install
1211
1312Install 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
1817
1918- [ textlint 15.1.0] ( https://github.com/textlint/textlint/releases/tag/v15.1.0 ) 以降が必要です
2019
21-
2220## Usage
2321
2422Via ` .textlintrc ` (Recommended)
@@ -31,75 +29,106 @@ Via `.textlintrc`(Recommended)
3129}
3230```
3331
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+
3453## バージョニング方針
3554
3655このプリセットは次のバージョニングでアップデートします。
3756
3857- patch(パッチバージョン): ルールの修正
39- - エラーメッセージの改善
40- - 既存ルールの検出精度向上
41- - バグ修正
42- - 注意: ルール修正によりエラーが増える場合もありますが、これもpatchとして扱います
58+ - エラーメッセージの改善
59+ - 既存ルールの検出精度向上
60+ - バグ修正
61+ - 注意: ルール修正によりエラーが増える場合もありますが、これもpatchとして扱います
4362- minor(マイナーバージョン): ルールの追加
44- - 新しいルールの追加
45- - 新しいオプションの追加
63+ - 新しいルールの追加
64+ - 新しいオプションの追加
4665- major(メジャーバージョン): ルールの削除
47- - 既存ルールの削除
48- - 破壊的変更
66+ - 既存ルールの削除
67+ - 破壊的変更
4968
5069ルール修正(patch)でもエラー数は変動する可能性があります。更新時はpackage-lock.jsonやyarn.lockなどのロックファイルの利用を推奨します。
5170
5271## 含まれるルール
5372
5473### 1. no-ai-list-formatting
74+
5575リストアイテムで機械的な印象を与える可能性のある記述パターンを検出します。
5676
5777### 2. no-ai-hype-expressions
78+
5879AIライティングで過度に使用されがちな誇張表現やハイプ的な表現を検出します。
5980
6081### 3. no-ai-emphasis-patterns
82+
6183AIが機械的に生成しがちな強調パターンを検出します。
6284
6385### 4. ai-tech-writing-guideline
86+
6487テクニカルライティングのベストプラクティスに基づいて、文書品質の改善提案を行います。
6588詳細なガイドラインについては [ docs/tech-writing-guidelines.md] ( ./docs/tech-writing-guidelines.md ) を参照してください。
6689
6790#### 推奨する組み合わせ
91+
6892このルールは [ textlint-rule-preset-ja-technical-writing] ( https://github.com/textlint-ja/textlint-rule-preset-ja-technical-writing ) との組み合わせを推奨します。
6993` ja-technical-writing ` はfalse positiveが少ない確実なルールセットで、基本的な日本語技術文書の品質を担保します。
7094本ルール(` ai-tech-writing-guideline ` )は、より高度な文書品質向上のためのサジェストとして使用することを想定しています。
7195
7296#### 検出される内容
97+
7398- 簡潔性: 冗長表現の排除
74- ```
75- まず最初に → まず
76- 〜することができます → 〜します
77- ```
99+ ```
100+ まず最初に → まず
101+ 〜することができます → 〜します
102+ ```
78103- 明確性: 能動態の使用推奨(受動態から能動態への変更提案)
79104- 具体性: 抽象的表現の具体化(「高速な」→「50ms未満の」など)
80105- 一貫性: 用語と表現の統一(同一対象への異なる用語使用の検出)
81106- 構造化: 文の長さと情報整理(長い文の分割提案など)
82107
83108#### 4-1. リストアイテムの強調表現
109+
84110- `allows`: 指定したパターンにマッチする場合、エラーを報告しません
85- - 文字列: ` "許可したいテキスト" `
86- - 正規表現: ` "/パターン/フラグ" ` (例: ` "/以下のような.*/" ` )
111+ - 文字列: `"許可したいテキスト"`
112+ - 正規表現: `"/パターン/フラグ"` (例: `"/以下のような.*/"`)
87113
88114#### no-ai-hype-expressions
115+
89116- `allows`: 指定したパターンにマッチする場合、エラーを報告しません
90- - 文字列: ` "許可したいテキスト" `
91- - 正規表現: ` "/パターン/フラグ" ` (例: ` "/革命的な.*/" ` )
117+ - 文字列: `"許可したいテキスト"`
118+ - 正規表現: `"/パターン/フラグ"` (例: `"/革命的な.*/"`)
92119- `disableAbsolutenessPatterns`: `true`にすると絶対性・完全性を演出する表現の検出を無効にする
93120- `disableAbstractPatterns`: `true`にすると抽象的・感覚的効果を演出する表現の検出を無効にする
94121- `disabledPredictivePatterns`: `true`にすると権威的・予言的な表現の検出を無効にしますパターン
95122
96123検出される例:
124+
97125```markdown
98126- **重要**: これは重要な項目です
99127- **注意**: 注意が必要な項目です
100128```
101129
102130書き換えた例:
131+
103132``` markdown
104133- 重要な項目: これは重要な項目です
105134- 注意事項: 注意が必要な項目です
@@ -111,9 +140,10 @@ AIが機械的に使いがちな装飾的な絵文字の使用を検出します
111140検出対象は、特に「華やか」で機械的な印象を与える絵文字に限定されています。
112141
113142検出される例:
143+
114144``` markdown
115145- ✅ 完了した項目
116- - ❌ 失敗した項目
146+ - ❌ 失敗した項目
117147- 💡 アイデア項目
118148- 🔥 ホットな話題
119149- 🚀 開始準備完了
@@ -123,6 +153,7 @@ AIが機械的に使いがちな装飾的な絵文字の使用を検出します
123153```
124154
125155書き換えた例:
156+
126157``` markdown
127158- 完了した項目
128159- 失敗した項目
@@ -137,11 +168,13 @@ AIが機械的に使いがちな装飾的な絵文字の使用を検出します
137168注意: 普通の絵文字(😀, 🍎, 🐱, 🌸など)は検出されません。
138169
139170### 2. no-ai-hype-expressions
171+
140172AIライティングで過度に使用されがちな誇張表現やハイプ的な表現を検出します。自然で読みやすい文章を促進するためのルールです。
141173
142174#### 3-1. 絶対性・完全性を演出する表現
143175
144176検出される例:
177+
145178``` markdown
146179革命的な技術で業界を変えます。
147180これはゲームチェンジャーです。
@@ -153,6 +186,7 @@ AIライティングで過度に使用されがちな誇張表現やハイプ的
153186```
154187
155188書き換えた例:
189+
156190``` markdown
157191効果的な技術で業界に変化をもたらします。
158192これは大きな変化をもたらすでしょう。
@@ -166,6 +200,7 @@ AIライティングで過度に使用されがちな誇張表現やハイプ的
166200#### 3-2. 抽象的・感覚的効果を演出する表現
167201
168202検出される例:
203+
169204``` markdown
170205魔法のように動作します。
171206奇跡的な結果を生み出します。
@@ -175,6 +210,7 @@ AIを民主化するプラットフォームです。
175210```
176211
177212書き換えた例:
213+
178214``` markdown
179215スムーズに動作します。
180216優れた結果を生み出します。
@@ -186,6 +222,7 @@ AIを利用しやすくするプラットフォームです。
186222#### 3-3. 権威的・予言的な表現
187223
188224検出される例:
225+
189226``` markdown
190227業界を再定義する革新です。
191228未来を変える技術です。
@@ -195,6 +232,7 @@ AIを利用しやすくするプラットフォームです。
195232```
196233
197234書き換えた例:
235+
198236``` markdown
199237業界に新しい視点をもたらす革新です。
200238将来に影響を与える技術です。
@@ -203,7 +241,6 @@ AIを利用しやすくするプラットフォームです。
203241新しいソリューションです。
204242```
205243
206-
207244### 推奨構成: ja-technical-writing との組み合わせ
208245
209246基本的な日本語技術文書の品質担保と、より高度な文書品質向上の組み合わせ:
@@ -260,9 +297,10 @@ AIを利用しやすくするプラットフォームです。
260297### Options説明
261298
262299#### no-ai-list-formatting
300+
263301- ` allows ` : 指定したパターンにマッチする場合、エラーを報告しません
264- - 文字列: ` "許可したいテキスト" `
265- - 正規表現: ` "/パターン/フラグ" ` (例: ` "/重要.*/i" ` )
302+ - 文字列: ` "許可したいテキスト" `
303+ - 正規表現: ` "/パターン/フラグ" ` (例: ` "/重要.*/i" ` )
266304- ` disableBoldListItems ` : ` true ` にすると強調リストアイテムの検出を無効にする
267305- ` disableEmojiListItems ` : ` true ` にすると絵文字リストアイテムの検出を無効にする
268306
@@ -271,24 +309,26 @@ AIを利用しやすくするプラットフォームです。
271309` allows ` オプションでは、[ regexp-string-matcher] ( https://github.com/textlint/regexp-string-matcher ) の形式で正規表現パターンを指定できます。
272310
273311#### 基本的な使い方
312+
274313``` json
275314{
276315 "allows" : [
277- " 特定の文字列" , // 完全一致
278- " /パターン/" , // 正規表現(基本)
279- " /パターン/i" , // 大文字小文字を無視
280- " /パターン/m" // 複数行マッチ
316+ " 特定の文字列" , // 完全一致
317+ " /パターン/" , // 正規表現(基本)
318+ " /パターン/i" , // 大文字小文字を無視
319+ " /パターン/m" // 複数行マッチ
281320 ]
282321}
283322```
284323
285324#### 実用例
325+
286326``` json
287327{
288328 "allows" : [
289- " /重要.*/" , // 「重要」で始まる任意の文字列
290- " /\\ *\\ *注意\\ *\\ */" , // **注意** (特殊文字をエスケープ)
291- " /TODO.*/i" , // TODO で始まる文字列(大文字小文字無視)
329+ " /重要.*/" , // 「重要」で始まる任意の文字列
330+ " /\\ *\\ *注意\\ *\\ */" , // **注意** (特殊文字をエスケープ)
331+ " /TODO.*/i" , // TODO で始まる文字列(大文字小文字無視)
292332 " /\\ d{4}-\\ d{2}-\\ d{2}/" // 日付形式 (YYYY-MM-DD)
293333 ]
294334}
@@ -300,7 +340,6 @@ Via CLI
300340textlint --rule @textlint-ja/no-ai-writing README.md
301341```
302342
303-
304343## Changelog
305344
306345See [ Releases page] ( https://github.com/textlint-ja/textlint-rule-no-ai-writing/releases ) .
0 commit comments