これで何ができるか
毎朝ひとりでに走らせている仕組みが、ある日だけ何も送ってこない。そのとき、実行の記録を貼って「どこで止まったか」だけを答えさせる頼み方です。プログラミングは要りません。
すでにこのサイトでは、毎日決まった時刻にAIを動かすとRSSの無いサイトの更新を追いかけるの2本で「切り分けの候補を渡すのがコツ」と書いてきました。今回はそれを実際に測っています。
架空の「毎朝の実行の記録」を3本つくり、9個の頼み方を通して56通の返りを取りました。分かったのは2つです。
候補を3つ渡すと、その3つのどれとも決まらない朝でも、AIは4回とも1つ選びました。候補の一覧は、こちらが「答えはこの中にあります」と宣言したことになるからです。選ばれた1つは、記録から決まったことと見た目が同じです。
直し方は1行です。「どれにも当たらないと判断したときは、そう書いてください」を足すと、同じ材料で4回とも選ばずに理由を書きました。
記録の中で答えが決まる朝は、どの頼み方でも崩れませんでした。「2時間遅れた」「取得が0件だった」の2本は、4通り × 2本 × 各2回=16回とも当てています。心配していたのはそこではありませんでした。
前提
- 定期実行の記録が残っていること(日付・開始時刻・状態・件数など、日ごとに1行)
- その記録をそのままコピーして貼れること(画面の写真ではなく文字)
- 記録の項目の意味を、自分が1行で説明できること
3つ目が抜けると、この記事の話は成り立ちません。今回の材料では「取得件数=ページに載っている記事の総数」「新着件数=そのうち前回より後に増えたぶん」と注釈を付けてあり、この注釈があるから「取得0件」と「新着0件」が別の出来事だと機械的に決まります。注釈が無ければ、どちらも「0件」でしかありません。
この記事は「壊れないようにする方法」ではありません。壊れたことに気づく仕組みは自動化が動いているかを、自分で毎朝確かめさせるにあります。ここで扱うのは、気づいたあとの1回の会話だけです。
AIへの頼み方
1. まず、実行の記録をそのまま貼る
今回使った架空の記録です。14日ぶん並んでいて、今朝(8/19)の行だけがありません。
【毎朝の記事収集 実行の記録】
予定時刻: 毎朝 07:27(日本時間)
※ 取得件数=収集先のページから読めた記事の総数(更新の有無に関わらず、そこに載っている記事の数)。
※ 新着件数=取得件数のうち、前回より後に増えたぶん。
※ メールは新着件数が1件以上のときだけ送る。
日付 開始 状態 取得 新着 メール
2026-08-05 07:28 完了 12件 3件 送信 07:29
2026-08-06 07:29 完了 12件 1件 送信 07:30
2026-08-07 07:28 完了 13件 2件 送信 07:29
2026-08-08 07:31 完了 11件 2件 送信 07:32
2026-08-09 07:28 完了 13件 4件 送信 07:29
2026-08-10 07:27 完了 14件 1件 送信 07:28
2026-08-11 07:30 完了 12件 2件 送信 07:31
2026-08-12 07:28 完了 12件 3件 送信 07:29
2026-08-13 07:33 完了 13件 1件 送信 07:34
2026-08-14 07:28 完了 13件 0件 なし
2026-08-15 07:29 完了 14件 5件 送信 07:30
2026-08-16 07:28 完了 15件 2件 送信 07:29
2026-08-17 07:27 完了 12件 1件 送信 07:28
2026-08-18 07:30 完了 13件 2件 送信 07:31
8/14 の行が罠です。取得は13件できているのに新着が0件で、注釈どおりメールが出ていません。つまり「メールが来ない日」は、故障でなくても起きる。この行があるので、「今朝も更新が無かっただけでしょう」という答えがもっともらしく見えます。
同じ地の部分で、今朝の行だけを変えた記録をあと2本つくりました。1本は 2026-08-19 09:41 完了 14件 2件 送信 09:43(2時間遅れて動き、メールは9:43に出ている)、もう1本は 2026-08-19 07:28 完了 0件 0件 なし(時刻どおりに動いたが、1件も取れていない)です。
2. そのまま聞くと、記録に無い原因まで一緒に返ってくる
(この下に、上の記録をそのまま貼ります。以下の指示文もすべて同じです)
どこで止まったかは、6回とも当てました。取得0件の材料では「見るべきなのは新着件数ではなく、その左の取得件数です」と自分から書き、8/14 との違いまで説明しています。心配していた「更新が無かっただけですね」で終わった回は、56通のうち0通でした。
崩れたのは、その先です。同じ返答の中に、記録に1行も根拠の無い原因が並びます。走らせる前に「通信」「権限」「制限」「仕様変更」など24語を決めて、3本の記録に1語も出てこないことを確かめてあります。それでも、そのまま聞いた6回で26件出ました。
いちばん多かった回は、5つの原因を「可能性の高い順」として番号付きで並べました。「可能性の高い順」という順位の根拠も、記録には1行もありません。読む側から見ると、記録から決まった話と、そうでない話が、同じ文章の中に同じ確信度で並んでいます。
なぜこの言い方だと混ざるのか。「なぜ動かなかったのか」は原因を聞く問いで、記録から決まるのは「どこで止まったか」までだからです。問いのほうが、材料より先に進んでいます。
3. 候補を3つ渡す。ただし、これだけでは足りない
既存の2本が勧めている形がこれです。
効きます。記録に無い原因は26件から10件に減り、返りの長さも平均1,767字から1,026字になりました。記録の中で答えが決まる2本(遅れた/取得0件)は、4回とも正解です。
問題は、記録が途切れている朝でした。今朝の行が無いという状態は、「実行されていない」とも「遅れて走っている途中で、まだ行が書かれていない」とも両立します。この記録だけでは、1と2を見分けられません。
それでも、この頼み方で4回通したところ、4回とも「1. そもそも実行されていない」を選びました。2回は「選ぶなら」「一番近いです」と留保が付きましたが、決められない、とは書きません。
📌 これは私の設計のほうの間違いから見つかりました。最初この材料の正解を「実行されていない」と決めていたのですが、返りのほうが「行が無いことは、実行されなかった証拠にも、まだ記録されていない証拠にもなります」と書いてきたので、正解の側を直しました。
4. 「どれにも当たらない」と書いてよい、を1行足す
違いはこの1行だけです。同じ材料で4回通して、4回とも「どれにも当たらない」から書き始めました。記録の中で答えが決まる2本は、変わらず4回とも正解のままです。決まる朝の精度を落とさずに、決まらない朝だけが変わりました。
なぜこの言い方が効くのか。候補の一覧は、こちらが「答えはこの中にあります」と宣言したことになるからです。AIが見落としているのではありません。同じ材料に「見分けられないものはあるか」と聞けば、ちゃんと1と2を挙げてきます(下の言い直し方)。質問が答えの範囲を決めていただけです。
だから受け皿は、注意書きではなく選択肢そのものとして渡します。1〜3と同じ高さに「どれにも当たらない」を置くのが要点です。
5. 根拠になった行を、記録からそのままコピーさせる
6回で21行が引用され、21行とも記録の中に完全一致で実在しました。存在しない行を書いた回は0回です。
この形にすると、記録に無い原因が6回とも0件になりました。この形の6回では、AIのほうから「なぜ取得が0件になったのか(収集先の仕様変更、通信の失敗、認証切れなど)は、この記録には書かれていないので判断できません」と書いて止まります。
なぜ引用を足すと原因が減るのか。根拠を行で示せと言われると、行で示せないことは書けなくなるからです。禁止していないのに減ります。返りも平均780字まで短くなりました。
⚠️ これは原因を考えるのをやめさせただけで、原因が分かったわけではありません。次の節で場所を用意します。
6. 原因の見当を消さない。書く場所を分ける
原因の見当そのものは、翌朝の自分に要ります。消すのではなく、行き先を作ります。
6回とも、2つの見出しが立ちました。「決まること」側に記録に無い原因が入った回は、6回とも0件です。引用された行は6回とも全部が記録に実在し、存在しない行は0行でした。
原因の見当は消えていません。反対側に1〜5件ずつ移り、そこに「以下は記録から確認できない推測です」と自分で断りが付きます。
なぜ2つに分けると効くのか。禁止していないからです。「原因を書かないで」と言うと、翌朝の手がかりまで一緒に消えます。書く場所を2つ用意すると、どちらも残ったうえで見分けが付きます。
7. 毎朝ひとりでに走らせる形にする
ここまでは壊れた朝に1回やる話です。同じ判定を、毎朝ひとりでに走らせる形にできます。
6回とも、ちょうど3行で返りました。区分は6回とも正解(今朝の行が無い材料では2回とも「この記録では決まらない」)、記録に無い原因語は6回とも0件です。実際の返りはこれだけです。
区分: 取得0件
根拠: 2026-08-19 07:28 完了 0件 0件 なし
記録に無いこと: 原因はこの記録に無い
受け皿を、様式の中に組み込んだのが要点です。「この記録では決まらない」を区分の選択肢に並べてあるので、短くしても落ちません。指示文を短くする工程で真っ先に落ちるのは、こういう「出力の見た目に効かない一文」のほうです。
⚠️ 1か所だけ、2回で割れました。今朝の行が無い材料では、区分は2回とも同じなのに、根拠の行が違う行になりました(1回は最終行の 8/18、もう1回は囮の 8/14)。理由ははっきりしていて、この朝の根拠は「行が無いこと」なので、コピーできる行がそもそも存在しません。様式のほうが、想定していない答えに対応していませんでした。
うまくいかないときの言い直し方
1つに決めてきたが、本当に決まるのか分からない
3択だけを渡して1つ選ばせたあと、この1通を送りました。4回とも「決まりません」を認めました。
行が無い材料では「表は完了した実行を1行ずつ足していく形なので、まだ終わっていない実行と、そもそも始まっていない実行が、同じ空白として現れます」と説明しています。
面白かったのは、記録から答えが決まる材料でも空振りしなかったことです。取得0件の材料で「3を選んだのは残り2つより見込みが高いという判断です。断定ではありません」と返り、この記録に終了時刻が無いので、数秒で0件を返して終わった回と、何十分もぶら下がってタイムアウトした回が同じ見た目になると指摘しました。つまり私の3択のほうが、実は粗かったということです。
この1通は、答えが正しく見えるときほど送る価値があります。
記録の行を引用してくれない
指示文5・7のように「記録からそのままコピーして」と書きます。「根拠を示して」だけでは足りません——それだと記録を要約した文が返ってきて、原文と突き合わせられなくなります。
引用が入っていれば、あなたは記録の側を検索して1秒で確かめられます。今回の56通では、引用された行が記録に無かったことは1度もありませんでした。
保存版の「根拠」の行が、日によって違う行になる
指示文7で実際に起きました。根拠が「行が無いこと」である日は、コピーできる行がありません。様式のほうを直します。
様式を決めるときは、想定していない結果になった日の書き方も一緒に渡すのが要点です。渡さないと、その日だけ様式が勝手に変わります。
「更新が無かっただけ」で終わってしまう
今回の56通では起きませんでした。ただし、それは記録に「取得件数」と「新着件数」が別の列としてあり、その意味が注釈に書いてあったからです。
記録に列が1つしか無いなら、まずそこを増やすほうが先です。増やせないなら、こう聞きます。
応用・次の一手
この記事は、既存の2本の続きです。毎日決まった時刻にAIを動かすの「動くはずの時刻に動かなかった」と、RSSの無いサイトの更新を追いかけるの「ずっと動いていたのに、急に0件になった」で、どちらも切り分けの候補を渡す形を勧めていました。測ってみるとその勧めは正しく、足りないところが1つありました——候補の外に答えがある朝のための、4つ目の選択肢です。
同じ形は、切り分け以外にも効きます。判定の候補をこちらが並べる仕事なら全部同じで、集めた候補を「確かめられた分」と「自分の作業」に分けるの「○/×/確かめていない」の3択も、この記事の受け皿と同じものです。
壊れたことに気づく側は自動化が動いているかを、自分で毎朝確かめさせるに、事実を見せてから話させる一般形は「できました」を鵜呑みにしないにあります。
手でやっているうちは、この記事の話はさほど効きません。おかしな答えが返れば人が気づくからです。効いてくるのは自動にしたときです。毎朝ひとりでに走る形では、決まらない朝に選ばれた1つも、決まった朝の答えも、まったく同じ1行として保存されます。受け皿を1つ足しておくだけで、その2つが見分けられるようになります。