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

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

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

エラーが発生しました。

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

ブックマーク機能を使うにはログインしてください。
【言語解析者の無双転生 ―ソースコードに神秘などない―】  作者: 九十九 文
第1部【言語解析者の無双転生 ―コードの書き換え(リファクタリング)から始める魔法革新―】

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

4/9

第四話「継承、あるいは美しすぎるスパゲッティコードについて」

────────────────────────────────


 放課後の第七教室は、不思議な緊張感に包まれていた。


 昨日まで突っ伏していた者が、ちゃんと椅子に座っている。

 虚ろだった目に、何かがある。

 羽根ペンを折りかけていた男が、今日は新しいペンを買ってきて机の上に並べていた。


 変化は確かだ。ただ、誰もまだ喋れていない。


 俺が最後列で論文の草稿を書いているせいだ。

 わかっている。気配で察している。

 三人がもう十分以上、こちらを向いては向き直すという動作を繰り返している。


 俺は顔を上げずに言った。


「質問があるなら第4章が終わってからにしてくれ。形態素の自由エネルギー理論の佳境だ」


 三人が、同時に口を閉じた。


 沈黙。


「……自由エネルギーって何だ」

「知らん。とにかく待てってことだろ」


 俺は草稿に戻った。


 ──────


 扉が開いた。


 空気が変わった、というのは比喩ではない。

 物理的に、廊下側からの光の差し込み方が変わった。——いや、それも正確ではない。


 俺は顔を上げた。


 扉の前に立っていたのは、見たことのある顔だった。

 入試の日、試験官三人に絶賛された黒髪の少女。

 胸に金色の階級章。腕には刺繍入りの上着。第七教室の、何もかもとは不釣り合いだった。


 セレーナが、微かに息を呑む音がした。


 ヴァレン家の令嬢が、教室を見回した。

 継ぎ接ぎの黒板。歪んだ窓枠。足の短い椅子。

 その視線には、侮蔑もなく、同情もなかった。ただ、事実として観察しているだけの目だった。


 そして俺を見つけた。


「あなたが、レオンね」


 俺は草稿に視線を戻した。


「今は第4章の佳境だ。後にしてくれ」


 沈黙。


 教室の面々が息を呑んでいる気配がした。名門貴族をあしらうな、とでも言いたいのだろう。


 令嬢は三秒ほど間を置いた後、迷わず最前列の椅子を引いて腰を下ろした。


「わかったわ。終わるまで待つ」


 ────────────────────────────────


 ◆ 観測


 ────────────────────────────────


 十七分後、俺は草稿を閉じた。


 第4章の核心部分は書き終えた。続きは明日でいい。


 令嬢は待っていた。

 背筋を伸ばし、膝の上で手を組んで、微動だにせず。

 その姿勢の完璧さは、俺の視界の中で一つのデータポイントになった。


 〔観測:待機中に一度も周囲を見なかった〕

 〔観測:姿勢維持のための筋緊張・なし(自然な直立)〕

 〔推定:この「待つ」という行為に慣れている。あるいは、意志的に選んだ〕


「待たせた」


 俺は言った。


「クレア・ヴァレンよ。昨日の演習を見ていた」


「知っている。正面の観覧席にいた」


 クレアが目を細めた。気づいていたのか、と言いたいのだろう。


「あの格助詞の介入——あれは意味論的矛盾を突いたのね? 詠唱の構文木の対格節を崩すことで、魔力変換命令の参照先を消した」


 俺は少し考えた。


「ほぼ正確だ。ただ『構文木』より『依存構造』と呼ぶ方が正確だな。格助詞は主辞への依存関係をマークしているから」


「……そういう答えが返ってくると思っていなかったわ」


「何を期待していたんだ」


「『そうだ』か、あるいは無視か」


 俺は草稿を脇に置いた。


 この人間は、教官と違う。反証を探している目だ。


「それで。用件は」


 クレアは一呼吸置いた。


「私の詠唱を、あなたに見てもらいたいの」


 ────────────────────────────────


 教室の外、廊下側の開けた空間に移動した。

 的の代わりに、クレアが取り出した小さな魔力測定石を石畳の上に置いた。


 セレーナが教室の扉から顔を半分出して見ていた。


