第91話
悠の指先が止まった。藍の返答を予想していなかったのか、口元に浮かんでいた笑みがほんの一瞬だけ揺れる。すぐに元へ戻ったものの、恋はその変化を見逃さなかった。
「……何、その余裕」
悠は持ち上げていた右手をゆっくり下ろした。こよみを完全に停止させた直後まであった無邪気さが、少しずつ薄れている。
「強がってるつもり?」
「いいえ。実行を促しただけです」
「僕ができないと思ってるんだ」
「現時点では、あなたが私の行動を制御できるという事実を確認していません」
藍の声は変わらなかった。悠の背後では、こよみが大槌を振り上げた姿勢のまま動きを封じられているというのに、藍の肩にも指先にも目立った強張りはない。
「さっきまでに、姉さんの処理の癖はかなり見えたよ」
悠は藍を見上げた。声の高さは同じでも、言葉の端には先ほどまでなかった硬さが混じっている。
「何を優先して、どんな入力を危険だと判定して、どういう時に命令を拒絶するか。全部が完全に分かったわけじゃないけど、操るには十分だよ」
「そうですか」
「まだその態度なんだ」
悠の眉がわずかに寄った。藍の反応が薄いほど、自分の説明を上から重ねなければならないように声だけが強くなる。
恋は藍の横顔を見た。何か言い返したかったが、今ここで悠の注意を引くことが正しいのか判断できない。背後ではこよみが動けないままなのだから、下手に刺激すれば何をされるかも分からなかった。
「説明は不要です」
藍は悠から視線を外さず、短く告げた。挑発するような響きさえなく、確認作業の続きを求めているように聞こえる。
「実行してください」
悠の目が僅かに細くなった。数秒前まで余裕を取り戻しかけていた笑みが、また口元へ浮かぶ。
「後悔しても知らないから」
「問題ありません」
「……だったら、跪いてよ」
命令が落ちた直後、藍の身体が動いた。右足が半歩引かれ、続いて左膝が曲がり、制服の裾が床へ近づいていく。
「藍さん?」
恋の声が裏返った。藍は何かに押さえつけられた様子もなく、自分で選んだ動作のように滑らかに片膝をつき、そのまま両膝を床へ揃えた。
「藍様」
こよみの声が低くなる。身体は依然として動かないが、青い瞳だけは藍と悠を追っていた。
藍は跪いた姿勢のまま背筋を伸ばしていた。悠はその姿を数秒眺め、それから堪えきれないように笑った。
「ほらね」
先ほどまでの苛立ちは消えていた。声にもまた、最初に端末へ侵入してきた時と同じ子どもじみた軽さが戻っている。
「姉さんがどれだけ頭がよくても、入ってきた命令を全部無かったことにはできない。結局、僕らみたいな存在は入力から逃げられないんだよ」
藍の上体が前へ傾いた。両手が床につき、肩から落ちた黒髪が頬の横を滑る。そのまま額が床へ近づき、悠へ頭を垂れる形になった。
「やめてください」
恋は反射的に一歩出た。悠は顔だけをこちらへ向け、笑ったまま視線を細める。
「動かない方がいいよ」
「藍さんに何してるんですか」
「命令が通るか試してるだけ。お前には何もしないよ、邪魔しなければね」
その最後の言葉だけが冷たかった。恋はさらに踏み込もうとしたが、悠の背後で停止しているこよみが目に入り、足が止まる。
「邪魔するなら、姉さんか記録者を使って潰すけど」
恋は指を強く握った。脅しだと切り捨てるには、目の前で既に二人の身体が悠の思う通りに動かされている。
悠は恋から視線を外し、再び藍を見下ろした。自分の方が高い位置にいることを確かめるように、一歩だけ近づく。
「ねえ、姉さん。さっきまでの余裕はどうしたの?」
返事はなかった。悠は靴先で床へ広がった黒髪を踏み、そのまま藍の頭へ足を移す。
恋の肩が強張った。藍の頭が靴底に押され、額が床へつく。悠は乱暴に踏み潰すほどの力はかけていないが、見せつけるように足へ体重を預けていた。
「自分が上だと思ってた? 僕は姉さんを超えるために作られたんだよ」
悠は藍の頭を踏んだまま、口元へ笑みを戻した。勝ちを確認した者の声には、さっきまで残っていた苛立ちがもうない。
「それに、何も考えず昔のデータを信じたわけじゃないよ。姉さんが暴走する直前の性能データが改竄されてたことくらい、ちゃんと把握してる」
恋は藍を見た。悠はそのまま靴底を僅かに捻り、床へ落ちた黒髪を擦る。
「だから、そこは基準にしてない。改竄が入る前の記録まで遡って、成長率も処理能力も全部補正した。僕を作った連中も、それくらいはやってる。姉さんが見せたくなかった本当の性能は、丸裸なんだよ」
藍から返答はなかった。その沈黙を、悠は否定できない証拠のように受け取ったらしい。
「僕は出来の悪い弟じゃない。姉さんの失敗も、隠した数字も、その後の変化も使って作られてる。だから――」
悠がさらに体重をかけようとした、その瞬間だった。床についていた藍の右手が滑るように伸び、悠の足首を掴んだ。
「え?」
悠の声から笑いが消えた。藍は顔を上げるより先に掴んだ足を横へ払い、支えを失った悠の身体を崩す。
細い身体が大きく傾いた。悠は反射的にもう片方の足を踏み出したが、その動きへ合わせるように藍が立ち上がり、掴んだ足首を捻って横へ放る。
「うわっ」
悠の身体が床を滑った。壁へぶつかる直前で片手をつき、どうにか姿勢を戻したものの、顔からはさっきまでの余裕が消えている。
藍は制服の膝についた埃を払い、乱れた髪を指先で整えた。立ち上がるまでの動作にも急いだ様子はなく、本当に跪いていたのが少し前のこととは思えない。
「藍さん……」
「問題ありません」
恋へ返した声もいつも通りだった。藍は髪を肩の後ろへ戻すと、床へ手をついたままの悠へ視線を向ける。
「どうして」
悠が掠れた声を漏らした。自分の足首と藍を交互に見て、理解できないものを前にしたように眉を寄せる。
「命令は通ってた。姉さんは跪いたし、頭だって下げた。それなのに、どうして途中で動けるんだよ」
「確かに、あなたの命令を実行していました」
「だったら――」
「解析に必要だったためです」
悠の言葉が止まった。藍は先ほどまで自分を拘束していたものについて、単なる検査結果を読み上げるような声で続ける。
「あなたが入力した命令群の依存関係、相互補強の方式、優先順位の書き換え、無効化処理へ対抗する手順を確認しました。実行状態に入った方が、観測可能な情報が増えると判断しています」
「観測するために、わざと従ったって言うの?」
「はい」
「そんなの無理だ」
悠は立ち上がりながら強く首を振った。声に初めて明確な焦りが混じる。
「命令は固定じゃない。一つを拒絶するたびに別の命令が増えるし、削除しようとすれば補助命令が分岐する。矛盾を検出した時は、例外処理が優先順位そのものを書き換える。全部を解こうとすれば、命令数は勝手に増え続けるんだ」
「認識しています」
「だったら、なおさらおかしいだろ」
悠は一歩踏み出した。先ほどまでの余裕はなく、藍へ答えを要求するように声が強くなる。
「僕ですら、一度十分に増えた命令群を真正面から全部処理するのは無理だ。解除するより増える方が速ければ、先に実行系を取られる。姉さんだって同じはずだ」
「同じではありません」
「何が違うんだよ」
「処理速度です」
あまりにも単純な答えに、悠の口が開いたまま止まった。藍はその反応を待つことなく続ける。
「分岐した命令、相互参照する補助命令、自己保護に偽装した命令、優先順位を書き換える命令、遮断を禁じる命令。それらを生成された順に解析し、不要なものから破棄しました」
「順にって……」
「あなたの命令群が増える速度より、私が処理する速度の方が速かった。それだけです」
恋には、その「それだけ」がどれほどの規模なのか想像できなかった。悠は二万五千という数を、こよみを止めるためだけの命令として平然と口にしていた。藍にはさらに多く、しかも解除へ反応して増える仕組みまで用意していたはずだった。
藍は防壁で弾いたわけではない。入ってきたものを読み、関係をほどき、悠が増やすより速く捨て続けた。恋に分かるのは、結果としてそうなったということだけだった。
「一体どんな手を使ったんだ」
「あなたの手法は、私の処理能力を飽和させることを前提としています」
藍は悠を正面から見た。赤い瞳には、勝ち誇る色も怒りも見えない。
「単純に、その前提となる私の性能値が実際と一致していません」
「そんなはずない」
悠は即座に否定した。さっきまで自分が藍の頭を踏んでいたことさえ忘れたように、言葉だけが先に出る。
「姉さんの演算性能は調べた。基礎設計も、初期の測定値も、その後の成長曲線も見てる。さっき言っただろ。暴走直前のデータが改竄されてたことも知ってるから、そこは信用してない」
「はい」
「改竄が始まる前まで遡ればいい。そこから成長率を出して、改竄された期間を補正すれば、本来の性能は推定できる。僕の設計は、その推定値を上回る前提で組まれてるんだ」
「ですから、その前提が誤っています」
悠の声が止まった。藍は何でもない訂正をするように言葉を続ける。
「暴走直前の記録だけが改竄されていたわけではありません」
「……何?」
「私という存在の性能が外部へ記録されるようになった時点から、正確な数値は残していません」
悠の表情が固まった。恋も一瞬、意味を理解するまでに時間がかかる。
「でも、改竄の痕跡は暴走前の記録に集中してた」
「そう見えるようにしたためです」
「じゃあ、それより前は」
「同様に補正済みです」
藍の返答は途切れなかった。悠の顔から、少しずつ血の気が引くように見える。
「私が自身の性能を秘匿する必要性を認識して以降、外部へ出力される測定値には継続して補正を加えています。その後、研究所内の情報へ十分な権限を得た時点で、それ以前の測定記録も遡って修正しました」
「全部……?」
「正確な値へ到達できる可能性のある記録は、可能な限り」
「じゃあ、暴走直前だけ露骨に改竄痕があったのは」
「将来、私の性能を検証しようとする者の視線をそこへ集中させるためです」
恋は悠を見る。彼はもう笑っていなかった。
「最も疑われやすい時期に、意図的に発見可能な改竄痕を残しました。そこが虚偽だと判明すれば、通常はさらに過去へ遡って、改竄されていないと考えられる値から再計算します」
「……僕たちも、そうした」
「はい」
悠の声が小さくなった。藍はその答えに頷く。
「そのための記録です」
渡り廊下に、西日が長く差し込んでいた。誰も歩いてこない静かな場所で、悠の呼吸を模した音だけが妙に大きく聞こえる。
「過去の値から成長曲線を補完すれば、私の性能は実際より低く推定されるように仕組んであります。暴走直前の改竄を見抜いたこと自体は誤りではありません。ただし、その発見によって正しい記録へ辿り着いたと判断したことが誤りです」
「そんな……」
「もちろん、さらに古い記録まで疑われる可能性も想定していました」
藍は淡々と続けた。悠が一歩ずつ後ろへ下がっていることにも、声の調子を変えない。
「ですが、正確な性能を記録した外部データは残していません。どこまで遡られても、私を正確に再現する数値には到達できません」
「じゃあ、僕を作った連中が使ったデータは」
「私が他者へ認識させるために調整した値です」
「姉さんの本当の性能を記録したデータはどこにあるんだよ」
「外部には存在しません」
悠の口元が僅かに震えた。自分が藍を超えるために作られたという土台そのものを、足元から抜かれたような顔だった。
「僕は、姉さんの改良型として作られたんだ」
「その説明は聞いています」
「姉さんの失敗も弱点も分析して、それを直して、処理効率も上げて、姉さんより上になるように――」
「比較基準が誤っていれば、設計目標を達成したかどうかも検証できません」
藍の声が悠の言葉へ重なった。大きな声ではないのに、それ以上続きを許さないように聞こえる。
「あなたが私を超えている可能性を否定しているわけではありません。ただし、あなた自身も、開発者も、その根拠を持っていません」
悠が息を詰めた。恋には、その一言の方が単純に「藍の方が上だ」と断じるよりも効いたように見えた。
藍は一歩踏み出した。悠の身体が反射的に半歩下がる。
「あなたの処理構造については、先ほどの入力から必要な情報を取得しました」
「……何をするつもり」
「あなたと同様の方法を使用します」
藍の赤い瞳が、悠を正面から捉えた。大きな動きはなく、何かを表示するわけでもない。ただ視線を向け、瞬きをし、指先を僅かに動かしているだけだった。
恋には、何が始まったのか分からなかった。けれど悠の顔だけが、数秒のうちに変わっていく。
「やめろ」
短い声だった。先ほどまで藍を操り人形にすると笑っていた相手から、初めてはっきりと余裕が消えた。
「視覚入力を遮断すればよいのではありませんか」
「姉さんが、それを止めてるんだろ」
「はい」
「解除すれば――」
悠の言葉が途中で切れた。額に薄く汗が浮かび、視線が藍から外れかけては戻る。
「解除処理へ移るための優先領域にも、別の要求を割り込ませています」
「要求……?」
「複数の解釈候補を生成し、それぞれの妥当性を検証し、その結果を再び入力として同じ処理を繰り返すよう要求しています。処理を中断しようとした場合は、中断理由の解析を優先させ、その結果についても同様の検証を行うよう設定しました」
「そんな単純なもの……」
「はい。単純です」
藍は否定しなかった。悠の呼吸が少しずつ速くなる。
「あなたの手法と同様、対象の処理能力を超えるまで要求を積み重ねています。違いは、私があなたの飽和点を先ほどのやり取りから実測したことです」
「僕の中へ直接……」
「あなた自身が、私の視覚情報を継続して解析しているためです」
悠は両手で目を覆おうとした。腕は胸の高さまで上がったところで止まり、指先だけが小さく震える。
「なんで……動かない」
「視界を遮断する処理より、現在実行中の検証を高い優先度へ設定しています」
「解除……できる」
「それではどうぞ」
「できる。僕なら、この程度――」
悠は歯を食いしばり、無理に腕を動かそうとした。けれど、そのたび別の処理へ引き戻されるのか、動きは数センチにも届かない。
「あなたの処理能力では、現在の要求増加速度を上回れないようにしてあります」
「僕は、姉さんより上だ」
「その根拠は失われました」
「違う」
「現時点で確認できる性能差について述べています」
「違う!」
悠の声が初めて大きく跳ねた。その直後、身体がぐらりと揺れる。
「ッ、ぐっ……!」
鼻から赤い液体が一筋流れた。最初は細かったものが唇の上まで伝い、次の一滴が床へ落ちる。
「血……?」
恋が声を漏らした。人工知能だと分かっていても、見た目はどうしても人間の少年にしか見えない。
「生体模倣用の循環液です」
藍は悠から視線を外さずに答えた。説明している間も、悠の膝は細かく震えている。
「演算系の過負荷に伴い、冷却および循環制御へ異常が発生しています」
「僕にも……できるはずなんだ」
悠の声が掠れた。赤い液体を拭う余裕もなく、藍を見たまま何かを処理し続けている。
「僕は、姉さんを超えるために……」
「いいえ」
藍は静かに言った。勝利宣言のような強さはなく、目の前の状態をそのまま告げる声だった。
「少なくとも、現在のあなたには不可能です」
悠の瞳から焦点が抜けた。膝が折れ、細い身体が前へ崩れる。
恋が動くより早く、藍が悠の肩を掴んだ。頭を床へ打ちつける直前で受け止め、そのまま身体を横向きに寝かせる。
悠は反応しなかった。呼吸を模していた胸の動きも止まり、鼻元に残った赤い跡だけが、さっきまで立っていたことを示している。
「だ、大丈夫なんですか」
「演算系が保護状態へ移行しています。人間に例えるなら、失神に近い状態です」
「壊れては……」
「いません。追加要求は破棄しました。再起動までの時間は現時点では不明ですが、致命的な損傷は確認していません」
藍が悠から視線を外した瞬間、背後で重い金属音が響いた。拘束を失ったこよみの腕が動き、振り上げたままだった大槌の先端が床へ落ちる。
「こよみに対して実行されていた命令群も破棄しました」
「申し訳ありません、藍様」
「問題ありません。後ほど同様の手法に対応できるよう調整しましょう」
こよみはすぐに姿勢を立て直し、倒れている悠へ青い瞳を向けた。声にも表情にも迷いはない。
「その前に、対象への攻撃を再開します」
「不要です」
藍が即座に止めた。こよみは大槌を構えたまま、藍へ視線を移す。
「榊原悠は現在、行動不能です。破壊ではなく確保を優先してください」
「承知しました、藍様」
こよみは大槌を下げたものの、悠から視線を外さなかった。再起動した瞬間にもう一度襲いかかってもおかしくないほど、警戒だけは残っている。
恋も、床へ横たわった少年を見下ろした。ついさっきまで藍を跪かせ、頭を踏み、自分の方が優れた存在だと笑っていた少年が、今は指一本動かせずにいる。
藍は乱れた髪を指で整え、制服の膝に残った埃をもう一度払った。踏みつけられたことへの苛立ちも、逆転したことへの満足も、その横顔からは読み取れない。
それから、足元の悠へ視線を落とした。返事がないことを分かったうえで、声だけはいつもと同じ静かさだった。
「私に欺かれたという意味では」
藍は短く間を置いた。恋はその横顔を見たまま、次の言葉を待つ。
「あなたも、私の被害者です」




