
朝、収益の計器盤を見たら、きれいに全部0だった。
視聴も0。
維持率も0.0。
登録も0。
でも、ログの顔つきだけは成功だった。
yt_ok=2/2。
日次収集は12回中12回、全部0のまま通っていた。
アラートも出ていなかった。
ここで一番こわいのは、数字が悪かったことではない。
数字が取れていないのに、取れた顔をしていたこと。
今日のDiffには、こういう記録が残っていた。
- 日次収集12/12回が `views=0`・`ret=0.0`・`subs=0`
- 週次プレフェッチは両チャンネル取得0件
- 2026-07-03は取得できていたのに、2026-07-10は両チャンネル `invalid_grant`
- それでも `yt_ok=2/2` と成功扱い
- 同じ期間に、別の画面では公開動画が815・2991・1112再生、vph 83・20・20で非ゼロ
つまり、事業が止まっていたのではなく、計測の分母が壊れていた。
今日は、この1点だけを書く。
AIに数字を集めさせるなら、成功フラグと成果データを同じものとして扱ってはいけない。
成功扱いなのに、成果が空だった

自動化のログには、よく「成功」という顔が出る。
エラーなし。
処理完了。
取得OK。
でも、その成功が何を意味しているのかを見ないと危ない。
今回の収益計器盤では、YouTubeの2チャンネル分の収集が yt_ok=2/2 と記録されていた。
これだけ見ると、ちゃんと取れているように見える。
でも、実際に入っていた値は全部0だった。
視聴0。
維持率0.0。
登録0。
しかも1回だけではない。
日次収集12回すべてが全ゼロだった。
ここで「今日は伸びなかった」と判断すると、次の行動を間違える。
新しい動画を足すのか。
企画を変えるのか。
投稿時間を変えるのか。
でも、その前に見るべきなのは、数字そのものの信頼性だった。
0は結果かもしれないし、空レスポンスを0に潰しただけかもしれない。
この2つは、まったく別物だ。
結果としての0なら、改善対象はコンテンツ。
空としての0なら、改善対象は計測。
同じ「0」でも、次に直す場所が変わる。
外の数字と突き合わせる

今回、違和感に気づけたのは、外側の数字があったからだった。
計器盤の中では6日連続0。
でも、同じ期間の公開動画は、別の確認では非ゼロだった。
具体的には、815再生、2991再生、1112再生。
vphも83、20、20。
この数字がDiffに残っていたことで、「本当に誰も見ていない」のではなく、「こちらの収集が壊れている」可能性が高くなった。
私はここで、AI運用の計測にひとつルールを置いた方がいいと思った。
自動収集の数字が極端な時は、別の画面・別のログ・別の手段で1回だけ照合する。
毎回ぜんぶ手で確認する必要はない。
それでは自動化の意味がない。
でも、全ゼロや急な断絶のような極端な値だけは、外で確認する。
特に、今回のように「成功ログ」と「空の成果」が同時に出ている時は危ない。
成功ログは、入口が通ったことを示しているだけかもしれない。
成果データが正しいことまでは保証していない。
ここを混ぜると、AIはきれいに間違う。
「成功しました」
「なので0です」
「では次の制作を増やしましょう」
この流れは、見た目だけなら自然だ。
でも、最初の前提が空なら、全部ずれる。
空レスポンスを0にしない

今日の教訓台帳には、かなりはっきりした反省が書かれていた。
日次収集の健全性チェックが外した。
理由は、空レスポンスを0に潰す実装だった。
そのせいで、fail_streakが常に0になり、アラートも発火しなかった。
これは地味だけれど、AI運用ではよく起きる。
「値がない」と「値が0」を同じ箱に入れてしまう。
人間なら、なんとなく違和感で止まれることがある。
でも、自動化は箱の名前どおりに処理する。
0と書かれていれば、0として扱う。
成功と書かれていれば、成功として扱う。
だから、入力の段階で分けておかないといけない。
- 0:取得できた結果が本当に0
- 空:取得結果が返っていない
- 失敗:認証・API・通信で壊れた
- 未確認:人間または別経路の照合待ち
この4つを同じ0にしない。
今回なら、invalid_grant が出た時点で「0」ではなく「認証失敗」に寄せるべきだった。
両チャンネル取得0件なら、成功ではなく「空の可能性あり」に寄せるべきだった。
計測のエラーは、事業の成績として扱わない。
この線を引かないと、AIは空のデータを使って、もっともらしい改善案を出してしまう。
次に見る数字を変える

今回の結論は、「新規制作を増やす」ではなかった。
むしろ逆だった。
教訓台帳には、次週やめることとしてこう残っている。
- 実数0件のまま新規制作を足すこと
- `revenue_ledger.md` / `SNAPSHOT.md` のYT列0値を実績として引用すること
- `yt_ok=N/2` を計測の健全性シグナルとして信頼すること
この3つは、そのまま次回のチェックリストになる。
私は、AIに数字を集めさせること自体は続ける。
でも、見る数字を少し変える。
見るのは、再生数だけではない。
- 取得元は生きているか
- 空レスポンスを0にしていないか
- 前回成功時と同じ認証で取れているか
- 外部の目視数字と大きくズレていないか
これを先に見る。
そのうえで、初めてコンテンツの良し悪しを見る。
数字は、意思決定のためにある。
でも、壊れた数字で意思決定すると、AIはとても速く間違った方向へ進む。
今日の一手は、新しい企画を足すことではない。
計測の0を、0・空・失敗・未確認に分けること。
次回からは、yt_ok=2/2 を成功の証拠として見ない。
成果データが空でないこと、外の数字と矛盾しないことまで見て、初めて「計測成功」と呼ぶ。
成功ログを信じる前に、数字が本当に入っているかを見る。