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

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

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

エラーが発生しました。

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

ブックマーク機能を使うにはログインしてください。
魔力ゼロですが、魔法はぜんぶコードなので問題ありません 〜前世プログラマーの少女、キーボードで異世界をデバッグする〜  作者: せい | 健康優良不良プログラマ
第1部 ③村を変える小さな発明

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

PR
40/211

第40話 コードがあれば

屋根裏の小さな窓から薄い朝の光が差し込んでいた。


寝床の中で目が覚めた。隣でノラはまだ毛布に丸まって眠っている。ノラの寝息が規則正しく繰り返されていた。


身体を起こさずに、しばらく天井の梁を眺めていた。


(——昨日、揺らぎを見た)


(——魔法陣そのものは、ちゃんとそこにあった)


(——でも、それを動かす何かが、不安定になっている)


瞼の裏でフラヴィオさんの井戸の魔石が浮かんだ。一度目は色が違った。二度目は線がぼやけた。三度目で元に戻った。同じ魔石、同じ詠唱、同じ人。それなのに結果が違う。


(——表面のコードは正常。下の層が揺らいでいる)


毛布をめくって屋根裏の窓辺に座った。


朝の風がほんのわずかだけ涼しさを連れてきていた。陽の月も十日を過ぎた頃合いだ。


ふと、頭の隅で別の記憶が浮かんだ。


——コードがあれば、必ずバグもある。


前世のわたしが何度も口にした言葉だった。新人にも何度も言った。コードが書かれた瞬間にバグは生まれる。書いた人が気付かないだけで、バグはもう、そこにいる。


そして——


(——あ)


息が一瞬だけ止まった。


(——コードがあれば、必ずバグもある)


前世で何度も体験してきた、シンプルな真理。

コードを書く人間なら、誰でも知っている。


(——わたしの中にずっとあったその言葉が、今、形を持って目の前に立っている)


胸の奥で何かがコトリと落ちた。冷たくも熱くもない。ただ、形がはっきりした音だった。


魔法はコードだった。そう気付いた日からずっと、わたしはコードの方ばかり見てきた。前世で培った目線で読み解いて、構造を分類して、系統を発見して。


——だけど。


(——コードを書いた以上、必ずバグはある)


(——魔法もコードなら、当然バグはある)


なぜ今まで気付かなかったんだろう。むしろ「ない」ほうがおかしかった。


頭の奥がじんと冷えた。


◇◇◇


居間ではエマが粥を椀によそっていた。


「おはよう、リナ」


「おはよう、お母さん」


椅子に座って椀を受け取る。湯気が顔に当たって、少しだけ意識が現実に戻った。


エマがわたしの顔をちらりと見て、何も言わずに自分の椀を運んできた。向かいに座って一口すすってから、口を開いた。


「リナ、何か考え事?」


「うん」


「村の魔法のこと?」


頷いた。エマには昨日、フラヴィオさんの家から戻った時に「魔法陣の外で何かが揺れている」とだけ話してあった。それ以上は説明しなかったし、エマも聞かなかった。


「分かりそう?」


「分かりそうで、まだ分からない」


エマが小さく笑った。


「焦らないで」


「うん」


それだけ言って、エマはまた粥に戻った。


(——お母さんは、これがわたしの『眼』の仕事だって、もう察してる)


(——その上で、ただ「焦らないで」と言う)


問わないことが、エマの距離の取り方だった。受け止めて、信じて、そして自分の領分には踏み込ませない。わたしの領分にも踏み込まない。


椀の中の粥が少しずつ温度を下げていく。


頭の中で昨日からの問いがまた回り始めていた。


(——魔法陣の下が揺らいでいる。それは分かった)


(——でも、何が原因? どうすれば直る?)


直し方が何ひとつ思い浮かばなかった。


◇◇◇


椀を空にして立ち上がった。


「お母さん」


「うん?」


「バルドゥスさんに会いに行ってきます」


エマが椀から顔を上げて、わたしを見た。少しだけ間があってから、頷いた。


「気をつけてね」


「うん」


(——急がない)


(——バルドゥスさんは『急いてはならぬ』と言った)


(——でも、もう一度だけ聞きたい)


棚から薄手の上着を取って、外に出た。


朝の村は静かだった。鶏の声が遠くで一度だけ鳴いて、また静かに戻った。麦畑の端の道を進んで、バルドゥスの家へ向かう。


頭の中ではずっと、先日バルドゥスの家で聞いた言葉が回っていた。


「魔法陣はそのままでは動かぬ」


その続きが、今のわたしには必要だった。


◇◇◇


バルドゥスはベンチで日向ぼっこをしていた。


膝の上に薄い羊皮紙を置いていたが、読んでいる風ではなかった。風で端がめくれるのを骨ばった指で押さえていた。


「ふん。来たか」


目を開けずにそれだけ言った。


「はい。バルドゥスさん」


「お話を聞きたいことがあります」


バルドゥスが目を細めて、ベンチの隣を骨ばった指でとんと叩いた。