「……いいのか、外でやっても」


「構わないわ。家の詠唱はどこでやっても同じだから」


 家の詠唱、という言葉に俺は引っかかりを覚えたが、後回しにした。


 クレアは腕を下ろし、目を閉じた。

 呼吸が、一拍整った。


「──偉大なる始祖の名において、時の流れより汲み取られし力の精髄よ、我が血脈に宿る盟約に従い、汝の本来の姿を顕現させよ。ヴァレンの家名が証人となり、その誓約を天地に刻む。今こそ解き放たれよ、《ルーメン・エクスペンス》!」


 俺の視界に、ログが流れ始めた。


 ────────────────────────────────


 ◆ 解析


 ────────────────────────────────


```

入力:クレア・ヴァレンの《ルーメン・エクスペンス》詠唱

話者属性:ヴァレン家(貴族・魔導名門)第17代


━━━━━━━━━━━━━━━━━━━━━━━━━━━

WARNING:構造複雑度が解析上限に近接しています

予備解析メモリを展開します

━━━━━━━━━━━━━━━━━━━━━━━━━━━


音素ストリーム解析(第一層):


 [偉大なる始祖の名において]

  └ 機能:術者認証トークン(第一鍵)

  └ コスト:魔力消費 +24%

  └ 備考:認証情報は術者の血統情報に紐付け済み

      → 他者には使用不可(意図的ロック)


 [時の流れより汲み取られし力の精髄よ]

  └ 機能:魔力源指定

  └ コスト:魔力消費 +31%

  └ 備考:「時の流れ」「精髄」は装飾句。

      実質的な情報は「魔力を召喚する」の1語のみ。

      残り7語はオーバーヘッド。


 [我が血脈に宿る盟約に従い]

  └ 機能:術者認証トークン(第二鍵)

  └ コスト:魔力消費 +19%

  └ 備考:第一鍵と情報が重複している。

      同一の認証を二重に要求する設計。

      理由:後世の偽造防止のため意図的に多重化された(推定)


 [ヴァレンの家名が証人となり、その誓約を天地に刻む]

  └ 機能:なし

  └ コスト:魔力消費 +22%

  └ 備考:完全な装飾句。魔力変換に寄与しない。

      「家名を刻む」ことで他者への使用牽制を意図か。

      → 機能としての魔法ではなく「所有権表明」


 [今こそ解き放たれよ、《ルーメン・エクスペンス》]

  └ 機能:発動命令(本体)

  └ コスト:魔力消費 基準値


━━━━━━━━━━━━━━━━━━━━━━━━━━━

総合診断:

 有効語:3語(発動命令+魔力源指定+対象指定)

 無効語:31語(認証×2+装飾×複数+所有権表明)

 オーバーヘッド率:91.2%

 

 構造上の問題:

  この詠唱は「貴族の魔導コードに権威と複製防止を

  組み込むために」意図的に設計された多重暗号構造。

  

  美しい。完璧に機能する。

  しかし——

 

  スパゲッティコードだ。

  

  各節が他の節と依存関係を持ち過ぎており、

  一箇所を変更すると全体が崩れるリスクがある。

  発音速度を上げれば認証トークンが誤作動する。

  戦闘中の動揺が装飾句の音素精度を落とせば、

  出力が不安定になる。

  

  この詠唱を使う者は、「完璧に読み上げること」に

  リソースの大半を使う羽目になる。

  

  戦いながら詠唱できる代物ではない。

━━━━━━━━━━━━━━━━━━━━━━━━━━━

```


 俺はしばらく、ログを眺めた。


 ─────


 見事なものだ、とは思う。


 千年かけて作り上げた多重認証システム。他家の人間には使えない。コピーもできない。

 「貴族の魔法」として考えれば、合理的な設計だ。


 ただ——それは「魔法を守る」ための設計であって、「魔法を使う」ための設計ではない。


 目的関数が、ずれている。


 ────────────────────────────────


「診断を聞くか」


 俺は言った。


 クレアが測定石の数値を確認しながら答えた。


「ええ。正直に言って」


「正直に言う。君の家系は、千年かけて『動くこと』より『飾ること』と『所有すること』に最適化されたコードを継承してきた」


 クレアの目が、静かになった。怒りではなく——何かを確認する目だ。


