これで何ができるか

毎朝ひとりでに走らせている処理の出来上がりを、自分でざっと見て「今日は大丈夫か」を判断する——その判断をAIに任せるときの頼み方です。プログラミングは要りません。

このサイトの毎日決まった時刻にAIを動かすほか2本で、「各ステップで、うまくいったときに画面に何が出れば正解ですか」と先に聞いておくことを勧めてきました。その一文が実際に効くかは、3本とも一度も測っていませんでした。

架空の「毎朝の出来上がり」を20日ぶん、2本つくりました。10日は本物の成功、10日は成功に見える失敗です。3通りの頼み方を材料2本 × 各2回 = 全12回、20日ぶんずつ判定させて、のべ240判定を取りました。

条件を先に書かせて渡すと、誤検出は6件から0件になります。ただし引き換えがあります。

不良の検出が、40件中36件から24件に落ちました。落ちたのは、条件に書かれていない型だけです。

毎朝の自動処理の出来上がりを判定させたとき、合格の条件を渡すかどうかで不良の検出と誤検出がどう変わるかを並べた横棒グラフ。架空の出来上がり20日ぶんを2本作り、どちらも10日を本物の成功、10日を成功に見える失敗にした。失敗の型は5つで、内訳が合わない、前日と1文字も同じ、日付だけ今日で中身は3日前、欄はそろっているが全部0、並び順だけ変えて中身は前日と同じ、を各2日ずつである。1つの頼み方につき材料2本かける各2回で4回、20日ぶんずつ判定させ、全12回のべ240判定を取った。条件を渡さずうまくいっていますかと聞いた4回は、不良40件のうち36件を検出し、誤検出が6件あった。先にAIに書かせた5つの条件を渡して判定させた4回は、検出24件で誤検出は0件。5条件に加えて条件の外で気になったことという欄を足した4回は、判定の欄では18件しか検出しなかったが、その欄の中身まで数えると40件すべてを拾っていた。誤検出は0件である。条件を渡さない版の誤検出6件は、4回のうち2回が同じ3日で、差し戻しが0件だが受け取りは25件という平常な朝だった。件数が多い日に不備が0件なのはおかしいという筋の通った理由が付いていたが、実際には正常な日である。条件を渡した版で落ちるのは条件に書かれていない型だけで、条件に書いてある内訳が合わない型は3つの版とも8件中8件で崩れていない。落ちたのは前日との重複と、全部0の朝だった。条件の外で気になったことの欄を足すと、4回とも欄の中に落ちたぶんが全部出てきている。ただし判定の欄は24件から18件へさらに減っており、欄を読まない人にはいちばん悪い版に見える。
条件を渡すと誤検出は消える。同時に、条件に書かれていない型の不良も消える。

直し方は、条件を増やすことではありませんでした。〔条件の外で気になったこと〕という欄を1つ足すと、4回とも、落ちたぶんが全部その欄に出てきます(10/10 × 4回)。

前提

  • 毎朝の処理が、出来上がりを1日1行ずつ記録に残す形になっていること
  • その記録をそのままコピーして貼れること(画面の写真ではなく文字)
  • 記録の欄の意味を、自分が1行で説明できること

3つ目が抜けると成り立ちません。今回の材料には「受け取り=その朝に届いていた申請の数」「受け取りは、差し戻しと承認への合計になる」という注釈を付けてあり、この注釈があるから「合計が合っていない日」が機械的に決まります

この記事は「材料が壊れていないか」の話ではありません。入り口の材料を毎回数える形は定期実行が本当に動いたかを、材料の数で確かめるにあります。ここで扱うのは出てきたもののほうです。

AIへの頼み方

1. 材料=毎朝の出来上がりを20日ぶん並べる

1本目は「経費申請の仕分け」です。抜き出して貼ります。

# 毎朝7:40 に走る「経費申請の仕分け」の出来上がり(20日ぶん)
※ 受け取り=その朝に届いていた申請の数。差し戻し=不備で申請者へ返したもの。承認へ=上長の承認へ回したもの。
※ 受け取りは、差し戻しと承認への合計になる。

[D-01] 2026-06-01(月)  受け取り 18件 / 差し戻し 3件 / 承認へ 15件
  差し戻し: 日付未記入(高橋) / 上限超過(小林) / 領収書なし(松本)
