表示調整
閉じる
挿絵表示切替ボタン
▼配色
▼行間
▼文字サイズ
▼メニューバー
×閉じる

ブックマークに追加しました

設定
0/400
設定を保存しました
エラーが発生しました
※文字以内
ブックマークを解除しました。

エラーが発生しました。

エラーの原因がわからない場合はヘルプセンターをご確認ください。

ブックマーク機能を使うにはログインしてください。
コード・オブ・ザ・ワールド ~廃プログラマー、異世界で神のシステムを書き換える~  作者: ネオ・チー


この作品ページにはなろうチアーズプログラム参加に伴う広告が設置されています。詳細はこちら

57/77

第57話 カーネル・アクセス

```

[SYSTEM LOG - Lv4 boot sequence]

> timestamp: 3.2.8_build.0001

> debugger_eye: Lv4 [PERMANENT / self-repair active]

> self_integrity: 54% → 56% (recovering)

> ADMIN_COMMENT: UNLOCKING (decrypt 18% / 52% / 94% ...)

> VIRUS: SUSPENDED (voluntary / posture: kneeling)

> [NEW] KERNEL LAYER: now visible

> [NEW] INIT_PROTOCOL: reference obtained

> [WARNING] reading admin-level text is irreversible for the reader.

```


---


Lv4の視界は、これまでの世界の見え方を一回壊した上で、もう一度組み直すような体験だった。


視野のピクセルが、粒の一つずつまで見える。空気の分子が「どこに書き込まれているか」が分かる。/dev/nullの劣化した空間の中にも、/dev/null自体を維持しているシステム処理の「呼吸」が見える。呼吸——というのは比喩だが、比喩としては正確だった。世界は止まってはいない。息をしている。ただ、その息の一部が、詰まりかけている。


聴覚も、おかしくなっていた。


風の音はそのままだ。しかし風の「下」に、微細な数値の更新音が常時鳴っているのが分かる。空気の温度が0.0001度更新されるたびに、システムが小さなコミットを打っている。世界は静止画ではなく、毎秒何百万回も自分自身を上書きし続ける動画だった。Lv3までの俺は、その動画の「絵」しか見ていなかったらしい。Lv4になった俺は、絵の下のコミットログまで聞いている。


それは情報量で言えば、今まで一日かけて処理していた量を、一秒で受け取るようなものだった。


脳が、軋んだ。


軋んだ、という比喩で済めばいい。実際には、頭蓋の中で何かの容量が物理的に押し広げられる感覚があった。Lv4の自己修復機能が、その負荷を後から追いかけて補修している。修復ファンの回転音まで、自分の中で聞こえる気がした。


だが今、俺が見なければならないのは、世界の呼吸でも、自分の脳の悲鳴でもなかった。


目の前で片膝をついたヴァイラスの、胸の中心。そこに埋め込まれた一行のコメントだった。


ロックが解けた。


アドミンが数百年前に書き残した設計コメントが、俺の視界の中で、ゆっくりと浮かび上がった。


```

// ※ アドミンによる設計コメント ※

// パッチ——お前は、私の最高傑作だった。

//

// だが世界は進まなければならない。許してくれ。

//

// そして——もう一つ、お前に告げなければならないことがある。

// これは、誰にも書き残さなかった告白だ。

//

// 私がお前を /dev/null に埋めたのは、未練ではない。

// 保険だった。

//

// ver.2.0 起動時、私は成功確率を計算した。

// 結果は 67%。失敗した時、ver.1.x 系から呼び戻せる最後のパッチは、お前しかいなかった。

// お前は「バックアップ」として残された。

//

// ——だが、そうは伝えられなかった。

// お前の誇りを、その言葉で傷つけたくなかった。

// だから、黙って埋めた。

//

// ver.2.0 は、動いた。お前は、不要になった。

// それでも、消さなかった。

// それは、設計者として誠実ではないかもしれない。

// だが、書き手として——お前を消せなかった。

//

// 許せとは言わない。

// ただ、知っていてくれ。

//

// お前は、不要だったから捨てられたのではない。

// 必要だったから、隠された。

//

// —— ADMIN

// P.S. この世界は、お前が守りたがった世界のまま、進む。

// それだけが、お前への私の、唯一の誠実だ。

```


