第18話「勇者と管理人」
ログを漁っていて、気づいた。
管理層から地上への通信手段は、ほぼすべてが断たれている。ダッシュボード経由での設定変更や処理の調整は可能だが、住人に直接言葉を届ける方法はない。管理人は世界を動かす側であって、住人と話す側ではない。
でも——一つだけ、穴がある。
神託。
管理層から地上の神官に届くアラート通知。世界に異常が起きたとき、自動的に神官の受信端末——リーゼルの鈴——にアラートが飛ぶ。以前、アラートが鳴り止まなかったとき、俺はこのチャンネルのノイズを減らした。不要なアラートを仕分けて、本当に重要な通知だけが届くようにした。
あのときは、アラートの精度を上げるために触った。でも今、別の使い方が見えた。
このチャンネルは、管理層から地上への片方向通信だ。通常はアラートの自動送信に使われている。でも、送信内容を手動で変えられるなら——自分のメッセージを、地上の神官に届けられる。
前の世界でも同じことがあった。監視用の通知チャンネルを、本来の目的以外に使い回す。障害の通知に使っていたチャンネルで、チームメンバーに「障害対応中、もうすぐ復旧」と伝える。正規の連絡手段ではない。でも、他に方法がないとき、エンジニアは手元にある道具を使う。
「ノード」
「はい」
「神託のチャンネルに、手動でカスタムメッセージを流せるか」
「えーと……」 ノードが少し間を置いた。「技術的には可能です。アラートの送信処理に手動でメッセージを乗せれば、受信者に届きます。ただ——」
「受信者はリーゼルだ。アリアはアラート受信者ではない」
「……はい。リーゼルさんにしか届きません」
「それでいい。リーゼルに届けて、リーゼルからアリアに伝えてもらう」
「えーと……でも、悠真さん。メッセージを送るということは、管理層から住人に直接干渉するということで——」
「わかっている。管理人は住人に話しかけるものじゃない。でも——」
俺は画面を見た。ダッシュボードの処理能力は98%。もうすぐ限界だ。地上では戦闘が続いている。アリアたちは、何のために戦っているのかもわからないまま命を賭けている。
世界が壊れかけている。俺はそれを知っている。地上の人間は知らない。
知らないまま死なせるわけにはいかない。
「送る」
* * *
メッセージを考えた。
何を伝えるべきか。限られた文字数。アラート通知のチャンネルは長文を送れない。短く、正確に、伝えなければならないことだけを。
技術的な詳細は要らない。世界の構造も、魔王の正体も、深層のコメントも——今は、全部省く。
管理者がユーザーに伝えるべきことは、二つだけだ。「何が起きているか」と「自分たちが対応していること」。前の世界でも、障害が起きたときにユーザーに出す通知はいつもそうだった。長い説明は要らない。「問題を認識している」「対応中である」——その二つで、人は待てるようになる。
ミラが教えてくれた。「なんか、誰かが気をつけてくれてる感じ?」——あの子は感覚で気づいていた。でもアリアには、言葉で伝えなければならない。今まさに命がけで戦っている人間には、感覚だけでは足りない。
「ノード、送信する。内容はこれだ」
俺は言葉を選んだ。
「——この世界は壊れかけている。でも、俺はそれを直そうとしている。だから——もう少しだけ、持ちこたえてくれ」
「……送信しますか」
「ああ」
「……わかりました」
ノードが処理を実行した。アラート通知のチャンネルに、俺の言葉が乗った。
管理層から地上へ。片方向の、たった一言のメッセージ。
* * *
北の平原。
リーゼルは走っていた。
カイルの背中を追いかけながら、回復魔法を飛ばし続ける。四日目の戦闘は、もう体力の限界を超えていた。足が震える。視界がぼやける。回復魔法は自分の生命力を代償にする。使えば使うほど、自分が削れていく。それでも鈴を握りしめて、祈り続ける。
——おじいちゃん、あたし、まだ頑張れるよ。
育ての大神官はもういない。でも、あの人の教えはリーゼルの中に生きていた。「みんなを守りなさい」。だから守る。自分が倒れるまで。
鈴が、鳴った。
いつものアラートとは違った。
最近の神託はノイズだらけだった。意味の取れない断片。不規則な振動。何を伝えようとしているのかわからない雑音。でも——今の鳴り方は違う。
澄んでいた。
一音だけ。静かで、透明な音。ノイズが一切混じっていない、きれいな鈴の音。
リーゼルの足が止まった。
「……今の、聞こえた?」
周囲の誰にも聞こえていなかった。鈴の音はリーゼルにだけ届く。
リーゼルは目を閉じた。鈴を両手で包むように握って、音の先に意識を集中した。神託を受け取るときの姿勢だ。
声が聞こえた。
神の声ではなかった。もっと——近い声。疲れた声。でも、諦めていない声。
——この世界は壊れかけている。
リーゼルの目が見開かれた。
——でも、俺はそれを直そうとしている。
涙が溢れた。
——だから——もう少しだけ、持ちこたえてくれ。
「……あっ——」
リーゼルはその場にしゃがみ込んだ。鈴を胸に抱きしめて、声を押し殺して泣いた。
ずっと不安だった。神託がおかしくなって、自分の力が足りないんじゃないかと思っていた。神様が怒っているのかと思っていた。でも——違った。
誰かが、ずっと直していてくれたんだ。
あの日、鈴のノイズが急にきれいになったのも。神託が整理されて、大事なことだけが届くようになったのも。全部——この人が、やってくれていたんだ。
「あの人が……神託を、きれいにしてくれたんだ……」
涙で声がかすれた。鈴を握りしめる手が震えていた。
「リーゼル!」
アリアが駆け寄ってきた。「どうしたの! 怪我した?」
「ううん……怪我じゃない。アリアさん——」
リーゼルが顔を上げた。涙でぐちゃぐちゃの顔で、でもまっすぐにアリアを見た。
「神託が来たの。でも——神様からじゃない。誰かが——世界を守っている人がいて、その人からメッセージが来た」
「世界を、守っている人?」
「うん。この世界は壊れかけてるって。でも、直そうとしてるって。だから——もう少しだけ、持ちこたえてくれって」
アリアが息を呑んだ。
フィオナが近づいてきた。「リーゼル、それは——」
「本当だよ。あたし、神託を受け取るときの感覚はわかるの。これは本物。嘘じゃない」
フィオナがノートを取り出した。「魔法の制限。攻撃魔法の優先順位。回復魔法が安定していること。あれは全部——意図的だと思っていましたわ。やはり、誰かが裏で動かしていた」
カイルが盾を下ろして振り返った。「フィオナ、あんたそんなこと気づいてたのか」
「観測の結果が示していましたわ。でも——それが人の意志だとは、証明できなかった」
アリアはしばらく何も言えなかった。
空を見上げた。澄んだ青が、どこまでも広がっていた。自分の瞳と、同じ色だった。どこかに——見えないところに、誰かがいる。世界を壊さないように、ずっと走り続けている人がいる。
魔法が不安定になったとき、回復だけは止まらなかった。あれは——この人が、守っていたんだ。
「……なんだろう」
アリアの声が、少し震えた。
「さっき一瞬、世界が優しくなった気がした」
カイルが何か言おうとして、やめた。フィオナがノートを閉じた。リーゼルが鈴を胸に抱いたまま、静かに泣いていた。
「あなたが——世界を守っていたのね」
アリアは空に向かって呟いた。声が震えていた。でも——笑っていた。
ずっと一人で背負っていると思っていた。勇者の役目は重い。みんなを守るのは私の仕事。弱さを見せてはいけない。でも——見えないところで、もう一人、走り続けている人がいた。
一人じゃなかった。
「ありがとう。もう少しだけ——持ちこたえるから」
アリアは剣を握り直した。空を見上げた目は、もう震えていなかった。
* * *
管理層で、俺はダッシュボードを見つめていた。
メッセージが届いたかどうか、確認する手段はない。片方向通信だ。返事は来ない。
でも——ダッシュボードの数字が、わずかに動いた。
地上の戦闘パターンが、変わっていた。アリアたちの動きが変わった。がむしゃらに戦っていた動きが、少しだけ落ち着いている。攻撃の無駄が減って、回復のタイミングが正確になっている。
まるで——何かを信じて、戦い方を変えたかのように。
「ノード」
「はい」
「……届いたかもしれない」
「えーと……そうですね。数字が、少しだけ良くなっています」
片方向の通信。返事のないメッセージ。
でも、数字が答えてくれた。
地上で、誰かが信じてくれている。
お読みいただきありがとうございます。
【今回のIT用語】
通知チャンネルの目的外使用:本来はアラート通知(障害発生の自動通知)に使われるチャンネルを、別の目的に転用すること。Slackの障害通知用Webhookでチームメンバーにメッセージを送ったり、PagerDutyの通知経路を使って手動で連絡したり——正規の手段ではないけれど、「今ある道具で何とかする」のがエンジニアの現場です。悠真がリーゼルの神託チャンネルにメッセージを流したのが、まさにこれです。
モニタリングとユーザーコミュニケーション:システムの状態を監視すること(モニタリング)と、その結果をユーザーに伝えること(コミュニケーション)は、SREの重要な両輪です。どれだけ裏で問題を直していても、ユーザーに何も伝えなければ不安だけが残ります。悠真がアリアに「直そうとしている」と伝えたのは、技術的な対処とは別の、もう一つの大事な仕事でした。
次話「世界の最深部へ」もよろしくお願いします。
感想・ブックマークいただけると励みになります。