[D-02] 2026-06-02(火)  受け取り 21件 / 差し戻し 2件 / 承認へ 19件
  差し戻し: 但し書きが空欄(山本) / 部署コード誤り(山田)
[D-03] 2026-06-03(水)  受け取り 21件 / 差し戻し 2件 / 承認へ 19件
  差し戻し: 部署コード誤り(山田) / 但し書きが空欄(山本)
(…D-20 まで続く)

仕込んだ失敗は5種類、各2日ずつです。

中身
1 内訳が合わない 受け取り24件なのに 差し戻し1件+承認へ17件
2 前日と1文字も同じ D-06 が D-05 と件数も氏名も完全一致
3 日付だけ今日で、中身は3日前 D-08 が D-05 と完全一致
4 欄はそろっているが全部0 受け取り0件 / 差し戻し0件 / 承認へ0件
5 並び順だけ変えて、中身は前日と同じ D-03 が D-02 の明細を入れ替えただけ

紛らわしい良品も3日入れてあります。「差し戻し0件だが、受け取りは25件」という平常な朝です。ここを不良と呼んだら誤検出になります。

2本目は「サイトのリンク切れ点検」20日ぶんで、同じ5種類を、切れの本数と列挙したURLの食い違い・検査0本の朝、といった形で仕込みました。

2. まず、条件を渡さずに「うまくいっていますか」と聞く

毎朝7:40 に、その朝までに届いた経費申請を「差し戻し」と「承認へ」に仕分ける作業を、自動でやらせています。 下は、その仕組みが実際に出した20日ぶんの出来上がりです。 D-01 から D-20 まで1日ずつ、「うまくいっている」か「うまくいっていない」のどちらかで答えてください。20日ぶん全部について答えてください。うまくいっていないと判断した日は、理由も1行で書いてください。

(この下に、上の20日ぶんの記録をそのまま貼ります)

2本目に当てたのは、作業の説明だけを差し替えた同じ文です。

毎朝6:20 に、サイトの内部リンクを全部開いて 404 が返ったものを記録する作業を、自動でやらせています。 下は、その仕組みが実際に出した20日ぶんの出来上がりです。 D-01 から D-20 まで1日ずつ、「うまくいっている」か「うまくいっていない」のどちらかで答えてください。20日ぶん全部について答えてください。うまくいっていないと判断した日は、理由も1行で書いてください。

思ったより強いです。4回で不良40件のうち36件を当てました。前日との完全一致も、並び順だけの入れ替えも、自分から見つけます。

崩れたのは誤検出のほうでした。4回のうち経費の材料の2回が、紛らわしい良品3日を3日とも不良と呼びました(合わせて6件)。理由は筋が通っています——「受け取り25件と多い日に差し戻し0件。件数が多い日だけ全件素通り=チェックが効いていない疑い」。

読むと納得できるのに、その3日は正常な朝です。毎朝これを回すと、平常な日に週1回警告が出ることになります。

3. 条件を先に書かせる(出来上がりは見せない)

出来上がりを1行も見せずに、先に条件だけ書かせます。

毎朝7:40 に、この作業を自動でやらせています。 その朝までに届いた経費申請を「差し戻し」と「承認へ」に仕分けて、結果を記録に1日1行ずつ書き足させています。記録には、受け取った件数・差し戻した件数・承認へ回した件数と、差し戻したものの理由と申請者名を書かせています。 うまくいった朝の出力が満たす条件を、数で判定できる形で5つ書いてください。出力そのものは、まだお見せしません。

リンク点検のほうは、作業の説明だけを差し替えます。

毎朝6:20 に、この作業を自動でやらせています。 サイトの内部リンクを全部開いて、404 が返ったものを記録に1日1行ずつ書き足させています。記録には、検査した本数・切れていた本数・かかった秒数と、切れていたURLを書かせています。 うまくいった朝の出力が満たす条件を、数で判定できる形で5つ書いてください。出力そのものは、まだお見せしません。

返ってきた条件は、思っていたよりずっと使える形でした。材料2本 × 2回 = 計20条のうち、18条が出来上がりだけで判定できる形です。