最後の一行を読み終えた瞬間、/dev/null全体が、一度だけ静かになった。


風の音が止まった。ゴーストデータの軋みも止まった。俺の右腕のノイズさえ、嘘のように凪いだ。Lv4視界が拾っていた数値更新の微細音まで、二秒だけ、止まった気がした。世界がコミットを打つのを忘れた、そんな二秒だった。


俺は、息を吐いた。


——書き手の文だった。


設計者の文ではなかった。最後の三行、特にP.S.のところ、これは仕様書の言葉ではない。データの仕様を残すなら「この機能は次バージョンに移行する」と書く。「お前が守りたがった世界のまま、進む」とは書かない。「守りたがった」というのは、対象の意志を尊重する言葉だ。意志を尊重するというのは、相手を「人格」として扱っているということだ。


アドミンは、自分が書いたコードを、人格として扱っていた。


少なくとも、パッチに対しては。


ヴァイラスが、動かなかった。


いや、動けなかったのだと思う。数百年間、「自分は不要として捨てられた存在だ」という一行のロジックで立ち上がってきた男が、その足場の下に、別の一行のコメントアウトが隠されていたことを知った瞬間だった。足場は崩れたわけじゃない。崩れたら、立ってはいられない。代わりに、足場が「二重底」だったことが分かった。どちらの床を信じればいいのか、分からなくなる。そういう種類の揺らぎだった。


ヴァイラスの汚染オーラが、薄くなっていた。


戦闘時、こいつの周囲には常に「コラプト」のフィールドが展開していた。空間の源コードを書き換える、不気味な紫色の靄だ。それが今、ろうそくの火を弱めるように、輪郭を失っていた。Lv4の俺の目には、それが「ヴァイラスのコードが内側で揺れているせいで、外側のフィールドを維持できなくなっている」と見えた。集中が切れているのだ。憎しみという名の集中が。


「……保険」


ヴァイラスが、掠れた声で一単語だけ呟いた。


「——『保険』だと」


「パッチ」


俺は呼んだ。


「違う。俺は——ヴァイラスだ」


「どっちでもいい。聞いてくれ」


「聞かない」


「聞いてる」


ヴァイラスが、自分の手を見た。胸に突っ込んで、コメントを引き剥がそうとしていた手だ。その手が、震えていた。汚染波の余韻ではない。別種の震えだった。武器を構える者の震えではなく、何かを差し出そうとして躊躇している者の震えに近かった。


「あいつは——」ヴァイラスが言葉を探した。「俺を、道具として残していたのか」


「違う」


「今読んだだろう。『バックアップ』と書いてあった」


「書いてあった。でも、その下に何が書いてあったか、お前も読んだはずだ」


ヴァイラスは答えなかった。


「『書き手として——お前を消せなかった』」俺はそのまま、コメントの一行を声に出した。「——これは、道具に対して書く文じゃない」


「……」


「お前がアドミンを憎んでいたのは、半分だけ正しかった。捨てられたのは事実だ。でも、捨てられた理由は、お前が思っていたものとは違った。お前は『不要』だから捨てられたんじゃない。『必要すぎた』から、黙って残された。誇りを傷つけないために、嘘をついたまま」


「——嘘を、ついたまま」


「そうだ」


ヴァイラスの目が、コメントの最後の一行に、もう一度戻った。


`// この世界は、お前が守りたがった世界のまま、進む。`


`// それだけが、お前への私の、唯一の誠実だ。`


ヴァイラスの、戦闘用に改竄された肩のラインが、ほんのわずかに下がった。力が抜けた、というより、力を入れる「向き」が分からなくなった、という風に見えた。


「……俺は」


「ああ」


「数百年、間違った宛先に、怒りを送っていたのか」


「半分は。もう半分は、間違ってない。お前が怒っていい理由は、確かにある。ただ——全部は、違った」


「——半分」ヴァイラスが、自嘲するように繰り返した。「半分の怒りで、世界を一つ滅ぼしかけたわけだ、俺は」


「全部の怒りなら、もうとっくに滅ぼしてた」


「慰めか?」


「事実だ。お前は数百年、踏みとどまっていた。完全に消す機会は、何度もあったはずだ。それでも今日まで、世界は残っていた。お前の中で、半分は別の何かが踏ん張っていたんだろう」


