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

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

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

エラーが発生しました。

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

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

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

PR
45/211

第45話 詠唱の解剖

朝の風はもう麦の穂先を撫でて、ほんの少しだけ秋の気配を引き連れていた。


土間で布を広げて、試作の機構をその上に置いた。歯車四つと軸三本。グスタフが精密歯車を仕上げてくれるのはまだ数日先で、今日はわたしと父が組んだ試作のままを抱えていく。


布をかけて両端を縛った。中の歯車が、布越しに軽く触れ合う音を立てた。


「行ってきます」


「うん。気をつけて」


母は釜の前で振り返らずに言った。それで十分だった。


教会の前でエルナが待っていた。普段の白と銀の祭司服。胸の古い魔石のペンダントが朝の光を鈍く返している。藍色の瞳が、わたしの抱えた布の包みに一度落ちて、すぐに顔へ戻ってきた。


「おはよう、リナ」


「おはようございます、エルナさん」


「行きましょうか」


「うん」


二人で村の北の道を歩いた。


(——眼と機械、両方で見る)


胸の中で言葉が静かに転がった。


(——目だけでは追えなかった瞬間の差を、歯車の位置として残せる)


(——機械が考えるんじゃない。わたしが見た差を、形にして留めるだけ。記憶の補助だ)


エルナは黙って隣を歩いていた。その沈黙が、わたしの呼吸を整えてくれている気がした。


◇◇◇


マルダさんの家の戸を叩くと、痩せ気味の女性が顔を出した。目の下に隈はまだ残っていたけれど、わたしたちを見て一瞬だけ表情が緩んだ。


「エルナ様、リナちゃん。お忙しいのに、すみません」


「マルダさん。今日は『見せてもらう』だけだから、安心してね」


エルナの声は静かだった。マルダさんは小さく頷いて、扉を大きく開けてくれた。


土間の竈の脇に魔石が据えられている。前に見たのと同じ、丸みのある黒い石。表面に薄く着火の魔法陣が刻まれているのが、わたしには構造としてくっきりと読み取れた。


「マルダさん」


「はい」


「ここに、置かせてもらってもいいですか」


竈の脇の作業台を指差すと、マルダさんは「どうぞ」と頷いた。


布の包みを置く。両端の結びを解いて、もう一枚の布をめくる。


歯車四つと軸三本でできた小さな機構が、土間の薄暗い光の中に現れた。


マルダさんの目が一瞬だけ大きくなった。けれど、何も問わなかった。エルナがそこにいるからだろう。エルナがいるなら、これは「祭司の許す道具」だと、村の人は受け止めてくれる。


「マルダさん、いつものベシリアを、何回か続けて唱えてもらえますか」


「は、はい」


少し緊張した声だった。


「いつも通りで大丈夫です」


わたしはできるだけ柔らかく言った。マルダさんは深く息を吸って、魔石に手をかざした。


◇◇◇


「ベシリア」


最初の詠唱が、土間に落ちた。


魔石の表面に模様がぼんやりと浮かんだ。色は薄く、線の濃さは均一でなかった。竈の薪に火は——点かなかった。


(——眼で読む)


わたしの眼が魔法陣の構造を読み取る。表面のコードはいつも通り。きちんとした着火の魔法陣。けれど、模様の発光が薄い。


すぐに試作の機構へ手を伸ばして、入力Aの歯車を「結果A」の位置に固定した。歯の一つ目を上、二つ目を横。これがマルダさんの一回目を表す位置。


「もう一度、お願いします」


「ベシリア」


二度目。


模様がまた浮かんだ。今度は色がほんの少し濃かった。線の太さも一回目より整っている。竈の薪から、ごく薄い炎が一瞬だけ立ち上がって、すぐに消えた。


(——一回目とは違う)


眼が見た。でも、それはわたしの記憶の中だけの「違い」だ。


入力Bの歯車を「結果B」の位置に固定する。歯の一つ目を横、二つ目を斜め。


出力歯車を、わたしは指でゆっくり押した。


——出力が、回った。


(——わたしが写し取った差を、機械が形として返した)


胸の奥が、こつんと鳴った。


(——眼で見た違いを、機械の上で位置として並べ直しただけ。それでも記憶の中に置いておくより、ずっと比べやすい)


「マルダさん。もう一回」


「……ベシリア」


三度目。


模様の線が、今度はぐっと濃く出た。薪に炎がようやく安定して立ち上がった。マルダさんが小さく息を吐く。それでも安心しきれない顔だった。