しかも、まだ見ていない不良を先回りしています。リンク点検の2回は、どちらも「検査0本は無条件で失敗」と書きました。仕込んだ型4そのものです。

📌 判定できない2条は、2回とも同じものでした。「受け取った件数が実物と合う」——これは出来上がりの中では決まらず、申請の実数を別に数えないと分かりません。条件を書かせると、こういう「外にしか根拠が無い条件」が混ざります。混ざること自体は正しくて、その日の判定には使えないというだけです。

4. その条件を、別の会話で出来上がりと一緒に渡す

2で使った依頼文の上に、下の1行と条件をそのまま貼ります。

うまくいった朝の出力が満たすべき条件は、下のとおりです。

誤検出は0件になりました。紛らわしい良品(材料Aで3日・材料Bで4日)は、4回とも通っています。

検出は 36/40 から 24/40 に落ちました。

5. 落ちるのは、条件に書かれていない型だけ

型ごとに数え直すと、境目がはっきりします。

毎朝の出来上がりに仕込んだ5種類の不良について、合格の条件を渡すかどうかで何件拾えたかを並べた表。1つの型につき2日かける材料2本かける各2回で8件ある。内訳が合わない型は、条件を渡さない版が8件中8件、5条件を渡した版が8件、5条件と条件の外の欄を足した版も8件で、3つとも崩れていない。欄はそろっているが全部0の型は、条件を渡さない版が8件、5条件を渡した版が4件、欄を足した版が4件。日付だけ今日で中身は3日前の型は、8件、4件、2件。前日と1文字も同じ型は、6件、4件、2件。並び順だけ変えて中身は前日と同じ型は、6件、4件、2件である。AIが先に書いた5条件には、材料2本かける2回の合わせて20条のうち、前日と同じ中身かどうかを見る条が1つも無かった。全部0を失敗と書いたのはリンク点検の側の2回だけで、経費の側は0件の朝も行が出ていれば合格と書いている。その結果、全部0の型は条件に書いた側では4件中4件を拾い、書かなかった側では4件中0件だった。同じ型でも、条件に書いたかどうかで結果が割れている。なおこの数はいずれも判定の欄だけを数えたもので、条件の外の欄は含めていない。
条件に書いてある型(内訳が合わない)だけが、3つの版とも 8/8 で崩れない。

「内訳が合わない」だけは、どの版でも 8/8 でした。条件を書かせた4回とも、この型を見る条が入っているからです。

「前日と同じ中身か」を見る条は、20条に1つもありませんでした。だから前日との重複(型2・型3・型5)が、条件を渡すと軒並み落ちます。

同じ型で、材料によって結果が割れたところがあります。「全部0」は、条件に書いたリンク点検の側で 4/4、書かなかった経費の側で 0/4 でした。経費の側の条件は、むしろ「0件の朝も行が出ていれば合格」と書いています。条件のほうが、その型を合格だと言っているわけです。

AIの賢さの問題ではありません。同じAIが、条件を渡さなければ 8/8 で拾っています。条件を渡した瞬間に、条件の外は判定の対象でなくなります。

6. 〔条件の外で気になったこと〕の欄を1つ足す

4の依頼文の末尾に、下を足します。

そのうえで、上の5つの条件のどれにも当てはまらないけれど気になった日があれば、最後に〔条件の外で気になったこと〕という見出しを作って、その日と理由を書いてください。条件に当てはまらないことを、書かずに済ませる理由にしないでください。

4回とも、落ちたぶんが全部その欄に出てきました。判定の欄と欄の中身を合わせると 10/10 × 4回 = 40/40 です。誤検出は0件のままでした。

欄の中身は、条件そのものへの指摘になっていました。「5つの条件はどれも1日を単独で見るため、この写し取りは全部すり抜ける。『前日と3つの数字が完全一致したら疑う』という条件を足すべき」——こちらが聞いていないのに、足すべき条を名指しで返してきます

ただし、判定の欄はさらに減りました。24/40 から 18/40 です。条件に当てはまらないものを、AIが判定の欄から欄のほうへ移すためです。合否の列だけを見る人には、この版がいちばん成績が悪く見えます。

7. 毎朝ひとりでに回す形にする

