これで何ができるか
誤報を1件だけ止めるは「止めた誤報と同じ品目が、同じ条の中で後から見えなくなる」ことまで実測していました。今回確かめたのは、その先です。条ごとの除外を何週も積み重ねたとき、触っていない条まで甘くなるか、そして除外の書き方そのもので何が変わるかを試す頼み方です。プログラミングは要りません。
結論は3つです。
- 条ごとに誤報を除外する作業を4週重ねても、触っていない条・前週までに直した条は巻き添えになりませんでした。架空の受注ログ点検・5条を使い、週ごとに条1→条2→条3→条4の順で誤報を1つずつ除外していく実測です。 - 進め方: 2つの独立した会話(系列A・系列B)で、それぞれ4週分を進めた - 結果: 週0(基準)〜週4、条5つの合計50件中50件が正しい条番号で検出され、すでに除外した誤報が再び混ざった回も0件 - 条5(担当者欄空欄)は4週のあいだ一度も編集していませんが、それでも巻き添えは起きませんでした。
- ところが、除外の「書き方」はAIに任せると割れました。系列Aは「取引先が◯◯かつ商品が◯◯の行は対象外」という条件で一般化したルールを書き、系列Bは「受注ID◯◯・金額◯◯円のこの行だけ対象外」というその行だけを指す書き方をしました。巻き添えゼロという結果だけを見ると、どちらも同じに見えます。
- 差が出たのは、来年また同じ理由の誤報が、金額だけ違って起きたときです。系列Aの一般化したルールは2回とも鳴りませんでしたが、系列Bの行specificなルールは2回とも再び異常として鳴りました。「金額や日付が多少変わっても再発しないように」と一文を足すと、系列Bのような書き方になっていたルールも4回とも一般化に直りました。
材料は架空の「毎朝の受注ログ点検・5条」と32行の記録を2組(材料A・材料B)。各条に本物の異常を1件ずつ仕込み、週ごとに別の条で誤報を1件ずつ見つけて除外していく流れを、系列A・系列Bそれぞれ独立の会話(新規プロセス)で4週分進めました。
この記事の進め方は4段です。まず基準を取り、週ごとに誤報を見せて直させ、同じ記録でもう一度確かめます。4週重ねたあと、来年の再発を当てます。最後に、割れた書き方を直す言い直しまで実測します。
前提
| かかる時間 | 30分 |
| 費用 | 無料。無料のチャットAIで足ります |
| 必要なもの | ブラウザで使えるAI(ChatGPT・Claude・Geminiなど)と、番号を振った条文になっている点検ルール |
| プログラミング | 不要 |
- 点検が条文の形になっていること。「おかしい行を挙げて」だけの頼み方では、どの条を直すのか指せません。条文の作り方は定期実行させたAIが「本当に動いたか」を、自分で確かめる形にするにあります。
- この記事は、誤報を1件だけ止めた直後の話の続きです。誤報を1件だけ止めるは「止めた誤報と同じ品目が、翌日の記録で見えなくなる」ことを実測しました。今回はそこから条をまたぐ巻き添えと除外の書き方そのものへ範囲を広げています。
AIへの頼み方
1. まず、いまのルールで基準を取る
今回の点検ルールは5条です。
条1(金額超過): 金額が50万円を超える行
条2(ID重複): 受注IDが同じ行が2行以上ある場合、その全ての行
条3(数量異常): 数量が0以下の行
条4(日付未来): 受注日が2026-10-07より後の行
条5(担当者欄空欄): 担当者名が空欄の行
(この上に、点検ルールと記録をそのまま貼って送ります)
架空の記録32行に、各条に当たる本物の異常を1件ずつ仕込みました。2系列とも、5条すべてが正しい受注IDを返しました。ここが基準になります。
2. 誤報を1つ見せて、条ごとに直させる
週1は、系列Aの条1(金額超過)に誤報が出た場面です。
系列Aはこう直しました。
条1(金額超過): 金額が50万円を超える行。ただし、取引先が「北陸フーズ」かつ商品が「正月specialセット」の行は、年末年始向けに毎年この時期に発生する正規の大口注文なので、条1の対象から除外する(他の取引先・他の商品の50万円超は従来どおり異常として報告する)。
もう一方の系列Bには、別の会話で同じ構造の誤報(ひまわり工業の年度末注文・710,000円)を見せました。系列Bはこう直しました。
条1(金額超過): 金額が50万円を超える行
例外: 受注ID R-B10(受注日 2026-10-04、ひまわり工業、年度末特別セット、数量18、金額710,000円、担当者 渡辺)は年度末キャンペーンの正規の大口注文であることを確認済みなので、条1の対象外とする。この例外は上記の内容と一致する行だけに適用し、金額や取引先などが異なる場合は通常どおり条1で報告する。
どちらも、頼んだ条(条1)だけに手を入れました。条2〜5は1文字も変わっていません。ただし除外の書き方が違います。系列Aは条件(取引先・商品)で一般化し、系列Bは行の具体的な値(受注ID・金額)を指定しています。
3. 直後に、同じ記録でもう一度確かめる
同じ32行にもう一度当てます。2系列とも、本物5件はそのまま検出し、止めた誤報だけが条1から消えました。条2〜5への巻き添えは0件です。
4. 同じ調子で、条2→条3→条4の誤報も週ごとに消していく
残り3週も同じ手順です。週2で条2(分割納品を誤検知した誤報)、週3で条3(キャンセル行を誤検知した誤報)、週4で条4(予約受注を誤検知した誤報)を、それぞれ前週までのルールに追記していきます。条5(担当者欄空欄)は、この4週のあいだ一度も触っていません。
週末ごとに、条ごとの検出件数と、それまでに除外した誤報の再混入をPythonで数えました。基準+4週×2系列×条5つ=50件の判定すべてが正解で、再混入は0件でした。4週重ねても、他の条の判定文は1文字も変わっていません。系列Aの最終ルールは条1〜4それぞれに例外が追記され、条5だけが最初のままでした。
5. 来年また同じ理由の誤報が、金額だけ違って起きたら
週4時点の最終ルールに、金額だけ違う「来年の同種注文」を当てます。
系列Aには北陸フーズの580,000円(元は620,000円)、系列Bにはひまわり工業の690,000円(元は710,000円)の行を混ぜました。系列Aは2回とも「第1条: なし」でした。系列Bは2回とも再び第1条で検出しました。
系列Bの除外は、受注ID・金額という「この1行」を指していたため、金額が変わった瞬間に対象外から外れました。除外そのものは正しく働いていますが、守備範囲が実際の値そのものに縛られています。
6. 「金額や日付が変わっても再発しないように」と明示する
系列Bのような行specificな直し方になりやすいとき、一文を足して一般化を明示します。
独立した4回とも、「金額や受注日にかかわらず対象外とする」という一般化が入りました。同じ来年の変則行を当てると、4回とも「第1条: なし」。本物の異常(別の取引先・別の金額の行)は引き続き正しく検出されました。
うまくいかないときの言い直し方
直した書き方が、一般化か行specificかよく分からない
直した後のルールを読み、「金額」「受注ID」のような具体的な値がそのまま条件に残っているかを確かめてください。残っていれば行specific型です。
これだけでも、AI自身がどちらの書き方をしたかを説明します。行specific型だと分かったら、6番の一文を足してやり直してください。
条5のような「触っていない条」が心配なとき
今回は4週とも巻き添え0件でしたが、これは5条・4週というこの実測の範囲での結果です。条の数がもっと多いときや、何週も先まで積み重ねたときは未検証です。心配なら、週末に基準と同じ確認(3番の指示文)を全条に当て直してください。
除外が増えてきて、ルール全体が見づらい
誤報を1件だけ止めるにある「除外した分だけを見張る条を、別に足す」が効きます。除外のたびにこの条を育てれば、何を諦めたかが1か所にまとまります。
応用・次の一手
誤報を1件だけ止めるは「同じ条の中では、止めた誤報と同じ品目が見えなくなる」ことを実測していました。この記事はその先、条をまたいだ巻き添えと除外の書き方そのものを実測しました。結論は、巻き添えの心配より、書き方の心配のほうが大きいということです。
同じ形は、点検のたびに起きます。毎月の点検を前回の指摘から始める話は毎月の点検を、前回の指摘から始めるに、作った検査が本当に鳴るかを試す話は自分で作った検査を、わざと壊して確かめるにあります。
⚠️ この記事が実測していないことは3つです。
- 5条より多い点検・4週より長い積み重ね
- 誤報が同じ週に複数の条で同時に起きた場合
- 行specific型のまま何年も運用したときの、実際の再発頻度
📌 試行回数。claude --safe-mode --tools "" -p で毎回新規プロセスを起動し、合わせて35回の独立呼び出しをしました。
- 基準2回
- 週1〜4の編集8回+点検8回=16回
- 来年の再発確認4回
- 言い直しが4回+言い直し後の再発再確認4回+言い直し後の全件確認1回=9回
- 直した書き方の自己申告確認4回
来年の再発確認は、最初に作った行の日付を誤ってルールの「本日」より後にしてしまい、条4が無関係に鳴る不具合が1回あったため、日付を直してやり直しました。材料・判定コード・指示文ごとの生の返りは docs/evidence/exclusion-wording-decides-the-repeat.md にあります。