わたしは入力Aを「結果Aの位置」に戻して、入力Bを「結果Cの位置」に動かす。歯の一つ目を下、二つ目を逆斜め。


出力歯車を回した。


——回った。


一回目と三回目の差は、二回目との差より大きい。それを機構が告げている。


(——揺らぎが、機械の上で形になっている)


◇◇◇


「マルダさん。すみません。あと何回か」


「いいのよ、リナちゃん」


マルダさんは緊張したまま、それでも穏やかに頷いてくれた。


四度目、五度目、六度目。


「ベシリア」「ベシリア」「ベシリア」。


そのたびにわたしは魔石の模様を眼で読み、機構の歯車を結果の位置に動かして、出力で差を取った。


四回目は二回目に近い。色が薄め。

五回目は三回目に近い。線が濃い。

六回目はまた一回目に近い。発光が薄い。


歯車の上に積もっていく「違い」を、わたしの頭の中で並べ替えていった。


(——濃い、薄い、濃い、薄い、薄い、濃い、薄い)


(——順番には法則がない。けれど、出る『型』は決まっている)


頭の中に薄く線が走った。


(——揺らぎは無秩序じゃない)


(——三つか四つの『型』を、不規則な順番で行き来している)


(——何かが、周期的に揺れている)


七度目。「ベシリア」。


模様の色が薄い。火は点かない。これは「型A」だ。


八度目。「ベシリア」。


模様の線が濃い。火が安定する。これは「型C」だ。


(——揺らぎの中に、共通する構造がある)


わたしの眼が、ようやく揺らぎの底にある骨格ほねぐみを捉えかけた——ような気がした。けれど、その骨格そのものを「これだ」と指差すには、まだ何かが足りない。


(——揺れの『中心軸』が分からない)


(——どこを基準に揺れているのかが、見えない)


歯車の上に並んだ「違い」は、揺れの幅は教えてくれる。けれど、揺れの「真ん中」がどこにあるかまでは、教えてくれない。


◇◇◇


「リナちゃん。何か、分かった?」


マルダさんが竈の前で振り返って、不安そうにわたしを見た。


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


「……揺らぎが、無秩序じゃないってことが分かりました」


マルダさんが小さく目を見開いた。


「規則性があるなら、直せる道に近づけると思います」


声を整えて、もう一度言った。


「……少しずつでも、確かめていきます」


マルダさんは目を細めた。その目尻に、ほんのわずかに皺が深く寄った。


「リナちゃん。わたしね、あなたをまだ小さい子だと思ってたの」


「……」


「でも、ちゃんと見てくれてるのね」


(——いえ、わたしはまだ子供で、まだ何も解決していません)


口には出さなかった。出すべき言葉ではない気がした。マルダさんが信じてくれた「規則性」は、今日まだ実体を持っていない。けれど、信じてくれた事実が、わたしに次の一歩を踏ませる燃料になる。


「ありがとうございます、マルダさん」


頭を深く下げた。


◇◇◇


マルダさんの家を出ると、外の光がやけに明るく感じた。


エルナが先に歩き出した。わたしは布で包み直した機構を胸の前に抱えて、その半歩後ろを歩いた。


しばらく無言で歩いた。村の北の道は、麦畑の縁が朝より一段だけ濃く色を変えていた。


「エルナさん」


「ええ」


「村で、最近まで普通に動いていた家、覚えてますか」


エルナの足が、ほんの少しだけ遅くなった。


「ヴェルティス系の魔石が、まだ無事な家ね」


「うん」


「少なくなったけど、何軒かはあるわ」


エルナはわたしの顔を見ないまま、淡々と答えた。けれど、その淡々さの裏で、エルナがわたしの問いの意図を即座に読み取っているのが分かった。


「明日、その家を見せてください」


エルナの足が止まった。


藍色の瞳が、わたしを真っ直ぐに見下ろした。


「揺らいでいない魔石と比べたいのね」


「うん」


短く頷いた。


「揺らぎの幅は、今日の機械で見えました。でも、揺らぎの『中心軸』が分からない。中心軸を知るには、揺らいでいない魔石が要ります」


エルナは数秒だけ黙っていた。それから、ゆっくり頷いた。


「分かったわ。明日、案内する」


◇◇◇


二人でまた歩き始めた。


道の脇の麦畑が一面に低く頭を垂れて、エルナの灰色の編み髪がわずかに揺れた。


「リナ」


「うん」


