第39話 ずれの正体
屋根裏の梁の隙間から薄い光が一本だけ落ちていた。
寝床の中で目を開けた。隣でノラが毛布の縁を咥えたまま小さな寝息を立てている。
(——昨日、二軒見た。マルダさん。ヒルダさん。同じ系統。同じく不調)
(——でも『眼』では違うところを掴めなかった)
昨日の引っかかりが指の奥でまだ揺れていた。掴みかけてするりと逃げた、あの感触。
(——今日、三軒目。動的なバグなら、何回も発動を見れば何か読み取れるはず)
息を整えて起き上がった。
◇◇◇
居間ではエマが粥を椀によそっていた。
「おはよう、リナ。今日もエルナ様と?」
「うん。フラヴィオさんとこ」
「寡黙な人よ。でも、いい人」
粥は朝の冷えを少しずつ溶かしていった。
教会への道を歩きながら、わたしは昨日の二軒を頭の中で何度も並べ直していた。
◇◇◇
教会の前でエルナが待っていた。今日は祭司服の上に薄い灰色の上衣を羽織っている。
「リナ。今日はフラヴィオさんとこ。一軒だけ」
「一軒……」
「生活魔法のうち、いくつかが不調らしい。ベシリアとアクシリアの両方」
——あ。
足元の砂利が、自分の中で一拍だけ静まった。
(——同じ家。同じ人。違う魔石。同じく不調)
(——昨日までは別の家で一種類ずつ。今日は一人が二種類同時に)
「同じ家で二つの生活魔法が同時におかしいのは、わたしの記憶では初めて。だから今日は一軒だけ。じっくり見ましょう」
エルナの藍色の瞳がちらりとこちらを見て、また前を向いた。鼓動が一拍だけ音を立てた。
◇◇◇
フラヴィオさんの家は村の中央、井戸を二つ挟んだ路地の奥にあった。
戸を叩くと、頬の赤い小柄な女性が顔を出した。
「エルナ様、わざわざありがとうございます。あら、リナちゃんも」
奥の戸口から五十代くらいの男の人が顔を出した。がっしりした体格。白いものが混じり始めた短い髪。
「エルナ様。お忙しいのに、申し訳ない」
フラヴィオさんはわたしを見て少しだけ目を細めたが、何も聞かなかった。
「では、まず台所から」
◇◇◇
竈の脇の台座に黒い魔石が乗っていた。表面に小さな擦り傷が縦に走っている。
「ベシリアです。火が、安定しなくて」
フラヴィオさんの奥さんが脇から説明した。フラヴィオさんが魔石の上に手をかざす。
「ベシリア」
——魔石の表面にぼうっと模様が浮かんだ。けれど火は点かなかった。
「もう一回。ベシリア」
二回目。薪の端に小さく火が点いたが、生まれた瞬間に揺れてふっと消えた。
「もう一回。ベシリア」
三回目。ようやく火が薪に絡みつき、安定して燃え始めた。
「いつもこうなんです」
奥さんが困った顔で笑った。
わたしは魔石の前にしゃがんで、息を詰めて目を凝らしていた。
模様の構造はベシリアの典型だった。ヴェルティス系。表面のコードはきちんと並んでいる。
——でも、わたしの視線は二回目の模様を思い返していた。
模様が浮かんだ瞬間、輪郭の線がわずかにぶれていた。普段なら一本の線が確かな濃さで形を作る。けれど二回目は違った。線が薄く——ぼやけて、また濃くなって——また薄くなった。
瞬きの半分の時間。それでも、訓練された目線は確かに見逃さなかった。
(——揺らいでる)
胸の奥で何かがコトリと音を立てた。掴みかけて逃げる感触ではなかった。今度は確かに見えた。
◇◇◇
「次は井戸を」
フラヴィオさんが短く言って裏庭に出た。
井戸の木枠の縁に、青みがかった小さな魔石が埋め込まれていた。アクシリアの石だ。
「水量が、おかしくて」
奥さんが桶を井戸の口の下に置く。フラヴィオさんが魔石に手をかざした。
「アクシリア」
——わたしは井戸の上空、模様が浮かぶ場所に視線を集中させていた。
(——一回目)
線は引かれている。けれど一定じゃない。線の濃さがところどころ違って、色も普段より薄い。
水は管を伝って滲み出るが量は少ない。桶の底をうっすら濡らしただけで止まった。
「アクシリア」
二回目。今度は線が明確になった。けれど。
(——色がわずかに違う)
普段のアクシリアは澄んだ薄い青だった。夏空のような透き通った色。今日の二回目はその青が灰色がかっている。気のせいだと言われればそうかもしれない、ぎりぎりの差。
「あら」
奥さんが桶を覗き込んで小さく声を上げた。
「水が、ちょっと濁ってる気がする」
フラヴィオさんも覗き込んだ。眉が少しだけ寄る。
「もう一回、お願い」
「アクシリア」
三回目。
——線も色も普段通りに戻っていた。澄んだ薄い青。水は勢いよく出て桶を満たした。奥さんが桶を陽の下に持ち上げる。
「澄んでる」
わたしの心臓が早鐘を打ち始めていた。
(——分かった)
(——『色』と『線の濃さ』が、不安定になっている)
(——回によって、それが変わる)
頭の中でばらばらだった点が線の方を向き始めていた。
(——これは魔法陣の中のバグじゃない)
(——魔法陣そのものはきちんとそこにある)
(——揺らいでいるのは、魔法陣を『動かす何か』だ)
頭の奥で数日前の声がふっと蘇った。
——魔法陣はそのままでは動かぬ。世界が読み取って動かす。
バルドゥスの皺だらけの手。土間で杖の柄をひとなでした動き。
(——その『読み取る何か』が、不安定だ)
(——だから同じ魔法陣でも結果が違う)
魔法陣は確かにそこにある。けれど、それを動かす層——その下の何かが、揺らいでいる。
◇◇◇
立ち上がってフラヴィオさんに向き直った。
「フラヴィオさん。最近、何か変わったこと、ありましたか? お家の周りで」
フラヴィオさんは腕を組んで空を見上げた。
「……うーん。特には」
「あ」
奥さんが声を上げた。
「そういえばあなた、一週間前くらいから、井戸の水がなんとなく違うって言ってたわよね」
「ああ、そうだ。水の味がな。ほんの少しだけ違う。気のせいかと思っとったが」
「味……」
(——水の味も違う)
(——魔法だけじゃない)
(——もっと根っこのところで、世界そのものが少し違ってる?)
頭の奥が冷えていく感触があった。寒いのではなく、視界が一段澄むような冷え方。
「……ありがとうございます」
短く頭を下げた。フラヴィオさんは無言で頷いた。
◇◇◇
戸を出て路地を歩き始めると、エルナが歩く速度を緩めた。
「リナ。あなた、何か見た?」
少し迷ってから口を開いた。
「……はい。魔法陣の『色』と『線の濃さ』が、不安定でした。回ごとに違って」
——エルナの足が止まった。藍色の瞳がゆっくりとわたしの方を向く。
「色まで、読み取れるのね」
「……はい」
エルナが小さく息を吐いた。深いところからの息だった。
「わたしはそこまで気付けない。わたしが見ているのは模様の形だけ」
(——エルナさんはわたしと違うところを見ている)
(——わたしの『眼』は、たぶん誰のものとも違う)
指先が一瞬冷えて、すぐに首筋が熱くなった。
「エルナさん。これはたぶん、『魔法陣の中』じゃなく『魔法陣の外』の問題です」
「魔法陣の、外」
「はい。魔法陣はそのままでは動かない、と聞いたことがあります」
エルナがふっと驚いた顔をした。
「それ、バルドゥスじゃない?」
「……はい」
エルナの肩がほんの少し緩んだ。
「ふふ。あの人、相変わらず難しいことを子供に話すのね」
肩のあたりで張り詰めていた糸がまた一本だけ緩んだ。
「リナ。今日のところはここまで。あなたが見たことは、あなたの中に置いていい」
「……はい」
◇◇◇
教会の前で別れて家への道を歩き始めた。
午後の風が路地を吹き抜けていく。陽の月らしい強い日差しが、麦藁の屋根を白く照らしていた。
歩きながら頭の中で並べた。
(——マルダさん。ヒルダさん。フラヴィオさん。三軒とも、回ごとに違う結果)
(——表面のコードは正常。それを動かす『何か』が揺らいでいる)
(——水の味も違う。魔法だけじゃない)
(——もっと根っこの方で、何かが揺れている?)
胸の奥でばらばらだった点が、ようやく一本の線の輪郭を持ち始めていた。線そのものはまだ薄い。けれど方向は分かった。
魔法陣の下。世界が魔法陣を読み取る、その層。バルドゥスが言った、世界の根っこ。
(——魔法陣は正常)
(——だけどその外で——何かが揺らいでいる)
(——わたしの訓練された目線が、今日、確かにそれを読み取った)
風が一度だけ強く吹いて、わたしの髪を浮かせた。
■あとがき・解説
第39話は、フラヴィオさんの家で、リナの「眼」がついに動的な揺らぎそのものを捉える回でした。色がほんの少し違う、線の濃さがぶれる、瞬きの半分の時間に起きる微細な変化。前回までの「気のせいかもしれない」が、ようやく「確かに見えた」になります。今回はその「揺らぎを見る」技術について解説します。
■この話で出てきた言葉
■「ランタイム(実行時)」
リナがフラヴィオさんの井戸の前で、模様が浮かんで消えるその瞬間を「眼」で追っていた、あの場面。プログラマーは、こうした「動いている最中」のことを「ランタイム」または「実行時」と呼びます。
ソースコード——書かれた状態のコード——は、紙の上の楽譜と同じです。それ自体は音を出さない。実際に音楽が鳴るのは、楽譜を演奏者が読んで楽器を鳴らした時。プログラムも同じで、書かれたコードが「動いている瞬間」に初めて結果が生まれます。
そして厄介なことに、不具合の中にはランタイムにしか姿を現さないものがあります。コードを何度読み返しても何も問題はないのに、動かすと変な結果が出る。リナが「終わってからじゃ、見えない。起きている最中に、もっとちゃんと見ないと」と唇を噛んだのは、まさにこの「ランタイムでしか見えない不具合」と向き合っていたからでした。
■「動的な不具合の可視化」
二回目の模様が浮かんだ瞬間、輪郭の線が薄くなって、また濃くなって、また薄くなった——リナの「眼」が捉えた、あの微細な揺らぎ。
現場のプログラマーは、こうした動いている最中の状態を捉えるために、画面に数値を流したり、グラフを描いたりして「見えないものを見えるように」する道具を作ります。これを可視化と呼びます。CPUの温度の波、メモリの増減、通信の遅延——人間の目では追えない速さで変わる値を、何とか目に見える形に翻訳する技術です。
リナの「眼」は、たぶんこの世界における究極の可視化ツールでした。瞬きの半分の時間に起きる線の揺らぎを、本人もそれと意識しないまま捉えてしまう。彼女自身も、自分の「眼」が他人とは違う何かを見ていることに、この回で初めて気付きます。
■「抽象化レイヤー(中間層)」
リナが「魔法陣そのものはきちんとそこにある。揺らいでいるのは、魔法陣を『動かす何か』だ」と気付いた、あの場面。
現代のコンピュータは、一枚岩で出来ているわけではありません。一番上にアプリケーション、その下にOS、さらにその下にハードウェアの制御層、最下層に物理的な回路——という具合に、何層もの「中間層」が重なって動いています。それぞれの層が、上の層からの命令を翻訳して下の層に渡し、下からの結果を上に返す。
そして不具合は、必ずしも一番上で起きるとは限りません。アプリケーションのコードは完璧でも、その下のOSが不調なら結果は狂う。リナがこの回で気付いたのは、まさにこの「中間層の不調」でした。魔法陣というソースコードは正常。それを動かす世界側の層が、何かの理由で揺らいでいる。
バルドゥス老人の「魔法陣はそのままでは動かぬ。世界が読み取って動かす」という言葉が、ここでぴたりと噛み合います。前世のプログラマーが何百年もかけて辿り着いた「層」という考え方を、伝承の言葉で先に告げていた老人——リナの胸の奥でばらばらだった点が一本の線に向き始めたのは、その伝承と前世の知識が、初めて同じ方向を指したからでした。
水の味も少し違う、というフラヴィオさんの何気ない一言。それを聞いた瞬間、リナの視界が一段澄む冷え方をします。揺らいでいるのは魔法だけではなく、もっと根っこのところで世界そのものが——という不穏な予感は、たぶん次以降ゆっくり姿を見せていきます。
次の話もお楽しみに。