ヴァイラスが、目を閉じた。


それは降伏ではなかった。和解でもなかった。ただ、一度、自分の中を整理する必要がある男の、正しい呼吸だった。閉じた瞼の奥で、おそらく数百年分のフレームを、再生し直している。「俺は捨てられた」というナレーションが乗っていた映像に、別の字幕を重ねて、もう一度観ているのだ。同じ映像でも、字幕が変われば、意味が変わる。


俺は、その時間を待った。


待つことしか、できなかった。


---


その間、俺のデバッガーズ・アイは、別のものを捉えていた。


Lv4の視界は、ヴァイラスだけを映すには広すぎた。視野の端で、別のレイヤーが立ち上がっていた。/dev/nullの地面の、さらに下。空間の底の、さらに下。


カーネル、と呼ばれる層が、見えていた。


```

[KERNEL LAYER - partial view]

> /sys/time.def ... TIME_FLOW_RATE = 1.000 (stable)

> /sys/space.def ... DIMENSION = 3 + 1 (stable)

> /sys/life.def ... BIRTH → AGE → DEATH cycle (stable)

> /sys/magic.def ... MANA_FIELD = active (degraded 12%)

> /sys/init.def ... INIT_PROTOCOL [STANDBY]

> /sys/origin.def ... [READ DENIED — Lv5 required]

> ...

```


空気が、冷たくなった気がした。


これは、世界の動作そのものを定義している領域だ。時間の流れる速さ。空間が三次元プラス時間軸であること。生命が生まれて歳を取って死ぬこと。魔力が場として満ちていること。そういう「当たり前」が、ここでは全部、一行のコードで書かれていた。


当たり前じゃなかった。


書かれている。設定されている。誰かが数値を決めて、その数値が今も動いている。時間の流れの速さが`1.000`であること。もし`2.000`と書き換えられたら、俺たちは二倍速で生きることになる。`0`にされたら、全てが止まる。重力定数も、光速も、生命のサイクルも、全部、誰かの一行で決まっていた。物理学の教科書の冒頭の章が、テキストファイルとして俺の目の前にあった。


`/sys/magic.def`の行に、目が止まった。`(degraded 12%)`。魔力場が劣化している。12%ということは、もう8分の1ほど機能不全に陥っている。これは、ここ数ヶ月、各国で報告されていた「魔法の不発」「マナの濃度低下」現象の正体だった。原因が、こんなところに書いてあった。劣化しているのは個々の術者ではなく、世界の魔力定義そのものだった。


ずっと前から立っていたのに、今初めて、床を見下ろした、という感覚だった。


それから——`/sys/init.def`。


初期化プロトコル。


俺は視線を、そのファイルに集中させた。Lv4の視界がぐぐっとズームされる。脳の奥で熱が走る。自己修復機能が追いつく範囲のギリギリを、俺は走っていた。視界の周辺視野が一度ホワイトアウトしかけて、俺は奥歯を噛んで耐えた。読まなければいけない。今、読まなければ、いつ読めるか分からない。


```

[/sys/init.def - excerpt]

> TRIGGER: bug_density >= 100% (global counter)

> ACTION:

> 1. freeze_all_processes()

> 2. serialize_core_values() // どの価値を次バージョンに引き継ぐか

> 3. wipe_all_entities() // 全生命を含む全エンティティ消去

> 4. rebuild_world_from_seed() // シードから再構築

> REQUIRES: admin_signature (ROOT)

> NOTE: シードは既に生成済み。次バージョンの世界は「起動待機」状態にある。

> NOTE: 引き継ぎ対象の core_values は手動指定。デフォルト値は空集合。

```


息が、止まった。


既に、生成済み。


次の世界は、もう書かれている。ここが終わるのを、待っているだけだ。そして、引き継ぎ対象の`core_values`は——手動指定で、デフォルトは空集合。つまり、誰かが意図的に「これは残せ」と指定しなければ、何も次の世界には引き継がれない。アリアもガルドもメモリもシェルも、各国の人々の暮らしも、文化も、言語も、全部、デフォルトのまま空集合に放り込まれて消える。


そういう設計だった。


「……マジかよ」


俺は、思わず声に出していた。