「あなたが機械を持ってきたとき、わたしは最初、『道具で世界に触れる』ことに祭司として抵抗があったの」


エルナの声は静かだった。前を向いたまま、わたしには視線を向けなかった。


「うん」


「でも、あなたの使い方は『触れる』じゃなくて『観る』なのね」


「はい」


「『観る』なら——わたしは祭司として、抵抗がない」


エルナの言葉が、胸の中をすうっと通り抜けた。


(——エルナさんは、わたしの方針を、初めて完全に理解してくれた)


(——『直す』ためじゃなくて『観る』ため。その差を、エルナさんは分かってくれた)


歩く足が、自然と少しだけ軽くなった。


エルナはそれ以上は言わなかった。けれど、わたしの半歩後ろを歩く速さも、半歩前を歩く速さも、ぴたりとわたしに合わせてくれていた。


夕陽はまだ早いけれど、麦畑の上の空がもう少しだけ赤みを帯び始めていた。二人の影が道の上で長く伸びていた。エルナの影が前で、わたしの影が後ろ。少しずつ重なっては離れる。


(——明日、揺らいでいない魔石を見る)


布で包んだ機構を、胸の前で抱え直した。歯車が、布越しに軽く触れ合った。


(——それが、揺らぎの『中心軸』を教えてくれるはず)


(——『中心軸』が分かれば、揺れの正体が見える)


(——揺れの正体が見えれば、いつか、必ず——)


夕陽が一度かすかに傾いて、麦畑の上の影が深くなった。


その向こうに、村の南の方角でグスタフの工房の煙突から立ち上る黒い煙が、薄く見えていた。


■あとがき・解説


第45話は、リナの「眼」と試作のXOR機構が、初めて一緒に村の魔石を見つめた回でした。マルダさんの竈の前で繰り返される「ベシリア」。同じ詠唱なのに、毎回少しずつ違う結果。今回はリナがその違いを掴むために使った道具立てについて、ゆるく解説していきます。


■この話で出てきた言葉


■「ロガー」——記憶を証拠に変える道具


リナの眼は速くて細かいけれど、その瞬間しか覚えていられません。「一回目は薄かった、三回目は濃かった」と頭で覚えていても、それはリナの記憶の中だけの違いで、誰かに見せられる「証拠」ではない。


プログラムの世界では、この問題に「ロガー」という道具で対処します。プログラムが動いている最中の出来事を、その都度、外の場所に書き残しておく仕組みです。後から「あのとき、ここで何が起きていたか」を、記憶ではなく記録として見返せる。


リナがXORの歯車を一回ごとに動かしていたのは、まさにこのロガーの役目をさせていたからでした。眼で見た差を、そのつど機構の上に「結果A」「結果B」という形で固定する。揺らぎが、彼女の頭の外に出て、物理的に並んでいく。


■「規則性」を見つけるという仕事


七回繰り返したあとに、リナは「揺らぎは無秩序じゃない。三つか四つの『型』を不規則な順番で行き来している」と気付きました。これはプログラマーがバグを追うときに、いちばん最初にやろうとすることそのものです。


ランダムに見えるエラーも、何度も観察すれば必ず「型」が見えてきます。型が見えればその型の原因を絞り込める。原因が絞り込めれば直し方が見えてくる。「いつか直せる」という確信は、根拠のない楽観ではなく、規則性が見えた瞬間に湧いてくる現場の感覚です。


■「基準」を取らないと差は測れない


リナは揺らぎの幅は捉えたものの、「揺れの中心軸が分からない」と立ち止まります。これは観察の現場でとても大事な気付きです。


何かが揺れているとき、その揺れを正しく測るには「揺れていないもの」が必要になります。基準がないと、何からどれくらいズレているのかが分からないからです。実験の世界では「対照群」と呼ばれる発想に近い。リナが翌日「揺らいでいない魔石を見せてほしい」とエルナに頼んだのは、まさにこの基準探しの第一歩でした。


マルダさんの「もう違うのね」という言葉を、リナは胸の奥にそっと畳んで持ち帰ります。まだ何も解決していない、と本人は思っている。けれど信じてもらえたという事実が、明日の一歩の燃料になる。


そしてエルナがぽつりと告げた「あなたの使い方は『触れる』じゃなくて『観る』なのね」。祭司が魔法を扱う作法と、リナの道具との折り合いが、ここでもう一段だけ深まりました。


次の話もお楽しみに。


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

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

↑ページトップへ