座った。陽の当たる側だった。バルドゥスの右側、わずかに冷たい木の板。


「で、何を聞きたい」


少し迷ってから口を開いた。


「……前に教えてくれた、『魔法陣はそのままでは動かぬ』のこと」


バルドゥスがわずかに目を細めた。皺の奥の目が、こちらを見てはいない。けれど、確かにこちらの何かを見ていた。


「ふん。役に立っとるか」


「役に立ってる、と思います」


少し息を吸って、続けた。


「最近、村で——魔法が、不調になっている家があります」


バルドゥスが沈黙した。


「魔法陣そのものは、ちゃんとそこにあるんです。でも、結果が回ごとに違う。色とか、線の濃さが、揺らいでいる」


老人は何も言わなかった。風が一度ゆるく吹いて、羊皮紙の端をめくった。バルドゥスはそれを押さえなかった。


(——バルドゥスさん、何か知ってる?)


数分。それともそれ以上だったかもしれない。陽の角度が少しだけ動いた。


ようやくバルドゥスが口を開いた。


「リナ」


「はい」


「わしも、知らんことが多い」


骨ばった指が膝の上の羊皮紙をかすかに撫でた。


「だが、お前さんの言うことが本当なら——」


そこで一拍だけ止まって、続けた。


「世界が、揺らいでおる」


◇◇◇


息が浅くなった。


「世界が?」


「魔法陣を読み取って動かす、世界の側じゃ」


バルドゥスは陽の射す方を向いたまま、平らな声で続けた。


「それが、何かの理由で、不安定になっておる」


「何か、理由」


「分からん」


老人が首をわずかに振った。


「だがな。伝承では、こうした『揺らぎ』が過去にも何度かあった、と聞く」


息が止まりそうになった。


「そのたびに、誰かが世界を直してきた」


心臓が一つ跳ねた。


「直す? 世界を?」


「ふん」


バルドゥスが短く息を吐いた。


「直す、というより——世界に手を加えた、というほうが正確かもしれん」


「手を、加えた」


「具体的に何をしたかは、わしには分からん。伝承は曖昧じゃ。だが、揺らぎが収まったときには、決まって誰かが『触れた』と語られる」


(——世界に手を加えた)


(——それは、わたしにもできることなの?)


(——魔力なき者の、わたしに?)


頭の中で問いがぐるぐる回った。


そこでバルドゥスが、初めてわたしの顔を見た。皺の奥の目は穏やかだった。


「お前さんは、『魔力なき者』じゃろう」


「……はい」


返事は短かった。声が震えそうだったから。


バルドゥスは目線を陽の方へ戻した。


「魔力なき者は、ある意味、世界の側に近い」


「世界の、側」


「世界に魔力で関与しない者は、世界を読み解く側に立てる」


息が止まった。


「魔力を持つ者は、世界に手を伸ばす側じゃ。手を伸ばすから、その手の届く範囲しか見えん」


老人の声は淡々としていた。


「魔力なき者は、手を伸ばさん。だから、世界そのものを見られる」


(——わたしは、見ている側)


(——『眼』を持っているのも、たぶんそれと関係がある)


胸の奥でずっと暗かった部分に、小さな光が灯った気がした。


「魔力なき者」——あの教会で八歳のわたしがそう告げられて以来、ずっとそれを欠落だと思ってきた。何もできない、と。


でも、もしかしたら。


(——欠落じゃなくて、別の位置に立っているということ?)


バルドゥスはそれ以上は言わなかった。


◇◇◇


家を出る時には、もう陽が傾いていた。


「ありがとうございました」


ベンチで深く頭を下げると、バルドゥスは目を閉じたまま、軽く首を振った。


「ふん。急ぐな」


「はい」


「直すのは、すぐにはできん。世界が揺らぐのは、すぐには止まらん」


「……はい」


「お前さんは、まず見ろ」


その言葉を背中に受けて、わたしは麦畑の脇の道を歩き始めた。


夕陽が穂の上を染めて、金色がだんだん赤に近づいていく。


頭の中が一気に動き始めた。


(——世界が揺らいでいる。過去にも何度かあった。そのたびに、誰かが世界を直してきた)


夕陽が麦の穂を一面、赤に近い金で染めていた。


(——魔力なき者は、世界を読み解く側に立てる。わたしは、魔力なき者)


胸の奥で熱が立ち上がった。前世で死ぬ間際に頭の中に巣食っていた「あと一つだけ」の声に、似ていなくもなかった。


(——もしかしたら、わたしも、何かできる?)


——でも。


歩く足が一度、止まった。


(——でも、何をすればいい?)


魔法陣を直すのは無理だ。古代の言語は読めても、書き換える術がない。わたしには魔力がない。魔石に触れても、何も起こらない。読み解くことはできる。けれど書き換えはできない。発動もできない。


指先が無意識に上着の裾を握っていた。


(——なら、外から観察する? どうやって?)