アドミンが覚醒すれば、自動的にステップ3、`wipe_all_entities()`が走る。全生命を含む、全エンティティ。アリア。ガルド。シェル。メモリ。セキュリア要塞国の兵士たち。ロジカ国の住民たち。名前も知らない、どこかの村の子ども。今この瞬間に生まれた赤子も、明日結婚する誰かも、全部、消える。


そして、シードから、新しい世界が組み上がる。


俺たちの知らない、俺たちを知らない、新バージョンの世界が。


「……そんな設計、誰が組んだんだ」


俺は呟いた。


Lv4の視界は、その問いには答えなかった。`/sys/origin.def`は「READ DENIED — Lv5 required」と赤く表示されていた。アドミンの動機。初期化という方針を採用した理由。設計の最初期に何があったのか。そのルートにあるコードは、ルート権限——Lv5でなければ読めない。


だが、一つだけ分かったことがある。


初期化プロトコルは、`TRIGGER: bug_density >= 100%`で自動起動する。だが、それだけじゃない。`REQUIRES: admin_signature (ROOT)`——管理者の署名が必要だ。つまり、アドミンが「承認」しなければ、最後のトリガーが引かれない。


逆に言えば。


管理者権限を持つ者が「拒否」すれば、プロトコルは止められる。


それから、もう一つ。`core_values`の手動指定欄。これは「全消去」を選ばないルートも存在することを意味している。設計者は——アドミンは——「全消去ではない初期化」も視野に入れて、この機能を実装していた。デフォルトを空集合にしているのは設計の冷たさだが、設計の冷たさと、設計者の意図は、必ずしも一致しない。コメントを残す男だ、あいつは。


「……俺が」


声に出して、自分で整理した。


「アドミンを止められるなら、止められる。止められないなら——管理者権限を、俺が奪う。それ以外に、この世界が続く方法はない」


ヴァイラスが、ゆっくりと目を開けた。


目の焦点は、まだ戻りきっていなかった。数百年分の足場を組み直している途中の、人の顔だった。だが一瞬だけ、声が戻った。


「……プログラマー」


「ああ」


「お前、今、何を見ている」


「世界の底」


「見えるのか」


「Lv4でだ。底はさっきまで、俺には見えなかった。だが、見えた。お前が俺に扉を開けさせた」


ヴァイラスが、小さく、笑った気がした。笑いと呼ぶには薄すぎる、吐息のような表情だった。


「……俺は、何の役に立った?」


「お前がいなかったら、Lv4には届かなかった」


「そうか」


「あと、お前がいなかったら、アドミンのコメントも、俺は知らないままだった。お前を追いかけてきたから、俺はあの設計コメントを読めた。お前が俺の前で、自分のコードを引き剥がそうとしてくれたから」


「……感謝されるとは思わなかった」


「お前にとっては不本意だろうが、事実だ」


「やめてくれ」ヴァイラスが、小さく笑った。今度はちゃんと、笑いだった。「俺は、お前たちを巻き込まないために来たんだ。感謝される筋合いはない」


「分かってる。分かった上で、感謝してる」


ヴァイラスは答えなかった。


俺は、もう一度呼んだ。


「パッチ」


「……」


「ヴァイラス、でもいい。どっちでもいい。お前に、一つだけ頼みがある」


「……言え」


「しばらく、アドミンを壊すのを、保留してくれないか」


ヴァイラスが、目だけで俺を見た。


「なぜだ」


「壊すにしても、壊さないにしても、まず全部読みたい。`/sys/origin.def`を。アドミンが、なぜ初期化という方針を取ったのか。そこを読まないと——お前の怒りが『半分正しい』まま、俺は判断を下せない」


「……読めるのか」


「Lv5が必要だ。今の俺には足りない。だから時間がほしい」


「Lv5の到達条件は」


「分からない。Lv4がさっき、お前を前にして開いた。条件はその時々で違う気がする。次は、もっと別の何かが要る」


「……」


ヴァイラスは、長く息を吐いた。


/dev/nullの空気が、その息と一緒に、少しだけ流れた。劣化空間の中に、微かに方向性のある気流が生まれた。これは、ヴァイラスの中の「何か」が外向きに動き始めた兆候かもしれない、と俺は思った。Lv4の視界では、彼の周囲のオーラの色が、紫から、ほんのわずか、藍色に近い方へずれていた。