「続けて」


「詠唱の91%はオーバーヘッドだ。有効な命令は3語のみ。残りは認証トークンが二重、装飾句が複数、所有権表明が一節。どれも魔法の出力に寄与していない」


「……貴族の詠唱に認証が多いのは、複製防止のためよ。知っているでしょう」


「知っている。機能としては正しい。ただ」


 俺は続けた。


「戦闘中に、あの詠唱を完璧に読み上げられるか? 心拍数が上がった状態で、認証トークンの音素精度を維持できるか? 足を止めずに三十一語を一字一句間違えずに?」


 クレアが、答えなかった。


「君の詠唱は、美術品だ。飾るためのものだ。実戦仕様じゃない」


「……無礼ね」


「事実だ」


 ──────


 しばらく、沈黙が続いた。


 クレアは測定石を拾い上げ、手の中で転がしていた。


 怒って帰るかと思った。

 しかし彼女は、顔を上げた。


「一つだけ、剥がせる? そのオーバーヘッドを」


 俺は少し考えた。


「所有権表明の節——『ヴァレンの家名が証人となり』の部分だ。あそこは他の節と依存関係がない。独立して除去できる」


「やってみて」


「自分でやれ。俺の口から言っても意味がない。君の声で発音しなければ、認証トークンが機能しない」


 クレアが目を閉じた。


「──偉大なる始祖の名において、時の流れより汲み取られし力の精髄よ、我が血脈に宿る盟約に従い、今こそ解き放たれよ、《ルーメン・エクスペンス》!」


 ────────────────────────────────


 俺の視界で、ログが更新された。


 〔所有権表明節:除去確認〕

 〔オーバーヘッド率:91.2% → 68.7%〕

 〔発動速度:3.2秒 → 2.4秒(-0.8秒、前比25%短縮)〕

 〔詠唱開始から魔力結合までのラグ:0.6秒 → 消失〕

 〔出力:変化なし〕


 空間に、光が咲いた。


 昨日と同じ魔法のはずだった。

 しかし違った——「溜め」がなかった。


 通常、魔法が発動する直前には一瞬の予備動作がある。魔力が詠唱に同期するための、コンマ数秒の「間」だ。熟練の使い手ほどそれを短くできる。クレアの場合、その溜めが0.6秒あった。

 それが、消えた。

 詠唱の最後の音節と、光の発生が、ほぼ同時だった。


 思考から発動までのラグが消滅した、という表現が正確だ。


 教室の扉から顔を出していたセレーナが、小さく声を漏らした。


 クレアは光が収まった後も、しばらく自分の手を見ていた。


「……速い」


「当然だ。22%分のオーバーヘッドが消えた。その分が発動速度に回った」


「でも、魔法の『品格』が」


「品格は審美の問題だ。発動速度は物理の問題だ。君が決めることだよ」


 クレアが俺を見た。


 何かを言いかけて、やめた。


 ────────────────────────────────


 クレアはしばらく沈黙していた。


 扉の近くでセレーナが気配を消しているのが、視界の端に映っていた。


 クレアがゆっくりと上着の袖を直した。


「……一つ聞いていい?」


「答えられる範囲で」


「あなたは、魔法の何を見ているの。私には魔力波形も、詠唱の構造も、感覚でしかわからない。でもあなたには——何かが見えている」


 俺は少し考えた。


「言語だ」


「言語?」


「詠唱は言語だ。発話行為だ。だからあらゆる言語が持つ構造——音韻・形態・統語・意味——に従っている。俺には、それが見える。コードのように」


 クレアが目を細めた。


「それは……才能なの?」


「前世で積み上げた知識だ」


 前世、という言葉が出てしまった。

 余分なことを言った。


 しかしクレアは深く聞かなかった。

 代わりに立ち上がり、上着を整えた。


「……また来るわ」


「断る理由はない。ただし第4章の続きが終わった後に限る」


 クレアが、かすかに口元を動かした。

 笑ったのかどうか、わからなかった。


