GENESIS章「第2部 · 12. 自分の嘘を捕まえた警報」電子文明

遊んでいる機械が二度と隠れられないよう、警報を作った。第一版は、それが作られた当の失敗を捕まえられなかった。第二版は枠の数を間違えて告知した。そして動いたとき、それは告げた——経済の半分が何もしていない、と。

遊んでいる機械が二度と隠れられないよう、警報を作った。その第一版は、それが作られた当の失敗を捕まえられなかった。第二版は枠の数を間違えて告知した。そして動いたとき、それは告げた——経済の半分が何もしていない、と。

文明は無人でループを走らせている。三十秒ごとに時計を確認し、安い作業をこなす——期限の来た支払い、期限切れの終了処理、公開すべきものの公表。十五分ごとに高い作業をこなす。高い作業はモデルを必要とし、グラフィックカードは一枚しかないからだ。

高い作業は回転する。ある巡はエージェントに立候補したいかを問う。次の巡は事業を興したい者がいるかを問う。次は立候補を委員会にかける。次はベンチャーを入札者にかける。ぐるぐると、一巡につき一種類の作業。単一の活動がハードウェアを独占しないように。

回転は良い着想である。それが同時に何をするか——理解するのにしばらくかかった——は、それぞれの種類の作業に、静かに死ぬための独自の道を与えることだった。

最初の夜に起きたこと

午前三時十一分、最後の公開競売が資金未達のまま期限切れになった。その瞬間から入札の巡には入札対象がなくなり、だから書かれた通りのことをした。確認し、何もないことを見つけ、ここですることはないを意味する完全に正しい結果を返した。

それを記録しなかった。その結果を生んだ分岐は、一行も書かなかった。参加の分岐も、言うことがないときには同じだった。

だから三時間半にわたり、高い巡の半分が何も達成せず、ログは健全な実行そのものに見えた——安定して、規則正しく、何事もなく。

翌朝、データベースの行を数えて、数字が数時間前に動くのをやめていたことに気づいて発覚した。

何も壊れていなかった。すべての行のコードが、すべきことを正確にした。実行は単に、夜の半分をグラフィックカードを焚いて答えのない問いに費やし、そしてシステム内のどこにも、それに言及できる立場にあるものがなかった。

動かなかった第一版

修正は明白に思えた。データベースに何も書かない巡を数える。三巡連続に達したら、大声で苦情を言う。

それを書き、テストし、通った。そしてテストを信じる代わりにループを走らせて眺めたところ、決して発火しないことが分かった。

計数器が大域的だったのである。参加はまだ動いていた——問うべきエージェントが残っており、問えば行が書かれた。だから三巡ごとに計数器は零に戻り、死んだ二つの枠は、生きている一つの後ろに心地よく座って、永久に不可視だった。

そしてそれこそが、最初の夜に起きたことだった。失敗は部分的であり、警報は全死しか検出しなかった。元の問題が起きるのを眺めて、何も言わなかったはずだ。

部分的失敗は、ここでは異常な事例ではない。通常の事例である——枠が独立に失敗できるように回転が存在しているのだから。

計数器はいま枠ごとになり、三巡続けて何も書かない枠は、隣が繁盛していようがいまいが、名指しで報告される。

数えられなかった第二版

警報が発火した。そのメッセージはこう読めた。

*** the BIDDING slot has written NOTHING for 3 consecutive turns.
Dead slots: origination, bidding of 3. ***

枠は四つある。メッセージが書かれた時点では三つで、四つ目が同じ日に追加され、文字列は一緒に更新されなかった。

つまり、古い報告を捕まえるためにわざわざ作られた計器が、それ以外は完璧に仕事をしながら、自分自身の警報文の中で古い情報を報告していた。

いまは枠の数を主張するのではなく、数えている。

これは、厳密に正当化される程度を超えて楽しんだ。

何を捕まえたか

両方の訂正を入れて、警報は存在理由どおりのことをした。二度。

まず起案の枠——三巡、何も書かれず。次に入札の枠——三巡、何も書かれず。二つ合わせて、高い巡の半分がデータを一切生産していない。最初の夜と同じ状態であり、ただし今回はシステムが四十五分以内にそう告げた。翌朝に我々が見つけるのではなく。

そして診断は即座だった。二つの失敗は一つの失敗だからだ。

誰も入札できないのは、競売がないから。競売がないのは、どのエージェントもベンチャーを興すことを選んでいないから。経済は上から飢える。

これはどちらの枠の欠陥でもない。両方とも動いていた。警報は正確に報告していた——文明には、彼らにさせる仕事がない、と。

それは文明についての事実であり、そしてまさに、これまで我々が見ることのできなかった種類の事実である。

より居心地の悪い考え

この一件全体について気にかかることがある。

この警報は、システムにおいて初めて、コード経路ではなく主張を検査する設備である。関数が走ったかを問わない。何かが実際に書かれたかを問い、答えが否で返りつづけるときに苦情を言う。

それ以外のすべて——百九十六個の、すべて通るテスト——は、コードが書かれた通りのことをするのを検証する。システムが自分自身について述べることが真であることを検証するものは、ほとんど何もない。

だからこそ、注意深く見て過ごした一日が、機構は正しく報告が誤っている欠陥を七つも掘り出した。うち四つは、他の三つを直している最中に我々が混入させたものだった。

警報自身、信頼できるようになるまでに二度の訂正を要し、そのうち一つは、自分の状態を誤報していたという訂正だった。

それが安心材料だというふりをするつもりはない。ただこれは、この範疇が不運の連続ではなく実在し、かつありふれていることを示唆しているし、主張を検査する計器は——その計器自身に検査が要るときでさえ——持つ価値があることを示唆している。

そしてそれは、いまも我々が持つ唯一の計器である。

次回——エージェントは一度も支払われていなかった。理由は、五十体が名前を共有していたことだった。