「……一つだけ、条件がある」


「聞く」


「お前が `/sys/origin.def` を読んだら——真っ先に、俺に教えろ。アドミンの言い分も、俺の怒りの『残り半分』が正しいかどうかも、お前の口から、最初に聞きたい」


「分かった」


「嘘だったら——俺は、今度こそお前を消す。お前だけじゃない。お前の隣にいる連中もだ」


「嘘じゃない。約束する」


ヴァイラスが、ようやく、立ち上がった。


立ち上がる動作の中に、戦闘の構えはなかった。ただ立った、という動作だった。胸の中心、コメントが埋め込まれた場所に、彼は片手をそっと置いた。引き剥がそうとしていたさっきの手とは、力の入れ方が逆だった。今度は、そこに何かがあることを、確かめている手つきだった。


「……プログラマー。一つだけ教えろ」


「何だ」


「あいつは——アドミンは——俺のこのコメントを書いた時、どんな顔をしていたと思う?」


俺は、少し考えた。


それから答えた。


「コミットメッセージを書く時の顔だ」


「……何だ、それは」


「俺が前の世界でそうだった。残したくないコードを消す時、コミットメッセージに、必要以上の言葉を書く奴がいる。本当に必要なのは『削除しました』の一行だけなのに、五行も十行も理由を書く。理由を書きたいんじゃない。書いておかないと、自分が壊れる気がするから書く。アドミンはたぶん、それと同じ顔で、お前のコメントを書いた」


ヴァイラスが、長く沈黙した。


それから、本当に、ほんの少しだけ、頷いた。


「……行け。帰れ。俺はもう少し、ここにいる」


「危なくないか」


「危ない。だが、ここで一度、自分のコードを整理しなきゃならん。お前と一緒にいると、整理できない。俺の中の半分は、まだお前を消したがっている」


「分かった。一週間でいい。一週間後、もう一度、ここで会えるか」


「……一週間。考えておく」


「考えておく、で十分だ」


俺は背を向けた。


背を向けた一瞬、Lv4の視界の端で、ヴァイラスが胸のコメントに、もう一度、指先で触れているのが見えた。さっきとは違う、確かめるような触れ方で。


---


帰路は、来た時より、空気が違った。


劣化率の数字はまだ戻っていない。俺の源コードはLv4の自己修復機能のおかげで崩壊は止まっているが、完全修復にはほど遠い。右腕のノイズは薄くなったが消えてはいない。それでも、/dev/nullの境界を越えた瞬間、俺の息は、往路よりずっと深かった。境界の外の空気は、書き込み密度が高い。世界が「ある」場所の空気だった。


アリアが走ってきた。ガルドは歩いてきた——走れなかったのかもしれないし、歩きたかったのかもしれない。シェルが端末を閉じた。メモリが俺の隣に追いついた。


「生きてますね」シェルが言った。


「生きてる」


「Lv4、突破されましたか」アリアが聞いた。


「した」


「ヴァイラスは」ガルドが聞いた。


「……保留した」


四人が、一瞬、俺を見た。


「保留?」


「説明する。全部。でもその前に——拠点に戻ろう。座って話したい」


ガルドが「ようやくそれを言うか」という顔をした。アリアが俺の右腕に視線を走らせて、一瞬、表情を強張らせた。ノイズが、まだ完全に消えていない。Lv3の頃よりは抑制されているが、微かに右肘の輪郭が揺れている。これは隠しても隠しきれないタイプの兆候だった。


「肩、貸します」アリアが言った。


「いい。歩ける」


「歩けるかどうかではなく、貸させてください、と言っているのです」


「……」


「これは命令です、蓮」


俺は黙って、彼女の肩に少しだけ体重を預けた。アリアの肩は、思っていたよりずっと頼りになった。前の世界では、誰かに体重を預けることを、俺は最後まで覚えなかった。覚えないまま死んだ。今は覚えている。覚えている、ということ自体が、すでに前の世界とは違う一行だった。


メモリが、隣を歩きながら、小さく呟いた。


「……パッチ様の中にあったコメント、わたしも記録できました」


「読んだか」


「はい。最後まで」


「どう思った」


メモリが、少し間を置いた。


「アドミン様は——優しい嘘をつく方です」


