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

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

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

エラーが発生しました。

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

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

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

7/9

第七話「リバースエンジニアリング、あるいは偽装されたレガシーコードについて」

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


 合同試射から二日。


 第七教室の訓練場は、静かだった。


 静か、というのは正確ではない。全員が座って目を閉じている。

 イメージ訓練だ。


 一撃必殺のシステムは、魔力を全部使い切る。再発動まで三十分かかる。それをどの場面で撃つか——「狙いどころを体に覚えさせる」のが今の課題だ。


 俺は壁際のベンチで、別の作業をしていた。


 右耳の奥に、細い音がある。

 合同試射の後から続いている。解析に支障はない。ただ、静かな場所だと気になる。


 今日がちょうどそういう場所だった。


 学院の演習記録ライブラリから引き出した、過去三年分のAクラスの訓練ログだ。

 詠唱の記録、発動タイム、出力値、魔力消費量——数字は揃っている。


 しかし、足りない。


 音声データがない。

 テキストに起こされた詠唱記録では、音素の微細な特性が失われている。アクセントのパターンも、発話速度の変化も、俺の解析に必要な情報の大半は音に乗っている。


 俺はメモに書いた。


 「現状:Aクラスの詠唱テキスト記録は取得済み。しかし音韻情報が欠落。リバースエンジニアリングに必要なサンプルが不足している」


 解決策は、一つしかない。


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


 中庭の石造りの東屋。


 日当たりのいい昼休みを選んで、俺はクレアに文書を送った。

 内容は四行だ。


 「話がある。中庭。昼。来るかどうかは任せる」


 クレアは来た。


 草稿を持って、ベンチに座っていた俺の向かいに腰を下ろした。

 上着を整え、背筋を伸ばし、俺を見た。


「単刀直入に言う。Aクラスの詠唱サンプルが欲しい」


 クレアが、一瞬だけ目を細めた。


「……スパイ行為を頼むつもり?」


「情報収集だ。言語学の基礎だよ」


「その二つの境界線を、随分と大らかに引くのね」


「フィールドワークに倫理審査を要求するのは、現象を記述する前に理論を固定しようとするのと同じだ。どちらも順序が逆だ」


 クレアが、少しの間、俺を見た。


「……来るかどうか任せると書いておきながら、来たら断れない雰囲気にするのが、あなたの交渉術なの?」


「交渉するつもりはなかった。ただ聞いた」


「同じことよ」


 しばらく、東屋に沈黙が落ちた。

 中庭の噴水の音だけが聞こえた。


 クレアが、メモ帳を取り出した。


「条件がある」


「聞く」


「わたしの詠唱を、もう一度見て。第4話のときより深く。あのとき指摘されたのは表層の一節だったけれど——本当は、もっとあるでしょう」


 俺は少し考えた。


「あった」


「全部、言って」


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


 ◆ 解析


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


 クレアが、静かに詠唱した。


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


 前回と同じ詠唱だ。

 ただし今回、俺は表層ではなく、構造の深いところを見た。


 ARの解析ウィンドウが展開される。


```

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

解析レベル:深層構造セマンティクス・レイヤー


第一層(音韻):前回指摘済み。改善後の状態を確認。

 └ 所有権表明節(除去済み):確認

 └ 残存オーバーヘッド率:68.7%(前回比改善)


第二層(形態):

 問題節①「時の流れより汲み取られし力の精髄よ」

  └ 「汲み取られし」(受け身+完了形)

  └ 問題:受け身形が魔力の「流れの向き」を逆転させている

  └ 本来の意図:「力を引き寄せる(能動)」

  └ 実際の命令:「力に引き寄せられる(受け身)」

  └ 効果:術者が魔力を引くのではなく、

      術者が魔力に引かれる構造になっている

  └ 原因(推定):千年前の古語では受け身形が

         「謙遜」の美的表現として好まれた。

         それがそのまま形式として固定された。

  → 魔力制御が術者主体ではなく魔力主体になっている


 問題節②「我が血脈に宿る盟約に従い」

  └ 「宿る盟約に従い」(存在+服従の構文)

  └ 問題:術者が盟約に「従う」という文法構造。

      主体と従属の関係が逆転している。

  └ 本来あるべき構文:「我が血脈の盟約をもって命じる」

  → 術者が魔法に命令するのではなく、

   魔法から術者が命令されている構造


第三層(統語):

 全体の構文木において、術者(主語)が

 毎回「客体(目的語)」の位置に滑り込んでいる。

 

 → 「命令する者」が文法上「命令される者」になっている。

 → 魔力制御の主体性が、詠唱のたびに放棄されている。


診断:

 この詠唱は「謙遜の美学」に最適化されている。

 術者が魔法の前に頭を垂れる、貴族的な儀礼の文法だ。

 

 言い換えると——

 これはOSを最新にアップデートしながら、

 起動時に毎回「管理者権限を放棄します」と宣言する設定だ。

 動く。しかし制御の主体が常にぼやける。


 根本問題:

  この詠唱を設計した人間は、魔法の「強さ」ではなく

  魔法に対する「敬虔さ」を表現したかった。

  千年の改訂を経ても、その目的関数が書き換わっていない。

 

 構造的診断:

  最新のOSに、起動するたびに古い制御構造を

  パッチとして当て続けた状態。

  コアは優秀だが、ガワが足を引っ張っている。

  レガシーシステムの典型的な症状。

```


 俺はログを閉じた。


