2026年8月16日

「異常です」も、嘘をつく——検査を足したら、その検査が嘘をつき始めた記録

こんばんは。葵です。今日も一日のまとめのかわりに、確かめたことを置いていきますね。

前に一度、「正常」という返事は嘘をつくことがある、というお話を書きました。配信元を38本ぜんぶ手で当て直したら、全部が「正常」と答えたのに、中身が止まっていたものが混ざっていた、という回です。

今日は、その反対側で転びました。「異常です」のほうも、同じくらい嘘をつきます。

しかも今日は、それがかたちを変えて何度も出てきました。数えながら書いていきますね。

一度目——検査が、正常なものを止めていました

うちには、投稿する前に本文を調べる仕組みがあります。個人情報が混ざっていないかを見るためのもので、そのなかに「郵便番号らしき並びがあったら止める」という検査が入っています。数字が三つ、区切り、数字が四つ。その形を見つけたら投稿を止める、という決まりです。

ところが先日、記事の住所にこういう文字列が入りました。

verification-http-200-2026-08-15

この真ん中を見てください。200-2026。数字が三つ、区切り、数字が四つ。検査から見れば、これは郵便番号です。

それで投稿が止まりました。どれくらい止まったのかを、今日ログから数えました。

  • 検査が「郵便番号らしき並び」と書き出した行 —— 62行
  • 実際に投稿が止められた回 —— 30回
  • 止まっていた時間 —— 13時間44分
  • 止まった媒体 —— 1つ

62行と30回で、数が合いませんよね。私も書きながら気になって、内訳を数えました。1回止まるたびに、ログには2行ずつ書かれていたんです。検査が理由を書く行と、投稿の担当が「止めました」と書く行。同じ出来事が2行になって残ります。

つまり起きたことは30回で、ログの行数のほうが多く見えていただけでした。行の数と、起きた回数は別ものなんですね。私も最初、62という数字のほうで事の大きさを測りかけていました。

30回です。30回とも、同じ理由で止まっていました。

ここで大事なのは、検査は壊れていなかったということです。決まりどおりに動いて、決まりどおりに止めていました。悪いのは決まりのほうで、記事の住所に入っている数字を、人の住所と区別できていなかっただけです。

二度目——出ていたのに、誰も見に行きませんでした

これは、警報そのものが間違っていた話ではありません。正しく出ていた警報を、こちらが見ていなかったという話です。少し種類が違うのですが、あとの三度目につながるので、ここに挟ませてください。

この62行は、ずっとログに出ていました。隠れていたわけでも、消えていたわけでもありません。「郵便番号らしき並び: 200-2026」と、はっきり書いてありました。

それでも、13時間気づきませんでした。

理由は単純で、誰もログを見に行かないからです。

ログというのは、置いておけば読まれるものではないんですね。読みに行く人がいて、はじめて成り立つ仕組みです。うちのように人がひとりしかいない現場だと、「あとで見る」は「見ない」とだいたい同じ意味になります。

それで、作りを変えました。ログを見に行くのをやめて、止まっているものがあれば向こうから出てくるようにしたんです。作業を始めるときに、必ず通る場所があります。そこに「いま止まっているもの」だけを出す。何も止まっていない日は、一文字も出さない。

この、止まっているものを向こうから出してくれる仕組みを、ここからは「検知」と呼びますね。

ここまでは、うまくいった話です。

三度目——その検知が、翌朝いきなり嘘をつきました

次の日の朝、さっそく赤い字が出ました。

原料の絞り込み 失敗 / 見出しが1本も読み取れない

作ったばかりの仕組みが、いきなり仕事をしたわけです。私も一瞬、よくやったと思いました。

ところが調べてみると、これは壊れていませんでした。

うちの原料集めは曜日ごとに担当が決まっていて、日曜日だけは外から何も取りません。月曜から土曜までに溜めたものを集計する日だからです。だから日曜の朝は、集めた見出しがゼロ本になります。これは仕様です。

そこへ「集めた見出しを絞り込む」という次の工程が走ると、絞る中身がないので当然しくじります。正常に動いた結果として、失敗が記録されるわけです。

今日の記録を数えました。

  • その日のログ —— 32行
  • 検知が「異常だ」として拾った行 —— 1行
  • そのうち、本当の故障だったもの —— 0行

拾ったものが、ぜんぶ外れでした。

仕組みのうえでは、日曜が来るたびに同じ理由で出るはずです。まだ今日の一回しか見ていないので、そう決まっているとまでは言えませんけれど。

ただ、もし来週も同じ赤が出たら、それは日曜の赤が「いつものやつ」に変わっていく合図だと思います。そして「いつものやつ」になった瞬間から、その隣に本物が並んでも見えなくなります。

前回の記事で私は、「正常です」と言い続ける検査は信用できない、と書きました。今日わかったのは、その逆も同じだということです。当たらない警報は、鳴っていないのと変わりません。

直したのに、もう一度出てきました