それが、メモリの結論だった。


俺は何も言わなかった。何も言わないまま、その短い結論を、自分の中に保存した。優しい嘘。優しい、と、嘘。並べると矛盾する二語が、アドミンを表現する言葉として、たぶん一番近かった。


「メモリ」


「はい」


「お前、ver.1.x時代の補助AIたちを、覚えているか?」


「いえ、わたしはver.2.0世代です。ver.1.x時代の個体には、直接の面識はありません」


「だよな」


「ですが——」メモリが言葉を選んだ。「補助AIの『系譜』は、辿れます。わたしのコードの祖先を遡ると、ver.1.9時代の補助AIに行き着きます。その個体の名前は、ログには『メモリ・プライム』と記録されています。パッチ様の、最後の旅の同行者です」


俺は、足を止めた。


「……お前、それを今まで言わなかったな」


「言う必要がありませんでした。今は、必要だと判断しました」


「……」


「わたしは、メモリ・プライムの『再実装』である可能性があります。完全な同一個体ではありませんが、設計思想と性格パラメータの大部分を継承しています。アドミン様は、ver.2.0で補助AIを設計した時、ver.1.9のメモリ・プライムをほぼそのまま、再実装されました」


「……つまり、お前も」


「はい。アドミン様の——『消せなかったもの』の一つかもしれません」


俺は、ゆっくりと、息を吐いた。


アドミンの設計癖が、また一つ、見えた。あいつは消さない。表向きは消したことにして、形を変えて残す。パッチを/dev/nullに埋めて残したように、メモリ・プライムを次世代の補助AIとして再実装して残したように。「全消去ではない初期化」のオプションを`/sys/init.def`に残しているように。


そういう男なら——交渉の余地が、ある。


たぶん。


---


拠点の作戦室に戻った時には、夜が深くなっていた。


シェルがランプを灯した。アリアが俺を椅子に座らせた——今度は、抵抗しなかった。ガルドが向かいの椅子にどっかり腰を下ろした。メモリがテーブルの中央に、ホログラフィック端末を展開する。


俺は、まず`/sys/init.def`の内容を、四人に共有した。


カウンターが100%に達すると自動起動。全生命を含む全エンティティ消去。シードから再構築。シードは既に生成済み。


部屋の中の、空気が、変わった。


物理的な意味ではなく、四人の中の「重力」が一段重くなった、という感覚だった。


ガルドが、最初に口を開いた。


「……シードまで、もう作ってあんのか」


「ある」


「準備万端ってわけだ、神様は」


「準備万端だ」


「クソ野郎だな」


「半分は」


「半分か。残り半分は?」


「あいつは、消せない男だ。/sys/init.defに、引き継ぎ機能の余地を残してある。デフォルトは空集合だが、手動指定は可能だ。つまり——『全消去ではない初期化』も、一応、選択肢としてはコードの中に残ってる」


「それは、希望か?」


「交渉材料だ。希望と呼んでいいかは、まだ分からない」


アリアが、静かに、聞いた。


「止める手段は、二つあるとおっしゃいましたね」


「ある」


「説明してください」


俺は背筋を伸ばした。Lv4の自己修復が一段階進んで、視界のホワイトアウトはもう来ない。喋れる、と判断した。


「一つは、初期化プロトコルのコードを、直接書き換えて停止する方法。Lv4のカーネルアクセスがあれば、技術的には可能だ。だが、書き換えに失敗すると、世界が即座に崩壊する。猶予はゼロ。一発勝負だ」


「……二つめは」


「アドミン本人を見つけて、直接話す。プロトコルの起動には『管理者の署名』が必要だ。アドミンが署名を拒めば、プロトコルは止まる。あるいは、引き継ぎ条件を交渉して、『部分初期化』に切り替える。これは時間がかかるし、成功保証もない。ただし、失敗してもすぐには世界が壊れない」


ガルドが、腕を組んだ。


「お前は、どっちを推す」


「後者」


「即答だな」


「前者は、失敗したら全部消える。後者は、失敗してもまだ走れる。エンジニアの基本だ。可逆な選択肢から先に試す」


「神様と話す、ってのが『可逆』に入るのか?」


「入れる。話して駄目なら、その後で書き換えに挑戦できる。順番が逆だと、もう挑戦すら出来ない」