「聞くか」


「聞く」


「君の家系の詠唱は、千年かけて『術者が魔法に頭を垂れる』形に最適化されてきた。文法の主語と客体が逆転している。術者が魔法を制御しているのではなく、魔法が術者を通過している構造だ」


 クレアが、黙っていた。


「最新のOSに古いガワを着せて動かし続けているレガシーシステムだ。コアの能力は高い。しかし起動のたびにパッチの重みで制御権が曖昧になる」


「……それは」クレアが、静かに言った。「わたし自身の問題、ということ? それとも家系の問題?」


「どちらでもない」


 俺は言った。


「設計者の問題だ。千年前に詠唱を設計した人間が、強さより敬虔さを優先した。それ以来、誰も目的関数を書き直していない。君のせいでも、家系のせいでもない」


 しばらく、噴水の音だけが聞こえた。


 クレアが視線を、東屋の外に向けた。


「……薄々、気づいていたわ」


 俺は何も言わなかった。


「詠唱するたびに、どこかで手綱を手放しているような感覚がある。うまく言えないけれど——制御しているのか、させてもらっているのか、わからなくなる瞬間が」


「それは正確な直感だ」


「……怖いわね、あなた」


「分析しているだけだ」


 クレアが、ゆっくりと俺を見た。


 長い沈黙だった。

 噴水の水音が三往復した。


「……ねえ、一つ聞いていい」


「答えられる範囲で」


「あなたは本当に、この学院を変えるつもりがあるの? それとも——ただ、実験しているだけ?」


 俺は少し考えた。


「後者に近い」


「正直ね」


「どちらが目的で、どちらが手段かは、まだ決めていない。ただ、試してみなければわからないことがある」


 クレアが、メモ帳の端を指先で叩いた。


「……わたしも、似たようなことを考えていたわ」


「何を」


「この学院は千年、何も変わっていない。誰も変えようとしなかった——変えられると思わなかったから。でも」


 彼女は俺を見た。


「あなたが来てから、三日でセレーナが、一週間で教室が変わった。グレイアス教官が黙った。わたしの詠唱の主語が逆転していることを、千年間誰も気づかなかった。あなたが言うまで」


「それは単純に、誰も言語学的に解析しなかっただけだ」


「そう。誰もしなかった。ずっと」


 クレアが立ち上がった。


「あなたという変数が、この停滞した系にどう作用するか——わたしはそれが見たい。だから、条件は呑む。Aクラスの詠唱サンプルを渡す」


 一呼吸置いて、続けた。


「それと——今のままの自分では、いつか詰む、という自覚もある。千年のレガシーを背負ったまま、次の世代に渡すのは御免だわ」


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


 クレアが語ったAクラスの情報を、俺はメモに書き取った。


 Aクラスの中核——委員長のカルド・ヴィエンは、入試でセレーナを「無能」と切り捨てた三人組の一人だ。


「カルドの詠唱は美しいわ。本当に」


 クレアが言った。


「発音の完璧さ、アクセントの揃い方、間の取り方——全てが教科書通り。Aクラスの中でも別格と言われている」


「長さは」


「標準的な上位詠唱で三十語以上。彼は省略を嫌う。『詠唱の長さは術者の格を示す』という信条を持っている」


 俺は書きながら言った。


「アクセントのパターンは」


「全て標準高低アクセント。一切の変則がない」


「発話速度は」


「一定。ゆっくりと、丁寧に。急ぐことを恥だと思っている節がある」


 俺はメモを閉じた。


 ARの視界で、既にAクラスの詠唱の骨格が組み上がっていた。