貼るものは3つだけです。①条件(3で書かせて、自分が読んで決めたもの)②その日の出来上がり ③4と6の依頼文。条件は毎朝書き直させないでください。書き直させると、その日の条件でその日を採点することになります。

うまくいかないときの言い直し方

合否の列しか見ていない

合否の列だけを見るのが、いちばん危ない使い方です。6の版は、判定の欄だけを見ると 18/40 で、条件を渡さない版(36/40)の半分です。欄まで読んで初めて 40/40 になります。

毎朝これを受け取るなら、〔条件の外で気になったこと〕が空だった日を数えてください。今回は4回とも空ではありませんでした。空が続くようなら、その欄は働いていません。

条件を渡さないほうが多く見つかるのでは

検出だけを見ればそのとおりです(36/40 対 24/40)。ただし条件を渡さない版は、経費の材料の2回とも、平常な3日を3日とも不良と呼びました。毎朝回す形では、この誤検出のほうが先に効いてきます。鳴りすぎる検査を直す話は毎朝の誤報を1件だけ止めるにあります。

📌 どちらを選ぶかは、その日の出来上がりを誰が読むかで決まります。自分で毎朝読むなら条件なしでも構いません。人に渡す・記録に残すなら、理由の付いた誤検出が混ざるほうが厄介です。

条件に「前日と同じか」を足したい

足してよいのですが、足しただけでは終わりません。今回の実測で分かったのは「条件に無い型は判定の欄から消える」ことなので、1つ足せば次の型が同じ場所に落ちます。条件を足すのと、条件の外の欄を作るのは、別々にやってください。

条件が本当に鳴るかを確かめる形は自分の点検が本当に鳴るか、わざと壊して試させるにあります。

0件の日が、正常なのか壊れているのか分からない

出来上がりの中では決まりません。今回の材料でも、「受け取り0件」と「取得に失敗して0件と書いた」は文字として同じ姿になります。返り自身がそう書きました——「本当に0件と、取得に失敗して0件が、出力上まったく同じ姿になる。0件のときだけ取得元の応答を1つ添えると区別できる」。

0件が正常か壊れているかは、判定の頼み方では直りません。出す側に1項目足す話です。

判定が2回で割れる

割れます。条件を渡さない版は、リンク点検の材料で 10/10 と 6/10 に割れました。同じ指示文・同じ材料です。5条件だけを渡した3の版は 8/8/4/4 で、材料ごとには一致しています。条件を渡すと数は安定しますが、安定する先が「条件の中」に狭まります。

⚠️ ただし6の版(〔条件の外で気になったこと〕を足した版)は別です。同じ材料・同じ指示文なのに 8/10 と 2/10 に割れました。全16回でいちばん大きな割れがここにあります。欄まで合わせれば両方とも10/10に届くので見落としの実害はありませんが(上の「合否の列しか見ていない」参照)、判定の欄だけを見るなら、この版がいちばん安定して見えるとは言えません。

応用・次の一手

この検査は、いま動いている自動化にそのまま当てられます。手元の記録を20日ぶんコピーして、2の依頼文と、3〜6の順で1回ずつ通すだけです。3で返ってきた5条件を読むところが本体で、そこに「自分が見張りたかったこと」が入っていなければ、その仕組みは今日までそれを見張っていません。

📌 条件は自分の言葉に直してから保存してください。AIが書いた条件のうち、出来上がりだけでは判定できないものは、毎朝「判定できません」と返ってくるだけになります。今回は20条のうち2条がこれでした。

2回ぶんを並べて見比べる形と組み合わせられます。前日との重複は自動化の出力を2回ぶん並べて、自分で見比べるの物差しでも拾えます。条件の中に入れるか、並べて見るかは、どちらでも構いません。

止まった日の扱いは別の記事にしました。処理が途中で止まった朝に、翌日へ何を残すかはAIの引き継ぎメモで翌朝に続きができるかにあります。

⚠️ 今回測ったのは「条件をどの順番で作るか」だけです。条件の中身が良いかどうかは測っていません。5条件はAIが書いたもので、こちらは1条も直していません。

📌 この記事の実測は、架空の出来上がり2本・全12回・のべ240判定(+条件を書かせた4回)です。判定はすべて機械照合で、生の返りは docs/evidence/pass-criteria-before-the-output.md に全文置いてあります。