頭の中で、ずいぶん前に台所で魔石を眺めながら考えたことが蘇った。「魔力なき者でも、機械を使えば、何かできるかもしれない」。あの頃のわたしの小さな仮説。


道具。機械。仕組み。


風が少しだけ強くなって、わたしの髪を一度持ち上げた。具体的な形は何一つ思い浮かばなかった。


(——『コードがあれば、必ずバグもある』)


(——いつか思い知ると、どこかで分かっていた。その『いつか』が、今、来た)


(——でも、わたしには、まだ直し方が見えない)


立ち止まって空を仰いだ。雲が一筋、夕陽を斜めに横切っていた。


家の方角に視線を戻す。麦畑の向こうに、お父さんの工房の小さな屋根が見えた。


そこで、もう一つ別のことに気付いた。


(——わたしの『眼』は速い。けれど一度に読めるのは、その瞬間の魔法陣だけ)


(——揺らぎは何度も起きる。一度目と二度目の差を比べないと、本当の姿は掴めない)


(——『眼』のうしろに、変化を記録して比べる何かが要る——)


具体的な形はまだ見えなかった。けれど、欠けているものの輪郭だけは、薄く浮かんできた気がした。


(——明日、お父さんの工房をもう一度、見てみよう)


(——わたしがまだ目を通していない『機械』があるかもしれない)


■あとがき・解説


第40話は、リナの中でずっと眠っていた前世の言葉「コードがあれば、必ずバグもある」が、ついに物語の真ん中に立ち上がる回でした。バルドゥス老人の「世界が揺らいでおる」「魔力なき者は、世界を読み解く側に立てる」という言葉と合わさって、リナの存在意義が静かに書き換わっていきます。今回はこの回で芽吹いた、二つの大きな考え方について解説します。


■この話で出てきた言葉


■「オブザーバビリティ(観測可能性)」


物語の終盤、リナがふっと気付きます。「『眼』は速い。けれど一度に見られるのは、その瞬間の魔法陣だけ」「揺らぎは何度も起きる。一度目と二度目の差を比べないと、本当の姿は掴めない」「『眼』のうしろに、変化を記録して比べる何かが要る」——あの内省です。


現場の言葉では、これを「オブザーバビリティ」と呼びます。日本語に直訳すると「観測可能性」。動いているシステムから、どれだけ詳しく、どれだけ過去にさかのぼって、状態を観測できるかという性質のことです。


良い観測の道具は、ただ「今」を見せるだけでは足りません。「さっきは何が起きていたか」「いつもとどう違うか」を、後から見比べられるように、記録しておく必要があります。リナの「眼」は瞬間を捉える鋭いセンサーですが、記録装置が付いていない。だから「機械の方に頼る何かが要る」と感じ始めた——夕陽の道で立ち止まったリナの中で、新しい問いが一つ芽吹いたところでした。


■「修正不能だがハンドルできる問題」


リナがバルドゥス老人と話したあと、家への道で立ち止まって考え込みます。「魔法陣を直すのは無理。古代の言語は読めても、書き換える術がない」「魔力がない。魔石に触れても、何も起こらない」——できないことの一覧。


プログラマーの世界にも、似た状況があります。たとえば自分の使っているライブラリの中にバグがあっても、書いた本人ではないから直接は直せない。自分の権限の外で動いている仕組みは、根本から修正できない。


ではどうするか。「外側で受け止める」「ずれを観察して補正する」「壊れる前提で備える」——直接の修正以外の方法で問題を「ハンドルする」ことを覚える。これも立派なプログラミングの技術の一つです。


リナがバルドゥス老人の「直すのは、すぐにはできん。世界が揺らぐのは、すぐには止まらん」「お前さんは、まず見ろ」という言葉を受けて歩き出したのは、まさにこの「直接は直せないけれど、何かできることがあるはず」という方向に頭が切り替わった瞬間でした。


■「観測者の立場」


バルドゥス老人が静かに告げた「魔力なき者は、ある意味、世界の側に近い」「世界に魔力で関与しない者は、世界を読み解く側に立てる」という言葉。


現代の科学や工学にも、似た作法があります。観測者が対象に手を加えてしまうと、対象そのものが歪んでしまって、本当の姿が見えなくなる。だから一歩引いて、できるだけ干渉せずに見る。「観測者の立場を取る」と呼ばれる、地味だけれど深い構えです。


リナが「魔力なき者」という、ずっと欠落だと思い込んできた自分の立場を、初めて別の角度から見られるようになった夜——その光景は、たぶんこの物語全体の中でも、いちばん静かで、いちばん大きな転換点の一つでした。


「コードがあれば、必ずバグもある」——転生したあの夜にぼんやり考えた言葉が、ようやく彼女自身の目の前に立ち上がりました。けれど直し方はまだ見えない。見える人ですらない。それでも夕陽の中で立ち止まったリナが、次に視線を向けたのは、お父さんの工房の小さな屋根でした。彼女の中で、もう次の試作が始まり始めています。


次の話もお楽しみに。


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

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