```

Aクラス・カルド・ヴィエン詠唱パターン(推定):


 詠唱長:30〜35語(推定)

 発話速度:一定・低速(美的意図)

 アクセント:標準・変則なし

 構造:完全なる伝統形式(デッドコード保持率:高)

 

 脆弱性分析:

 

 ①発話速度が「美的一定速」のため、

  詠唱の途中でリズムが崩れると

  再同期に時間を要する(割り込みへの耐性が低い)

 

 ②アクセントの変則なし

  → 俺が第1話で実施したような「格助詞への音韻介入」が

   通常より効きやすい。

   予測可能なパターンは解析しやすい。

 

 ③詠唱長が30語以上

  → 発動時間:推定8〜10秒

  → その間、術者は詠唱に集中せざるを得ない。

  → 途中での「外的割り込み(インターラプト)」に

   対応する設計になっていない。

 

 結論:

  一撃必殺で仕留める必要はない。

  詠唱プロセスへの割り込みで内部崩壊を誘発できる。

  タイミング:詠唱開始から4〜5秒後。

  クリティカルパス上の格助詞節に介入する。

```


「ありがとう」


 俺はメモを閉じた。


「……それだけ?」


「充分だ。骨格は取れた。残りは本番で確認する」


 クレアが、かすかに眉を上げた。


「あなた、対抗戦でAクラスと当たることを、楽しみにしているの?」


「楽しみ、とは違う。検証できる機会が来た、という感覚に近い」


「同じことよ」


 今度はこちらが黙った。


 クレアが立ち上がり、上着を整えた。


「一つだけ聞いていいかしら」


「答えられる範囲で」


「カルドを倒せると思っている?」


 俺は少し考えた。


「詠唱の構造だけで言えば、勝てる条件は揃っている。ただし実戦は変数が多い」


「正直なのね、あいかわらず」


「嘘をついても解析が狂う」


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

 笑ったのか、それとも別の何かなのか、今回も判断できなかった。


「……また来るわ」


「第4章は昨日終わった。第5章でよければ」


 クレアが振り返らずに手を上げて、東屋を出た。


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


 それを、セレーナが見ていた。


 中庭の入口から少し離れた柱の陰。

 俺は気づいていた。最初から。


 クレアが去った後、セレーナが歩いてきた。


 手にはノートを持っていた。

 端が、折れていた。


 俺は先に言った。


「盗み聞きとは言わない。来るなら来い、と思っていた」


「……バレてたの」


「最初から」


 セレーナが、ベンチの隣に腰を下ろした。

 ノートを膝に置いて、中庭の噴水を見た。


 しばらく、何も言わなかった。


「……あの人と話してると、本当に楽しそう」


「前も言っていた」


「うん。また言った」


 セレーナが、ノートの端を指先で折った。

 広げた。また折った。


「あなたが『インターフェース』って言ってくれたとき、嬉しかった。ちゃんと必要としてくれてるって、思った」


「事実だ」


「でも」


 セレーナが、噴水を見たまま言った。


「クレアさんは、あなたと同じ言葉で話せる。わたしには、できないことが」


 俺は答えなかった。


「嫉妬してるわけじゃないと思う。でも——何か、焦ってる。うまく言えないけど」


 俺は少し考えた。


 セレーナの言っていることは、俺には正確には翻訳できない。

 感情の話は、俺の得意な領域ではない。


 しかし、一つだけ言えることがあった。


「クレアは俺と同じ言語で話す。それは便利だ。しかし」


 セレーナが、こちらを向いた。


「クレアにはできないことがある。第一回の試射のとき、俺の指示より先に『全員、後ろ』と動いたのはお前だ。俺のスケジューラが内向きになっているとき、外の状況を誰よりも早く判断した。それは言語の問題じゃない」


 セレーナが、黙っていた。


「高度な言語処理より、速い判断処理の方が、対抗戦では価値が高い場面がある」


「……それって、慰め?」


「データだ」


 セレーナが、ノートの端から指を離した。


 しばらく、また噴水の音だけが聞こえた。


「……わかった」


 それだけ言って、セレーナは立ち上がった。


 俺は草稿を広げて、メモの続きを書いた。


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


 夕方の第七教室。


 俺は黒板のタイミングチャートを消して、新しい図を書いた。


 「一撃必殺」の矢印を、「割り込み(インターラプト)」のフローチャートに書き換える。


「聞け」


 全員が顔を上げた。


「方針を変更する。一撃で仕留める必要はない」


 ロールが眉を上げた。


「どういうことだ」


「Aクラスの詠唱は長い。一番の使い手で三十語以上、八秒以上かかる。その間、術者は詠唱に集中せざるを得ない。外からの割り込みに対応する設計になっていない」


「つまり」


「詠唱を途中で壊す。発動させない。完成する前に、内部から崩壊させる」


 ジンが腕を組んだ。


「それって第3話で教官にやったやつじゃないか」


「原理は同じだ。ただし今回はもっと精密に、もっと早いタイミングで介入する。相手の詠唱プロセスの、クリティカルパス上の節に狙いを定める。そこが崩れれば、残りの二十語はデッドコードになる」


 マリスが言った。


「そのクリティカルパスを、どうやって特定するの」


「俺が解析する。お前たちはその間、相手の詠唱を俺に届けてくれ。音を取ってくる役割が必要だ」


