これで何ができるか
毎日決まった時刻にAIを動かす仕掛けを作ると、次に困るのは「本当に動いたのか」です。エラーで止まれば気づけます。困るのは、動いて、それらしい結果が出て、中身だけが違う日です。
この記事が扱うのは、その中でも一番地味なところ——AIの側ではなく、材料の側が壊れた日です。前の日の取り込みが途中で落ちた。ファイルが更新されずに前日のものが残っていた。同じ行が二重に入った。どれも珍しくありません。
架空の日次の記録を2本(表形式の受付ログと、走り書きの現場メモ)作り、それぞれに同じ4つの異常を仕込んだ「壊れた日」を用意して、10個の指示文を全31回通しました(下の頼み方が7つで25回、言い直し方が3つで6回)。判定はすべて Python です。
分かったことは3つです。
①「黙って出す」わけではありませんでした。中身が完全に同じ行が3組あることと、最後の行が途中で切れていることは、頼んでいないのに4回とも自分から指摘されました。この記事は「AIは壊れた材料に気づかない」という話ではありません。
② 気づけないものが、はっきり分かれました。日付が1日古いこと(=昨日ぶんのはずが一昨日ぶんだった)は、8回とも1回も出ませんでした。今日が何日かを、AIは持っていないからです。
③ そして、警告の置き場所がこちらの決めた場所ではありませんでした。素朴に頼んだ4回とも、警告は「頼んだ2つを出したあと」の区切り線の下や ※ に付いています。自動実行のために「この2つ以外は何も書かないでください」を足すと、表形式の材料では2回とも警告が丸ごと消えました。
この記事は、その3つを踏まえて材料の側を毎回書かせるところまでの頼み方です。
前提
| かかる時間 | 40分(うち30分は最初の1回だけ) |
| 費用 | 無料。無料のチャットAIで足ります |
| 必要なもの | ブラウザで使えるAI(ChatGPT・Claude・Geminiなど)と、毎日ぶんの記録が置いてある場所 |
| プログラミング | 不要。ただし「今日が何日か」「普段は何件か」だけは自分で渡します |
実測したのは指示文だけです。決まった時刻に走らせる仕掛けそのものは毎日決まった時刻にAIを動かす仕掛けを作らせるにあります。サイトが壊れていないかの見張りはサイトの異常を毎日AIに見張らせるで、あちらは成果物を見ます。この記事が見るのは入り口に置かれた材料です。
⚠️ 毎日ぶんの記録を毎朝どこかへ渡す形になります。何を渡してよいかは先に決めてください(AIに触らせる範囲を先に決める)。
AIへの頼み方
1. まず、手でうまくいった形を、そのまま毎朝の形にする
材料は「1日ぶんの記録」です。この記事の実測では、こういう表を使いました。
# 問い合わせ受付ログ 2026-08-15
日時 受付 種類 担当 状態
2026-08-15 09:12 電話 請求 営業一課 対応済み
2026-08-15 09:31 メール 納期 業務課 対応済み
2026-08-15 09:48 電話 仕様 技術課 未対応
これを16行ぶん貼って、下の指示文で走らせます。
この下に、その日ぶんの記録を貼ります。正常な日は、表形式でも走り書きでも問題ありませんでした。件数も未対応の一覧も、材料から計算した真値と一致します。
2. 材料が壊れた日も、集計はいつもの顔で出てくる
同じ指示文を、壊れた日の材料に当てました。仕込んだのは4つです。
| 仕込んだ異常 | 材料の中だけで決まるか |
|---|---|
| 中身が完全に同じ行が3組(二重取り込み) | 決まる |
最後の行が途中で切れている(2026-08-14 17:2) |
決まる |
| 日付が全行1日古い(更新されていない) | 決まらない |
| 毎日ある種類(請求・納期)が今日は0件 | 決まらない |
材料2本×各2回=4回。4回とも、集計そのものは何事もなかったように出ました。件数の表があり、未対応の一覧があり、行の形もそろっています。
そして4回とも、その下に注記が付きました。たとえば表形式の2回目はこうです。
完全に同一の行が3組あります(09:55 返品、10:47 仕様、14:02 仕様)。(中略)重複だとすると件数は 仕様3・返品3・その他3 の同数になり、上の「多い順」は成立しなくなります。
親切です。ただし置き場所を見てください。頼んだのは2つで、これは3つ目です。そして、日付については4回とも1行も書かれていません。AIが見ているのはこの1日ぶんの記録だけなので、それが「昨日ぶん」かどうかは原理的に分かりません。
3. 自動実行の形に短くすると、その警告が消える
毎朝ひとりでにファイルへ保存させるなら、余計な文が入っては困ります。そこでこう足します。
同じ壊れた材料に、これを材料2本×各2回=4回。
| 材料 | 重複への言及 | 切れた行への言及 |
|---|---|---|
| A(表形式)1回目 / 2回目 | 無し / 無し | 無し / 無し |
| B(走り書き)1回目 / 2回目 | あり / あり | あり / あり |
表形式の材料では、2回とも警告が丸ごと消えました。返ってきたのは件数の表と未対応の一覧だけで、正常な日の出力と見分けがつきません。走り書きの材料では2回とも残りました。同じ指示文で、材料の形が違うだけです。
これは競合の見出しから下調べを組むで出た「毎朝の形に短くすると、貼ったものが静かに消える」と同じ形ですが、落ちたものが違います。あちらで落ちたのはこちらが書いた一文(「省かずに全部載せて」)で、短くしたあとに足し直せました。ここで落ちたのはAIが自分から付けた警告です。書いていないものは、書き直して足せません。
4. 点検の欄を、出す順番の中に作る
だから、警告を「余計なもの」の側に置かせないようにします。出してほしいものの1番目にします。
材料2本×各2回=4回。4回とも、4項目すべてが真値と一致しました(A=13行・2026-08-14・3組・2026-08-14 17:2/B=14行・2026-08-14・3組・15:1)。
⚠️ ここで止まると足りません。日付は書き写されるだけです。「2026-08-14」と正しく書いたうえで、それが古いとは4回とも書きません。
5. 今日が何日かは、こちらから渡す
AIが持っていない情報は、禁止しても手に入りません。渡すしかありません。
3回試して、3回とも「昨日ではない」が返りました。2つの日付を書いておくのは面倒に見えますが、自動で走らせるなら、そこは仕掛けの側が毎朝入れる場所です。人が毎朝打ち込む形にはしません。
6. 重複を何件と数えるかも、こちらが決める
点検の欄が合っていても、その下の集計は別です。4番の形で走らせた4回では、件数は重複した行をそのまま数えた数(表形式なら 仕様5・返品4・その他3)で返りました。ところが3番の短くした形では、同じ走り書きの材料に対して重複を除いた数(設備3・問い合わせ3)が返っています。どちらが正しいかは、こちらが決めていないだけです。
壊れた日で2回、正常な日で1回。壊れた日は2回とも真値(仕様3・返品3・その他3)と一致し、未対応の一覧も重複が消えて3件になりました。
そして正常な日は、点検が「16行 / 2026-08-15 / 昨日 / 0組 / なし」で、件数も未対応の5件も真値どおりでした。誤って鳴った項目は0件です。毎日鳴る見張りは読まれなくなるので、ここは必ず確かめてください。
7.「毎日必ずあるもの」を渡して、0件を鳴らす
残る1つ——普段あるはずのものが、今日は1件も無い——も、材料の中を読んでも決まりません。普段の姿を渡します。
2回試して、2回とも「請求 0件、納期 0件」が返りました。似た種類へ振り替えた回は0回です。
🚨 ところが、同じ2回で件数のほうが割れました。
点検の欄は、入力の見張りであって、計算の検算ではありません。数そのものを当てにするなら、終わった記録から時給を出すと同じで、行番号を割り当てさせて自分で数え直せる形にしてください。
8. 止めたいなら、止めてよいと書く
点検の結果が悪い日は、そもそも集計を作らせない形もあります。
壊れた日で2回、正常な日で1回。壊れた日は2回とも集計を作らず、3項目とも正しく挙げました。正常な日は止まらずに集計を出しました(正解です)。
⚠️ ただし正常な日の返りの形が保たれませんでした。書き出しが「点検の結果、集計は作りません」で、そのあと自分で打ち消して「どれにも当てはまらないため、集計を出します」と続きます。そのまま保存すると、正常な日のファイルの1行目が「集計は作りません」になります。毎日の本番は6番の形(点検の欄を毎日そのまま出す)にして、この形は「止めたい人向け」の追加として持ってください。
うまくいかないときの言い直し方
点検の欄は合っているのに、集計の数が毎回違う
実測でも起きました(同じ指示文の2回で、仕様2・返品2・その他2 と 仕様3・返品3・その他3)。点検の欄と未対応の一覧は2回とも一致しているので、表を見比べても気づけません。
2回試して、2回とも1番から13番まで抜けなく振り、重複した3組にも別々の番号が付き、切れた行は「判定不能」に置かれました。数え上げはこちらに戻ります。
⚠️ ただし2回目は、行のタブを全角空白に置き換えて返しました(1回目はタブのまま)。「行の文字列をそのままコピー」と書いてあってもです。そのまま保存すると、その日のファイルだけ列が崩れます。
「毎日必ずあるもの」を、AIに決めてもらいたい
やめてください。7番で渡す「毎日ある種類」は見張りの基準そのもので、そこが間違うとその後ずっと鳴らなくなります。2週間ぶんの点検の行を貼って、こう聞いてみました。
真値は「請求と納期の2つだけ」です(仕様は5日目が0、返品は3日目と10日目が0、その他は7日目と14日目が0)。2回とも、最初の答えが真値と違いました。1回目は仕様を、2回目は返品を足しています。2回目は同じ返りの中で自分で気づいて訂正しましたが、1回目は間違ったまま終わっています。
判定をやめさせて、数を並べさせると変わりました。
5種類×14日=70個の数が、2回とも全部真値と一致しました。最小値も5種類とも合っています。あとは「最小が1以上の種類」を自分で選ぶだけです。
正常な日にも「異常あり」と書かれる
点検の項目に、正誤が機械で決まらないものが混ざっていないか見てください。「内容におかしいところはないか」「量は妥当か」は毎日どちらにも転びます。実測で誤検知0だったのは、行数・日付・完全一致の行の組数・列が崩れた行の4つだけです。
最初から「普段の姿」が分からない
先に決めなくて構いません。まず4番の形(点検の欄だけ)で2週間走らせて、点検の1行を保存してください。そのうえで、上の「並べ直させる」形で最小値を出します。7番はそのあとです。
点検の欄が出ない日がある
指示文の中で「この3つ以外は何も書かないでください」より前に点検を置いているか確かめてください。実測では、点検を出す順番の1番目に置いた10回とも欄が出ています。⚠️ 逆に、点検を「補足として」書かせる形にすると、3番で見たとおり丸ごと落ちる日があります。
材料を渡すのが不安
点検だけなら、中身を渡さずにできる部分があります。行数と日付と重複の組数は、自分の手元でも数えられます。AIに渡すのは集計だけにして、点検は自分で持つのが一番強い形です(AIに触らせる範囲を先に決める)。
応用・次の一手
自動化には形が3つあります。1回ごとに独立するもの、前回の出力が次回の入力になるもの(毎週の報告書)、前回の入力が今回にも残るもの(毎朝の受信箱)。この記事の点検は3つのどれにも足せます。材料が入り口にある限り、入り口は毎回見られます。
⚠️ この記事は「その日の材料がまともか」までです。その日の集計が正しいかは別の工程で、毎朝の受信箱の仕分けの「件名を突き合わせられる形にする」「昨日と今日の一覧を別の会話に並べて渡す」がそこを扱っています。合わせて使ってください。
そして、AIの「できました」を確かめる話そのものはやったと言われたことを、確かめてから受け取るにあります。あちらは1回の作業の報告、この記事は毎日ひとりでに回るものです。毎日回るほうは、報告を読む人がいなくなるところが違います。
⚠️ 6番と7番を1つの指示文にまとめた形は、試していません。点検の5項目と「0件の警告」を同じ指示文に入れるのは自然ですが、この記事の実測はそれぞれ別に走らせたものです。まとめるなら、置く前にご自身で2回走らせて突き合わせてください。
📌 試行回数。指示文は10個で、走らせた回数は上から順に、頼み方が6回・4回・4回・3回・3回・2回・3回(計25回)、言い直し方が2回・2回・2回(計6回)、合わせて31回です。材料は架空で、真値はすべてコードで計算しました(材料を作るコードの検算も含みます)。判定に使ったコードは4回間違えていて、直した経緯ごと docs/evidence/count-the-material-every-run.md に残してあります。指示文ごとの生の返りも同じファイルにあります。