Rules
適用しているルール(15件)
AI指示書リンターが検査に使っているルールの全文です。ルールセット v1.0.0。 このページはルール定義そのものから生成しているので、実際の検査と食い違いません。
全ルール共通の前処理(検査の対象外にする領域)
検査の前に次の領域を同じ長さの空白で塗りつぶし、全ルールから見えなくします(位置と長さを保つので行番号はずれません)。
- 先頭の YAML frontmatter(--- で囲まれた冒頭ブロック)
- フェンス付きコードブロック(``` と ~~~)
- インラインコード(同じ行の中でバッククォートに囲まれた範囲)
- HTML コメント(<!-- -->)
- URL(http:// と https:// で始まる文字列)と Markdown リンクの URL 部分
入力の上限は 200,000 文字です。改行コード(CRLF / LF)は揃えてから検査します。
ルール一覧
| ID | ルール | 種別 |
|---|---|---|
| CON-01 | 必ず と 禁止 に同じ言葉が出てくる | 要確認 |
| CON-02 | 同じ単位の上限・下限が複数ある | 要確認 |
| CON-03 | 同じ指示が2回以上書かれている | 要確認 |
| AMB-04 | 未確定の印が残っている | 要確認 |
| PRH-01 | 禁止のつもりが弱い言い方になっている | 要確認 |
| PRH-02 | 禁止の見出しなのに項目が肯定形 | 要確認 |
| AMB-01 | 解釈の余地がある語 | 気づき |
| AMB-02 | 期限・頻度が数値になっていない | 気づき |
| AMB-03 | 二重否定 | 気づき |
| AMB-05 | 例と決まりが同じ文に入っている | 気づき |
| REF-01 | たどれない参照 | 気づき |
| STR-01 | 見出しの階層が飛んでいる | 参考 |
| STR-02 | 同じ見出しが複数回ある | 参考 |
| STR-03 | 1つの項目に指示が詰め込まれている | 参考 |
| STR-04 | 分量が目安を超えている | 参考 |
CON-01 · 要確認
必ず と 禁止 に同じ言葉が出てくる
- 何を見るか
- 文を必須文(必ず/must/常に/毎回/〜すること)と禁止文(禁止/〜しない/してはならない/never/must not)に分け、両方から「漢字またはカタカナ2文字以上+する」の形の語と鉤括弧で囲まれた語を抜き出して突き合わせ、同じ語が両側(別の文)に出た組を原文2行と一緒に並べます。
- なぜ問題か
- AI は矛盾に出会っても質問せず、どちらかを黙って選びます。どちらを選んだかは出力に現れないので、人は誤りに気づけません。
- 誤検知しないと言える根拠
- 「矛盾している」とは判定しません。同じ語が両側に出たという出現事実と原文2行を並べるだけです。突き合わせるのは辞書化した語尾と「名詞+する」という形の一致のみで、意味を読みません。和語動詞の活用形は拾いません(取りこぼしは許容し、誤検知は許容しない)。
- どう書くか
- どちらが正しいかを決め、例外があれば条件を明記してください。
必須文の印5語
- 必ず
- 常に
- 毎回
- すること
- must(後に「 not」が続くときは除く)
禁止文の印6語
- 禁止
- しない
- してはならない
- してはいけない
- never
- must not
突き合わせる語の形
- 漢字またはカタカナ2文字以上 + する/します/すること/しない/しません/してはならない/してはいけない(語幹を比べる)
- 鉤括弧「 」で囲まれた語(1〜30文字)
CON-02 · 要確認
同じ単位の上限・下限が複数ある
- 何を見るか
- 数値+単位+限定語(以内・以下・未満・以上・まで・超)の組を全部拾い、同じ単位かつ同じ向き(上限どうし・下限どうし)で異なる数値が2つ以上あれば、全件を行番号付きで並べます。
- なぜ問題か
- 「500文字以内」と「800文字以内」が別の節にあると、AI はそのときどきで違う方を採ります。
- 誤検知しないと言える根拠
- 数値と単位は文字列として一意に取れ、意味解析が要りません。別物への上限であることもあるため「食い違い」とは断定せず、同じ単位の指定を全件並べるだけにします。日付(「9月3日まで」の「3日」)は数えません。
- どう書くか
- 別物の上限なら対象を明記し、同じものなら1つに揃えてください。
単位14語
- 文字
- 字
- 行
- 件
- 分
- 時間
- 日
- 回
- %
- %
- 円
- KB
- MB
- トークン
限定語(上限: 以内/以下/未満/まで、下限: 以上/超)6語
- 以内
- 以下
- 未満
- まで
- 以上
- 超
CON-03 · 要確認
同じ指示が2回以上書かれている
- 何を見るか
- 箇条書きの項目・段落を正規化(前後の空白、行頭記号、丸数字、太字の記号、句読点、全角半角を統一)した文字列で突き合わせ、完全一致が2回以上のものを列挙します。見出し・表の行は対象外です。
- なぜ問題か
- 同じ指示を2か所で保守すると、片方だけ直したときに CON-01 の矛盾になります。
- 誤検知しないと言える根拠
- 完全一致だけを見ます(類似度・言い換えを判定しません)。出るものは必ず本当に同じ文字列です。
- どう書くか
- 1か所にまとめ、もう片方は見出し名で参照してください。
しきい値
- 突き合わせる最小の長さ(正規化後): 10文字
AMB-04 · 要確認
未確定の印が残っている
- 何を見るか
- 未確定の印(TODO/FIXME/TBD/XXX/???/未定/検討中/あとで書く/(仮))の出現を、大文字小文字を区別せずに拾います。
- なぜ問題か
- 指示書に未定が残っていると、AI はそこを自分の推測で埋めて止まらずに進みます。
- 誤検知しないと言える根拠
- 決められた語の出現のみです。コード領域は前処理で対象外なので、拾うのは散文の中の未定だけです。「未定義」の「未定」は数えません。
- どう書くか
- 決めるか、決まるまでその節を外してください。
未確定の印(大文字小文字を区別しない)10語
- TODO
- FIXME
- TBD
- XXX
- ???
- 未定(後に「義」が続くときは除く)
- 検討中
- あとで書く
- (仮)
- (仮)
PRH-01 · 要確認
禁止のつもりが弱い言い方になっている
- 何を見るか
- 弱い禁止の言い方(〜は避ける/控える/望ましくない/推奨しない/しないほうがよい/should not/avoid など)の辞書一致を拾います。日本語の語は文末(語尾。「〜こと」「〜ように」「〜です」が続くものを含む)にあるときだけ拾い、「避けるための規律」のように文の途中にあるものは拾いません。英語の「to avoid」(「〜を避けるために」の意味)も拾いません。
- なぜ問題か
- AI は「避ける」を「原則そうするが事情があれば外れてよい」と読みます。絶対にさせたくないことは「〜しない」「〜してはならない」と書く必要があります。
- 誤検知しないと言える根拠
- 語尾の辞書一致のみです。言い換え案を併記するだけで書き換えはしません。本当に「推奨しない」程度の意味なら、そのままで構いません。
- どう書くか
- 絶対にさせないなら「〜しない」「〜してはならない」と書き、例外があれば条件を明記してください。
弱い禁止の言い方21語
- 避ける
- 避けてください
- 避けた方がよい
- 避けたほうがよい
- 控える
- 控えてください
- 望ましくない
- 推奨しない
- 推奨されない
- 推奨されません
- しないほうがよい
- しない方がよい
- しないほうがいい
- しない方がいい
- すべきでない
- すべきではない
- should not
- shouldn't
- avoid(前に「to 」があるときは除く)
- try not to
- refrain from
PRH-02 · 要確認
禁止の見出しなのに項目が肯定形
- 何を見るか
- 見出しに禁止の語(やらないこと/禁止/NG/してはいけない/Don't/Never/アンチパターン)を含む節を Markdown の見出しレベルで特定し、その節の箇条書き各項目のうち、末尾(句読点・括弧書きを除く)が否定側の辞書で終わっていないものを挙げます。
- なぜ問題か
- 「やらないこと」の下に「〜する」と書いてあると、節ごとに切り出して読む AI が指示として実行してしまいます。
- 誤検知しないと言える根拠
- 見出し語も語尾も辞書、節の範囲は見出し記号で機械的に決まります。体言止めの「〜は禁止」も否定側に入れ、「禁止: 〜」「Don't …」のように否定の語で始まる項目も否定側とみなします。語尾の形だけを見て意味を読みません。
- どう書くか
- 項目の末尾を「〜しない」「〜は禁止」の形にしてください。
禁止の見出しに含まれる語10語
- やらないこと
- しないこと
- 禁止
- NG
- してはいけない
- してはならない
- Don't
- Do not
- Never
- アンチパターン
否定側とみなす末尾27語
- ない
- ません
- しない
- ないこと
- ないでください
- ないように
- 禁止
- 不可
- NG
- 厳禁
- 禁ずる
- 禁じる
- 対象外
- だめ
- ダメ
- 駄目
- するな
- しないで
- せず
- べからず
- やめる
- やめてください
- never
- not
- don't
- forbidden
- prohibited
否定側とみなす先頭9語
- 禁止
- NG
- 不可
- don't
- do not
- never
- no
- not
- avoid
AMB-01 · 気づき
解釈の余地がある語
- 何を見るか
- 公開辞書との一致を拾います。
- なぜ問題か
- 「適切に」は AI 側が自分で基準を作ります。作った基準は出力に書かれないので、毎回変わります。
- 誤検知しないと言える根拠
- 辞書語が対象領域に出現したという事実のみです。辞書は全語を公開しているので、なぜ出たかを必ず追えます。「使ってはいけない」とは言わず「ここは AI が自分で決めます」と示すだけです。
- どう書くか
- 基準を数値・条件・具体名で書くか、AI に任せてよいなら「任せる」と明記してください。
解釈の余地がある語(日本語)39語
- 適切に(前に「不」があるときは除く)
- 適切な(前に「不」があるときは除く)
- 適宜
- 適当に
- なるべく
- 可能な限り
- 可能であれば
- 必要に応じて
- 必要なら
- 必要であれば
- 基本的に
- 原則として
- 柔軟に
- 臨機応変に
- いい感じに
- 良い感じに
- ちゃんと(前に「赤」があるときは除く)
- しっかり
- 十分に(前に「不」があるときは除く)
- できるだけ
- できれば
- 望ましい
- 場合によっては
- 状況に応じて
- ある程度
- 概ね
- おおむね
- だいたい
- 極力
- 妥当な
- それなりに
- よしなに
- 一般的に
- 通常は
- 常識的に
- 良識の範囲で
- 必要最小限
- その他
- など
解釈の余地がある語(英語)27語
- appropriately
- properly
- as needed
- if necessary
- as necessary
- reasonably
- reasonable
- as appropriate
- where appropriate
- when appropriate
- best effort
- best-effort
- etc
- and so on
- as much as possible
- where possible
- if possible
- whenever possible
- ideally
- generally
- typically
- roughly
- approximately
- sufficiently
- adequately
- sensibly
- in general
AMB-02 · 気づき
期限・頻度が数値になっていない
- 何を見るか
- 期限・頻度をぼかす語(定期的に/随時/速やかに/later/soon など)が、同じ文の中に数値+時間単位(30分以内・22:00・毎日 など)を伴わずに現れた箇所を拾います。
- なぜ問題か
- 無人で動く AI には「速やかに」の基準がありません。実行のタイミングが毎回変わります。
- 誤検知しないと言える根拠
- 判定は「辞書語がある」かつ「同じ文に数値+時間単位が無い」の2条件だけです。「30分以内に速やかに」は出ません。文の区切りは句点・改行・箇条書きの項目境界という機械的な単位です。
- どう書くか
- 「30分以内」「毎朝9時」のように、数値と単位で書いてください。
期限・頻度をぼかす語22語
- 定期的に
- 随時
- こまめに
- 速やかに
- 早めに
- 適時
- なるべく早く
- できるだけ早く
- すぐに(前に「まっ」があるときは除く)
- 後で(前に「最」・「直」・「の」・「た」・「だ」があるときは除く)
- 折を見て
- 頃合いを見て
- later
- soon(前に「as 」があるときは除く)
- regularly
- periodically
- ASAP
- as soon as possible
- from time to time
- promptly
- shortly
- eventually
「数値になっている」とみなす表現(正規表現)
- \d+\s*(?:秒|分|時間|日|週|週間|か月|ヶ月|ヵ月|カ月|月|年|営業日|ms|s|sec|min|h|hr|hours?|minutes?|days?|weeks?|months?|years?)(?![A-Za-z])
- \d{1,2}:\d{2}
- 毎(?:日|週|月|時|朝|晩|年|回)
- 日次|週次|月次|平日|即時
AMB-03 · 気づき
二重否定
- 何を見るか
- 決め打ちの文字列パターン(〜ないことはない/〜なくはない/〜ないわけではない/〜しないとは限らない/not unusual/never fails to など)との一致を拾います。
- なぜ問題か
- 二重否定は肯定にも否定にも読めます。AI は読み違えても質問せず進みます。
- 誤検知しないと言える根拠
- 決め打ちのパターンのみで、否定の一般解析をしません。当たった文字列そのものを原文と一緒に出すので、当たったこと自体が事実です。
- どう書くか
- 肯定か否定かを1つに決めて書き直してください。
二重否定の決め打ちパターン23語
- ないことはない
- ないこともない
- なくはない
- なくもない
- ないわけではない
- ないでもない
- しないとは限らない
- ないとは限らない
- not unusual
- not uncommon
- not unlikely
- not unreasonable
- not unimportant
- not unnecessary
- not unacceptable
- not unexpected
- not unclear
- not unable
- not unaware
- not unwilling
- not impossible
- never fails to
- never fail to
AMB-05 · 気づき
例と決まりが同じ文に入っている
- 何を見るか
- 同じ文の中に、必須の語(必ず/must/常に/してください/すること)と例示の語(例:/例えば/たとえば/e.g.)の両方が現れる箇所を拾います。
- なぜ問題か
- AI は例を仕様として固定しやすいです(「例: Slack に通知」と書くと Slack 以外を選べなくなります)。
- 誤検知しないと言える根拠
- 2つの辞書の共起という出現事実のみです。固定されるかどうかは判定せず、「この文は例と決まりが混ざっています」と原文を示します。
- どう書くか
- 決まりの文と例の文を分け、例には「一例であり他でもよい」と添えてください。
必須の語6語
- 必ず
- 常に
- してください
- すること
- must(後に「 not」が続くときは除く)
- always
例示の語9語
- 例:
- 例:
- 例)
- 例)
- 例えば
- たとえば
- e.g.
- for example
- for instance
REF-01 · 気づき
たどれない参照
- 何を見るか
- 参照の語(上記/下記/前述/後述/別紙/別添/以下参照/上の表/先ほどの/see above/see below など)の辞書一致を拾います。「上記「見出し名」」のように直後に鉤括弧で参照先が書かれているものは拾いません。
- なぜ問題か
- AI は指示書のうち必要な節だけを読むことがあり、「上記」が何を指すか分からないまま進みます。参照は見出し名・ファイル名で書きます。
- 誤検知しないと言える根拠
- 辞書語の出現のみです。参照が実際に解決できるかは判定しません(直前の行を指していて問題ない場合もあるため、事実の提示にとどめます)。「画面上の表記」のような別の語の一部は除外し、除外条件は辞書に書いて公開します。
- どう書くか
- 「上記」ではなく見出し名・ファイル名で参照先を書いてください。
参照の語15語
- 上記(前に「以」があるときは除く。後に「「」・「の「」が続くときは除く)
- 下記(前に「以」があるときは除く。後に「「」・「の「」が続くときは除く)
- 前述(後に「「」・「の「」が続くときは除く)
- 後述(後に「「」・「の「」が続くときは除く)
- 別紙(後に「「」が続くときは除く)
- 別添(後に「「」が続くときは除く)
- 以下参照
- 上の表(後に「記」・「示」・「現」・「面」・「層」・「題」・「紙」・「裏」が続くときは除く)
- 先ほどの(後に「「」が続くときは除く)
- 上で述べた(後に「「」が続くときは除く)
- see above
- see below
- as mentioned above
- as described above
- above-mentioned
STR-01 · 参考
見出しの階層が飛んでいる
- 何を見るか
- Markdown の見出し(# 〜 ######)を上から並べ、直前の見出しより2段以上深くなった箇所を拾います。
- なぜ問題か
- 節の親子関係が壊れると、節ごとに切り出して読む仕組みが親の前提を落とします。
- 誤検知しないと言える根拠
- 見出し記号の数を数えるだけです。文章を一切読みません。
- どう書くか
- 見出しレベルを1段ずつ深くしてください。
しきい値
- 直前の見出しからの深さの差: 2段以上
STR-02 · 参考
同じ見出しが複数回ある
- 何を見るか
- 見出しの文字列を正規化(前後の空白・記号・全角半角・大文字小文字を統一)して突き合わせ、同名が2回以上出る箇所を拾います(見出しレベルが違っても並べます)。
- なぜ問題か
- 「この節を見て」と指示したときに、AI がどちらの節を見たか分かりません。
- 誤検知しないと言える根拠
- 文字列の完全一致のみです。並べるだけで良し悪しを言いません。
- どう書くか
- 見出しを一意にするか、親の見出し名を添えてください。
STR-03 · 参考
1つの項目に指示が詰め込まれている
- 何を見るか
- 箇条書きの1項目または1段落について、句点(。)が3つ以上、または300文字以上のものを拾います。
- なぜ問題か
- 1項目に複数の決まりが入っていると、AI が一部だけ守って残りを落としても、人は「守った」と見えてしまいます。1項目1指示なら守られたか確認できます。
- 誤検知しないと言える根拠
- 数を数えるだけです。「分けるべきか」は判定せず、しきい値を超えた項目を挙げてしきい値を公開します。
- どう書くか
- 1項目1指示に分けてください。
しきい値
- 句点(。)の数: 3個以上
- 文字数: 300文字以上
STR-04 · 参考
分量が目安を超えている
- 何を見るか
- 全体の文字数(実数)が12,000文字を超えたら1件出します。あわせて概算トークン数(全角1文字≒1トークン、それ以外4文字≒1トークン)を参考値として表示します。
- なぜ問題か
- 指示書が長いほど、後半の決まりほど守られにくくなります。分割を検討する材料にします。
- 誤検知しないと言える根拠
- 判定は実数の文字数だけで行い、概算トークン数では判定しません(モデルによって数え方が違う推定値のため)。
- どう書くか
- 節ごとに別ファイルへ分け、入口のファイルから見出し名で参照してください。
しきい値
- 全体の文字数: 12,000文字超