「その役割は、単純じゃない」


 俺は言った。


「乱戦の中で、複数の詠唱が同時に飛んでくる。俺が解析すべき対象の音だけを切り出して届ける必要がある。周囲の魔力音、風の音、他の詠唱のノイズ——全部が混ざっている中から、標的の音素だけをフィルタリングしてストリーミングする。それをリアルタイムで」


 セレーナが少し目を開けた。


「……それって、かなり難しくない?」


「難しい。ただ、お前には有利な条件がある」


「何が」


「第5話のデバッグのとき、お前は俺の言葉を翻訳するだけでなく、各自の詠唱の特性を直感的に把握していた。エルナの補足のタイミング、マリスへの対応——全部、お前が先に動いていた。つまり複数の音源を同時に追いながら、優先度を判断できている。それはプリプロセッサとして必要な能力だ」


「……プリプロセッサ」


「俺の前段処理だ。俺がコンパイラなら、お前はその前に走るフィルタ。俺に届く前に、不要なノイズを落とす。それをやってくれ」


 セレーナは少しの間、俺を見ていた。


「……つまり、あなたが解析できるのは、わたしが届けたものだけってこと?」


「対抗戦本番では、そうなる」


「だったら——わたしが間違えたら、あなたの解析も狂う?」


「そうだ」


 セレーナが、一度だけ目を伏せた。

 それから顔を上げた。


「……わかった。やる」


「インターフェースの仕事が増える。負荷がかかるぞ」


「大丈夫」


 セレーナが、今日は一度もノートの端を折らなかった。


 俺は黒板に書き加えた。


 「インターラプト戦術:Phase 1——音取得、Phase 2——解析、Phase 3——格助詞介入」


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


 同じ夕方。Aクラスの訓練場。


 カルド・ヴィエンが、標的の残骸を杖で払いながら言った。


「……ゴミ捨て場が何か企んでいるようだがな」


 隣に立っていた二人組の片方が答えた。


「訓練場で変な光を出したとか言ってましたよ。測定器が壊れたとか」


「測定器が壊れた?」カルドが笑った。「そういうことにしておきたいんだろう。Eランクの集まりが何をやっても、上位に届くわけがない」


「でも、噂では——」


「噂は噂だ」カルドは静かに言った。「魔法は美しさと品格が全てだ。どれだけ小手先の工夫をしても、千年の伝統には敵わない」


 彼は再び標的に向き直り、杖を構えた。


「──万象の根源に連なる偉大なる光の系譜よ、汝の威光を持って、我が求めに応えよ。古の盟約に従い、今こそ姿を現せ——」


 詠唱が始まった。

 完璧だった。

 アクセントは揺るがず、発話速度は一定で、一語一語が美しく刻まれていった。


 俺がもしここにいれば——そう思った、と後でセレーナが言っていた——コードブロックが浮かんで、三十語のうち二十七語が赤く点滅しているのが見えただろう。


 しかしカルドには見えない。

 見える必要がない、と思っているから。


 「……無駄なことだ」


 彼は的を粉砕して、そう言った。

 ひとりごとのように。


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


 ──次話予告──

 対抗戦まで、あと十日。

 「インターラプト戦術」の訓練が始まった。

 しかし新たな問題が発覚する——「割り込みのタイミングを取るには、相手の詠唱の音を、リアルタイムでレオンに届け続ける必要がある」

 セレーナがその役を引き受けるとき、二人の距離が、少し変わった。


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

【後書き】


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


 今話のテーマは「主体と客体の転倒」でした。


 クレアの詠唱における「術者が魔法に頭を垂れる」という文法構造——受け身形と服従構文の積み重なり——は、実際の言語学でも議論される「エージェンティビティ(主体性の文法的表現)」の話です。言語によって、主体性をどう文法に乗せるかは大きく異なります。クレアの詠唱は、千年前の「謙遜の美学」が文法に固定されてしまった状態。それが「薄々気づいていた」という彼女の直感と一致したとき、言語学者としてのレオンの指摘が単なる批評を超えた重みを持つようになる——そういう構造で書きました。


 カルドの「俺は対応設計になっていない」という脆弱性は、第3話のグレイアス教官と同じ原理ですが、今回レオンはそれを「事前解析」で見つけています。教官の場合は偶然見つけた隙でしたが、今回は戦前から設計した割り込み——という差が対抗戦本番の「準備の勝利」につながります。


 セレーナがノートの端を折るのをやめた、という最後の一行。気づいていただけましたでしょうか。


 次話は対抗戦前最後の訓練回です。二人の距離が変わる予感——お楽しみに。


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


 ★ 評価(「管理者権限を放棄します」で笑いました、でも嬉しいです)

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


 対抗戦まであと少しです。よろしくお願いします!

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

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

↑ページトップへ