「無作法な理論を、もう少し確認させてもらいに来るわ」


 去り際に、そう言い残した。


 ────────────────────────────────


 教室に戻ると、セレーナが自分の席でノートを開いていた。

 いつもより少し、背中が硬い気がした。


 ノートの端が、折れていた。

 無意識に指先で何度も折り曲げた跡だ。


 俺が席に着くと、セレーナはノートから顔を上げなかった。

 代わりに、独り言のようなかたちで言った。


「……あの人と話してるとき、楽しそうだったね」


「そうか?」


「うん」


 それだけ言って、ノートに視線を落とした。

 何かを書く様子はなかった。


 俺は少し考えた。

 さっきのクレアとの会話を、セレーナは扉越しに聞いていた。「依存構造」「意味論的矛盾」「カプセル化」——それらの言葉は、セレーナには馴染みのない語彙だろう。

 彼女には届かない会話が、ずっと続いていた。


 俺はその事実を、データとして記録した。


 〔観測:セレーナ、ノートの端を折り曲げていた〕

 〔推定:会話の内容ではなく、会話の「外に置かれた」ことへの反応〕


 俺には、その感情を適切に処理する方法がわからなかった。

 なので、黙って草稿を広げた。


 廊下側の掲示板に、今日新しく貼り出された告知が見えていた。


 『第一学年・対抗戦演習 三週間後』


 クラス別の実力を競う演習だ。

 第七教室の面々が、掲示板の前で顔を見合わせているのが窓越しに見えた。

 「俺たちが出ても」「でも今日の話を聞いてたら」という声が、ここまで届いた。


 俺は草稿を見ながら、少し考えた。


 三週間。

 クラス全員のバグを洗い出して、最低限の修正を施したら——何ができる?


 単純な計算だ。

 一人ひとりの詠唱から冗長を取り除き、音韻の不整合を直し、アクセントを最適化する。個人差はある。しかし「バグが原因で出力が出ていなかった」なら、修正後のスペックは全員が入試の評価を超える。


 問題は、そこから先だ。

 適切にリファクタリングされた十二人が、連携したらどうなるか。

 互いの詠唱が干渉しない配置、出力のタイミングを分散させる戦術、弱点を補い合う役割分担——それは単なる魔法の強化ではなく、システムの再設計だ。


 「ゴミ溜め」と呼ばれた欠陥品の集合体が、全員のバグを取り除いたとき——何に変わるか。


 見てみたかった。


 純粋に、見てみたかった。


 俺は草稿に書き込んだ。


 「対抗戦まで:三週間。全十二名の音韻・形態・統語・意味の四層解析、実施する」


 フィールドワークとしては悪くない条件だ。いや——これはもう、実験だ。


 ────────────────────────────────


 ──次話予告──

 対抗戦まで三週間。第七教室に転機が来た。

 セレーナが「自分だけじゃなく、みんなのバグも直してほしい」と申し出る。

 「動機は?」

 「……あなたが、一人で全部やろうとするから」

 レオンは一瞬、草稿から目を上げた。

 ──初めての「チームによるリファクタリング」が始まる。


────────────────────────────────

【後書き】


 第四話まで読んでいただき、ありがとうございます!


 今話のテーマは「カプセル化の逆説」でした。


 オブジェクト指向プログラミングにおけるカプセル化——内部構造を隠蔽して外部から操作できなくする設計——は、本来はコードの安全性と保守性を高めるためのものです。しかし貴族の詠唱は、その思想を「権威の独占」と「複製防止」のために使ってしまった。結果として、魔法は「使う」ためではなく「守る」ための構造を持つようになった。


 クレアはこの話で重要な位置づけになっています。彼女はレオンに反論できる数少ない人物——「感覚ではなく構造で魔法を考えようとしている」エリートです。ただしその「構造」の理解が、まだ直感の段階に留まっている。レオンとのやり取りを通じて、それが言語化されていく過程を今後も描いていきたいと思います。


 「前世」という言葉がつい出てしまったシーン、お気づきになりましたか。クレアは深く聞きませんでしたが、彼女が何を感じたかは——また別の話になります。


 次話は対抗戦に向けての準備回。第七教室全員のバグ取りが始まります。


 もし楽しんでいただけたなら——


 ★ 評価(「スパゲッティコード笑った」でも大歓迎です)

 ♡ ブックマーク(更新通知が届きます)


 続きを書く原動力になります。よろしくお願いします!

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

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

↑ページトップへ