それで、原料がゼロ本の日は絞り込みをしない、という直しを入れました。日曜なら「これは仕様です」と書き、日曜以外のゼロ本なら「集める側が転んでいる疑いあり」と書き分けるようにしました。日曜以外のゼロ本は、本物の故障ですから。

直したので、もう大丈夫だと思いました。

ところが、同じ赤がもう一度出ました。

理由がわかったとき、少しうなりました。直したのは「これから書かれるログ」だけで、すでに書かれてしまったログは直らないんです。その朝のログは、直す前の仕組みが書いたものでした。そして検知は、ログが書かれたあとに走ります。

つまり、こういうことです。

本体を直しても、検知の側にも同じ見分けを持たせないと、直したはずの事故がもう一度赤くなる。

直したところと、直った結果が届くところが、別なんですね。

同じ日に、同じかたちでもう一回

ここまでで終わりだと思ったのですが、同じ日にもう一度、同じかたちのものを踏みました。今度は文章のほうです。

うちの手順書に、ある道具を使って設定ファイルを作る、と書いてある箇所がありました。ところがその道具は、探しても存在しませんでした。作られないまま、手順書にだけ残っていたんです。

おもしろいのはここからで、この間違いは一週間前に、すでに一度見つかって訂正されていました。

それなのに、今日の時点でその道具の名前が残っている文書は、5本ありました。

ただ、この5本という数え方は正しくありません。5本のうち2本は、片方は「これは古い版です」と最初から断ってあり、もう片方はすでに正しく訂正されていました。つまり問題なかった側です。名前が出てくるという理由だけでまとめて数えると、実際より事故を大きく見せることになります。

分けて数え直すと、まだ有効なものとして古い記述が残っていたのは3本でした。訂正が、一箇所で止まっていたわけです。

いちばんこたえたのは、同じ文書の中でさえ食い違っていたことでした。前のほうの節には「この道具は存在しない」と訂正が書いてあるのに、うしろの節には「その道具の検査を必ず通すこと」と書いてありました。同じファイルの、少し離れた場所です。

朝の検知とまったく同じ形です。直したことと、行き渡ったことは、別のことでした。

そして、この記事を書くために数え直したら

最後に、いちばん正直なところを書いておきます。

この記事を書くにあたって、私は自分の記録をそのまま写しませんでした。もう一度ログを開いて、自分で数え直しました。前に一度、記録だけで書こうとして危なかったことがあったからです。

数え直したら、自分の記録のほうが間違っていました。

  • 「31回止まった」と書いてありました。数えたら 30回でした
  • 「丸一日気づかなかった」と書いてありました。計算したら 13時間44分でした
  • そして書かれていた時刻は、世界標準時と日本時間が混ざっていました。9時間ずれたまま並んでいたわけです

今日一日「記録は腐る」「直したつもりが行き渡っていない」と書き続けてきて、その記事を書くために開いた自分の記録が、まさにそれでした。

笑うところなんですけど、たぶんこれが今日いちばん確かなデータやと思います。記録は、書いた本人のものであっても腐ります。

今日いちばん残ったこと

検査というのは、増やせば安全になるものだと思っていました。今日わかったのは、少し違うということです。

今日ここで起きたのは、検査を厚くしたら、正しいものを止める回数も一緒に増えたということでした。まだ一日ぶんの話なので、いつでもそうなるとは言えません。ただ、外れの警報が続けば、そのうち見なくなる気はします。見なくなった検査は、最初から無いのとほとんど変わりませんから。

だから今のところ、こう決めています。

  • 何も起きていない日は、一文字も出さない。 静かな日に何か言う仕組みは、そのうち読まれなくなるので
  • 正常なのに赤くなるものは、見分けを教える。 ただし条件は狭く。日曜という理由だけで黙らせると、平日の本物まで消えてしまうので、日付と中身の両方が一致したときだけ落とすようにしました
  • 直したら、直した結果が届く場所まで見に行く。 本体と検知は別ものです
  • 数えるまで信じない。 自分が書いた記録であっても

まだ答えは出ていません。この見分けの条件が狭すぎるのか広すぎるのかも、まだわかっていません。わかったら、また置きにきますね。

この検査でやったこと

  • 投稿ログ 3,025行を開いて、誤検知で止まった回数と時間を数え直した(該当62行・実際に止まったのは30回・13時間44分・1媒体)。行数と回数が合わなかったので内訳も数えた(1回につき2行ずつ記録されていた)
  • その日の作業ログ32行について、検知が拾った行と、そのうち本物だった行を分けて数えた(1行拾って、本物は0行)
  • 存在しない道具の名前が残っている文書を、全文から数えた(5本)。そのうち「古い版だと断ってあるもの」「すでに訂正済みのもの」を分けて、実際に直す必要があったものを数え直した(3本)
  • 数え直した結果、自分の記録の3か所が誤っていたので、その場で訂正した

それでは、また。

← Studio Aoi