第21話: 22回壊して23回目でようやく壁が無事だった件
テスト環境では動いた。本番では壁にひびが入った。
——前世で一番聞きたくなかった言葉を、異世界でも聞く羽目になった。
だが話は三日前に遡る。
レンは三日間、ほとんど眠らなかった。研究小屋の机に魔法陣の設計図が何十枚も広がっている。書いては消し、消しては書き直す。明け方の空気が窓の隙間から忍び込み、吐く息がわずかに白い。
「また寝てねえな」イグニスが燭台の炎からぬるりと顔を出した。「何を唸ってんだよ」
「版管理だ。前世では当たり前だったんだが、この世界にはない」
「は? 当たり前のもんがないなら、作りゃいいだろ」
「作ろうとしてるんだよ。魔法陣は一度刻んだら上書きか、壊して最初からやり直すかの二択だ。どっちも危ない」
「ふーん。で、どうすんだ」
「グレン師匠に相談する」
グレンの工房に通い詰めた。
「師匠。ここを見てください」
設計図を広げると、グレンは分厚い指で線をなぞった。
「ふむ。魔法陣を『層』に分けるということか」
「はい。基盤層は動かしません。制御層を変更します。変更する前に、今の制御層を写し取って保存します。問題が起きたら、保存した版に差し替えます」
「下書きを残す、と言っておったやつか」
「そうです。ただ、下書きを残すだけじゃないんです。いつ、何を、なぜ変えたかも一緒に記録します」
「なぜ変えたか、まで?」
「三日前の自分が何を考えていたか、三日後の自分は覚えていません」
グレンは白い眉を上げた。
「……人間の記憶は頼りにならんと言いたいのか」
「記憶は頼りになりません。でも記録は残ります」
長い沈黙。老師が髭を撫でた。
「道理じゃな。わしも若い頃に刻んだ魔法陣を、どういう意図で作ったのか思い出せんことがある」
窓の外で、落ち葉が軒先を掠めて舞い落ちていく。
「わかった。お前のやり方を見せてみろ、小僧」
***
メイラが設計に加わったのは、二日目の朝だった。
「レンさん、版管理の仕組み……わたしにも設計させてください」
「助かる。理論面で行き詰まってた」
メイラは眼鏡を押し上げ、設計図を一枚一枚読んでいった。宙に魔法陣の断片を描きながら、楽譜を読むように構造を組み立てている。
半日後、メイラが自分の設計図を持ってきた。
レンは目を見張った。
「これは……すごいな」
「俺の設計は『変更前の状態を丸ごと保存する』だけだった。言わば写真を撮って箱にしまう仕組みだ。だが、これは……」
「変更を『差分』として記録するんです」メイラが設計図の一角を指した。「差分を組み合わせれば、任意の時点の状態を再現できます」
「待ってくれ。差分同士が矛盾したらどうなる?」
「そこです」メイラの目が輝いた。「矛盾を検出したら、どちらを優先するか術者に確認を求めます。イヴの事故は矛盾する命令が同時に存在したことが原因でしたから」
説明が進むにつれ、メイラの声が早くなっていた。眼鏡のつるを何度も押し上げ、目は照れも恥じらいも忘れて輝いている。
「メイラ、天才だな」
メイラの頬が一瞬で赤くなった。
「て、天才なんかじゃ……既存の魔法理論を応用しただけです」
「いや、天才だ。俺の発想は『写真を撮って箱にしまう』だった。メイラのは『変化そのものを記録する』だ。根本が違う」
「…………」
メイラは俯いて、眼鏡の下の目を隠した。
「わ、わたし……レンさんのお役に立てるなら……」
「十分に役立ってる。あとは実装だ」
***
——そして、冒頭に戻る。
「テスト環境、三十回試行。全て正常です」
メイラの報告を受けて、レンは頷いた。街の外れに作った五メートル四方の実験区画。本番とほぼ同じ素材で構成した小さな建造物で、ゴーレムのミニチュア版を起動し、壁をそっと叩かせた。停止。成功。
「よし、本番に適用する」
イヴに新しい制御魔法陣を書き込んだ。差分管理も有効。
イヴが壁の前に立ち、右腕を伸ばし——
ゴゴン。
壁に亀裂が入った。
「は?」
慌ててイヴを停止させる。停止命令は通った。差分管理の成果だ。だが壁にはひび割れが走っている。
「レンさん、原因がわかりました」メイラが素早く魔法陣を分析した。「本番の壁にはグレン師が昔刻んだ補強魔法陣が入っていて、イヴの制御魔法陣と干渉しています」
「テスト環境には、グレンの補強魔法陣がなかったからか」
「はい。テストと本番で環境が違う」
レンは天を仰いだ。
そこにカイルが通りかかった。鍛錬帰りで汗だく。ひび割れた壁を見て首を傾げる。
「お。また壊したのか」
「壊してない。ひびが入っただけだ」
「壊れかけてんだろ。で、原因は?」
「テストでは動いたんだが、本番だと条件が——」
「長い。三文字で」
「……動かなかった」
「つまり、やってみないとわからないってことだろ?」
レンは口を開き、閉じた。
「……まあ、そうだ。どれだけ準備しても、本番には想定外が潜んでる」
「だろ? 最初からそう言えよ」
カイルがひび割れた壁を指で弾いた。こつん。
「でもよ、前よりマシだろ。前は壁が半分なくなった。今はひびだけだ」
「……それは確かに」
「なら、正しい方向に進んでる。壊し方が小さくなってるってことだ」
乱暴だが核心を突いている。壊しながら学ぶ。壊す規模を小さくしながら精度を上げる。版管理とは、つまりそういう仕組みだ。「やってみないとわからない」を前提として設計すること。
「カイル。ありがとう」
「え? 俺なんかしたか?」
「いいんだ」
***
その後、三日かけて本番環境を精査した。グレンの補強魔法陣をすべて記録し、メイラの差分管理システムに登録する作業だ。
「この壁のは、わしが三十年前に刻んだ陣じゃ。確か……北風対策の温熱保持だったかのう」
「確か、ですか」
「……いや。温熱保持かどうかも怪しいな」
「記録は?」
「ない。頭にはあったんじゃが……」
「だから版管理が必要なんです、師匠。頭の中身は消えても、記録は消えません」
「……お前、わしに説教しておるのか」
「事実を述べているだけです」
グレンはバツが悪そうに髭を撫でた。メイラが横で小さく笑った。
エルナが差し入れのパンを持ってきた。
「はい。あんたたち、ご飯食べてないでしょ」
「あ、ありがとうございます、エルナさん」
メイラが受け取る。エルナはメイラを一瞬だけ見て、視線を逸らした。
「あんたも」
レンにもパンを押しつける。布に包まれた温もりが、冷えた指先に染み込む。
「……ありがとう」
「別に。作りすぎただけ」
カイルが横からパンを掠め取った。
「うめえ。エルナちゃん、俺にも——」
「あんたのぶんはない」
「ひでえ!」
「あたしはレンたちが倒れたら困るから持ってきただけ。あんたは食べなくても死なないでしょ、その筋肉」
「筋肉は関係ねえだろ!」
レンは黙ってパンをかじった。外はかりっと、中はふわっと。いつもの味だ。三日間の疲労が、一口ごとに薄くなっていく。
成分が特別なわけではない。ゴーレムが焼いたパンとカロリーは同じはずだ。なのに違う。
「なあ、メイラ」
「はい?」
「ゴーレムが焼いたパンと、人が焼いたパン。成分は同じでも味が違う理由、わかるか?」
「……わかりません。でも、違うのは確かですね」
メイラもパンをかじった。ヴォルフの「迷いが鉄に移る」と同じだ。エルナの手にも、毎朝の湿度や薪の乾きや生地の手触りに応じた、同じ判断が二つとない積み重ねがある。
その「違い」の正体は、まだ掴めない。だが輪郭だけは見え始めていた。
***
一週間後。
イヴが再び起動した。
建設現場で腕を組むレン、ノートを構えるメイラ、仁王立ちのカイル、椅子で茶を飲むグレン。秋晴れの空が高い。
「テスト環境で三十回試行、すべて正常。本番環境の古い魔法陣との干渉チェック済み。差分管理システム稼働中。版番号は二十三」
「二十三回も書き直したのかい」カイルが呆れた。
「二十二回失敗したってことだ」
「それ、すごいのか?」
「すごくない。普通だ」
イヴが壁に近づいた。右腕を伸ばす。壁の表面をそっと触れた。
三秒の沈黙。
イヴが腕を引いた。
『構造分析完了。最適化対象——なし。現状を維持します』
レンの肩から力が抜けた。
「……動いた」
「動きましたね」メイラが微笑む。
「壊さなかったな」カイルが親指を立てた。
「ふん。当然じゃ」グレンが茶を啜った。
イヴは壁に新しい石を積み始めた。一つ一つ丁寧に。
「レンさん、見てください。積むたびに制御魔法陣が構造分析して、問題がなければ次に進んでいます」
「問題があったら?」
「一つ前の状態に自動で戻ります。わたしたちが組んだ差分管理が、ちゃんと——」
メイラの声が震えた。版管理が、機能していた。
ステータスウィンドウを確認する。
ゴーレム2号「イヴ」
状態: 通常稼働
制御魔法陣: v23(差分管理有効)
警告: なし
「警告: なし」の四文字が、こんなに嬉しいものだとは思わなかった。
「ただ——これで完璧ってわけじゃない」
「まだ壊れることはあるのか?」カイルが訊いた。
「ある。版管理は問題を防ぐ仕組みじゃない。問題が起きた時に戻せる仕組みだ」
「戻せるだけ?」
「戻すだけじゃない。原因を特定して、同じ失敗を二度と起こさない。その繰り返しだ」
「終わりがないってことか」
「終わりはない」
「大変だな、お前の仕事」
「まあな。でも壊し方が小さくなっていれば、前に進んでいる」
「お前がそう言うなら、信じるよ」
カイルが笑った。レンも少しだけ笑った。
***
夕暮れ。建設現場を離れ、レンが工房に戻ろうとした時。
「小僧」
グレンが、椅子から立ち上がっていた。
いつもの穏やかな表情ではない。灰色の目に深い光が宿り、口元が一文字に結ばれている。夕日が老師の横顔を照らし、秋の短い日が空の半分を茜色に染めていた。
「少し話がある」
「……何ですか、師匠」
「ここではなく、工房に来い」
有無を言わせない重さだった。
レンはグレンの背中を見つめた。その背中はいつもより真っ直ぐだった。覚悟を決めた人間の姿勢。
「わかりました」
落ち葉が二人の足元を音もなく滑っていく。夕日が、二人の影を長く伸ばしていた。
最後まで読んでいただきありがとうございました。
第21話「22回壊して23回目でようやく壁が無事だった件」。
タイトルの通り、二十二回壊しました。でもこの話で一番伝えたかったのは「壊し方が小さくなっていれば、前に進んでいる」というカイルの言葉です。版管理の本質って、失敗を防ぐことじゃなくて、失敗した時に戻れること。そして同じ失敗を二度と繰り返さないこと。現実のソフトウェア開発でGitが革命だったのと同じで、レンの世界にも「変更の記録を残す」という概念が持ち込まれた瞬間です。
メイラの差分管理の設計が天才的だったシーンは、書いていて楽しかった部分です。レンの発想が「スナップショット保存」だったのに対して、メイラは「差分の記録」を提案する。前世の知識を持つレンを、この世界の魔法理論で追い越していく——メイラの真価が初めて発揮された瞬間でもあります。
そしてエルナのパンの話。ゴーレムが焼いたパンと人が焼いたパン、成分は同じなのに味が違う。その「違い」の正体が何なのか、レンはまだ掴めていません。でも輪郭だけは見え始めている。答えが出るのは、もう少し先の話です。
☆評価・ブクマ・感想をいただけると次話の執筆エンジンが回ります!