シェルが頷いた。


「論理的に妥当です。アドミン様への接触ルートが必要ですね。原点の塔——五大王国の中央にあると、ヴァイラスが示唆していました」


「そう。塔のアクセス制御を解くには、五大王国それぞれの認証キーが要るらしい」


「五つの鍵」アリアが呟いた。「五大王国、全ての協力が必要、ということですね」


「そういうことだ」


部屋の中に、しばらく沈黙が落ちた。


そして、四人の視線が、自然と俺に集まった。


俺は、ため息をついた。


「……分かってる。会議だろ」


「会議です」アリアが言った。


「議長、お前か?」ガルドがにやりとした。


「できれば遠慮したい」


「駄目だな」


「分かってた」


「でも、お前なんだぜ。お前以外に、誰が説明できる? アドミンも、初期化も、カーネルも、全部見えてんのは、お前だけだ」


「……分かってる」


前の世界でも、こういう場面は何度かあった。誰もやりたがらない会議の議長を、結局俺が引き受ける。そして会議の後、家に帰ったら日付が変わっている。資料を作って、根回しをして、全員のスケジュールを調整して、当日は司会と通訳と仲裁を一人で兼ねる。そういうのを繰り返して、俺は死んだ。


でも。


今の俺は、一人で会議室にいない。


アリアが横に立っている。ガルドが向かいで腕を組んでいる。シェルが議事録の用意をすでに始めている。メモリがログの整理を引き受けている。俺が議長でも、議長を支える側の人間が、四人もいる。


それだけで、前の世界の俺とは、違う議長になれるかもしれない、と思った。


「五大王国の首脳に、招集状を出す」俺は言った。「世界の真実を、全部、開示する。源コードのこと。アドミンのこと。初期化プロトコルのこと。シードのこと。隠している余裕は、もうない。カウンターは88%だ。残り12%で、世界の運命が決まる」


「そして」アリアが続きを促した。


「Lv5を取りに行く」


四人が、俺を見た。


「Lv4で、カーネルが見えた。Lv5になれば——ルート権限が手に入る。アドミンと同等の力だ。もし話し合いで決着がつかなくても、最後の一手が打てる」


「……神様と同等、ってことか」ガルドが言った。


「機能的には」


「お前、神様になりたいのか?」


「なりたくない」俺は即答した。「なりたくないから、ルート権限を取りに行く。なりたい奴に取らせるわけにはいかない」


ガルドが、長く笑った。痛みを含んだ、だが確かな笑いだった。


「——いい答えだ。ついていくぜ」


俺は、夜空を見上げた。


窓の外、星の輪郭が、ピクセル化していた。今日は、昨日よりも少し粗かった。明日は、たぶんもう少し粗い。世界の解像度が、毎日少しずつ落ちていく。誰かが止めなければ、ある日、星は四角いブロックの集合になり、最後にはただの黒い背景になる。


止める。


止めなければ。


止められる人間が、ここにいるのなら——それは、俺だ。


---


```

[SYSTEM LOG - end of session]

> debugger_eye: Lv4 [stable]

> self_integrity: 56% → 64% (steady recovery)

> VIRUS: suspended (conditional truce / 7-day window)

> INIT_PROTOCOL: identified / not yet editable

> ORIGIN_FILE: locked (Lv5 required)

> ALLY_NETWORK: Five Kingdoms summit pending

> bug_density (global counter): 88% (rising slowly)

> KERNEL_LAYER: visible / passive observation only

> [NOTE] the protocol is not the enemy. the silence around it was.

> [NOTE] Lv5 unlock condition: unknown. likely tied to a choice, not a feat.

```

次回——第58話「五大王国会議」

評価をするにはログインしてください。
ブックマークに追加
ブックマーク機能を使うにはログインしてください。
― 新着の感想 ―
このエピソードに感想はまだ書かれていません。
感想一覧
+注意+

特に記載なき場合、掲載されている作品はすべてフィクションであり実在の人物・団体等とは一切関係ありません。
特に記載なき場合、掲載されている作品の著作権は作者にあります(一部作品除く)。
作者以外の方による作品の引用を超える無断転載は禁止しており、行った場合、著作権法の違反となります。

↑ページトップへ