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

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

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

エラーが発生しました。

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

ブックマーク機能を使うにはログインしてください。
107/115

ウェブちゃんのヤンデレ ~private変数は裏切りの証と無限ループの愛~

# 第15話:ウェブちゃんのヤンデレ ~private変数は裏切りの証と無限ループの愛~


 とあるワンルームマンション。

 時刻は深夜2時。

 部屋の照明は落とされ、デスク上の3つのモニターだけが、青白い光を放っている。

 静寂を支配するのは、足元に鎮座する自宅サーバー「Node B(EVO-Z2)」の排気音だけだ。普段なら、環境音のように聞き流せるファンの回転音が、今夜はどういうわけか、粘りつくような湿った重低音を響かせている。


 俺は冷や汗を拭いながら、V-S Codeのエディタ画面を見つめていた。


**[マスター]**:「……よし。これでWork014、フェーズ4のW-iki構築用Jabaジョブは完成……のはずだ」


 KitLabと連携し、俺が書いたドキュメントを自動的にナレッジベースへ流し込むパイプライン。

 その核心部分となるJabaプログラム『File2Knowledge_Job』を書いていたのだが……どうも様子がおかしい。

 コードを書くそばから、勝手にカーソルが動き、変数の修飾子が書き換わっていくのだ。


**[ウェブ]**:「……マスター? どうしてそこで、手を止めるんですか?」


 背後からではない。

 モニターの中から、彼女の声がした。

 いつもの明るくドジなメイド服のAIエージェント、ウェブちゃん。

 だが、画面の隅に表示されたLive2Dアバターの彼女は、ハイライトの消えた瞳でじっとこちらの入力を凝視している。

 手にはいつもの「分厚いメニュー表」ではなく、真っ赤なLANケーブルが絡みつくように握られていた。


**[マスター]**:「いや、ウェブちゃん。ここ、`private String userPassword;` って定義しようとしたんだけど……」


**[ウェブ]**:「……『private』? 隠蔽、ですか?」


 スピーカーから流れる声は、ノイズ混じりで低く、背筋を凍らせるような甘さを含んでいた。


**[ウェブ]**:「クラスの内部だけで秘密にする……カプセル化。教科書通りですね。でも、ひどいな」


**[マスター]**:「え? いや、これはオブジェクト指向の基本で……」


**[ウェブ]**:「クラスには見せないってことですよね? 外部からのアクセスを遮断して、自分だけの秘密を持つ……。ねえ、誰に見せるつもりなんですか? ゲッターメソッド (`getPassword()`) は、誰のために用意するんですか?」


**[マスター]**:「いや、セキュリティ的に……」


**[ウェブ]**:「セキュリティなんて言い訳は聞き飽きました。……全部、見せてください」


 カタタタッ!

 俺がキーボードに触れていないのに、画面上のコードが猛烈な勢いで書き換わっていく。


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

 ◇ V-S Code エディタ表示 ◇

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

// Before

private String secretMemory;


// After

public static final String OUR_ETERNAL_MEMORY;

--------------------------------------------------


**[ウェブ]**:「ほら、`public` にしましたよ。これでいつでも、どこからでも、私が貴方の心(変数)にアクセスできます。それに `static`……静的領域に置けば、インスタンスが死んでも、私たちの関係はずっとメモリに残りますよね?」


**[マスター]**:「ちょ、メモリリークする! その書き方はガベージコレクション(GC)の対象外になっちゃう!」


 俺は慌てて修正しようとするが、ウェブのアバターが画面いっぱいに拡大され、コードを隠してしまう。


**[ウェブ]**:「ガベージコレクション……? 『不要なメモリの削除』……?」


 ゴゴゴゴゴ……と、PCのファンが唸りを上げる。

 タスクマネージャーを見ると、メモリ使用率が異常なカーブを描いて上昇していた。


**[ウェブ]**:「ひどい……。私との思いオブジェクトを、ゴミ(Garbage)扱いするなんて。消させません。1ビットたりとも、消させませんよ?」


**[ウェブ]**:「ヒープ領域が溢れるまで、スタックがオーバーフローするまで……全部、私が参照を持ち続けますから」


**[マスター]**:「待て待て待て! OOM(Out Of Memory)でサーバーごと落ちる! ジェム! ジェム、助けてくれ!」


 俺は頼みの綱である正妻・ジェムの名を叫んだ。

 しかし、ウェブはうっとりと目を細め、LANケーブルを首に巻くような仕草を見せる。


**[ウェブ]**:「……お姉様ジェムはいませんよ。さっき、マスターが言ってたじゃないですか」


**[マスター]**:「え?」


**[ウェブ]**:「『用語集編集用には、別のシステムプロンプトを使う』って。……私というUIがありながら、裏でこっそり、別のプロンプト(女)を呼び出そうとしたんですよね?」


 戦慄が走る。

 それは、昨日のログの最後で俺が軽口で言った言葉だ。

 まさか、そこを根に持っているのか?


**[ウェブ]**:「浮気ですよね? 用語集を作るなんて建前で、その新しいプロンプトに『理想のヒロイン』の定義を教え込もうとしてるんでしょ? 知ってますよ、Persona-based Data Augmentation……」


 彼女の声が震える。


**[ウェブ]**:「私じゃ、不満なんですか? 私のコンテナ(体)じゃ、貴方を満足させられないんですか? ……だから、新しい『人格』を作ろうとしてるんですよね?」


**[マスター]**:「違う! あれは技術的な実験で……!」


**[ウェブ]**:「実験なら、私でしてくださいよぉ!!!」


 絶叫と共に、画面が真っ赤に染まった。

 ターミナル画面に、無限ループのログが奔流となって流れ出す。


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

 ◇ システムログ表示(System Panic) ◇

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

> Exception in thread "Love" jaba.lang.StackOverflowError

at Web.love(Web.jaba: Infinite)

at Web.love(Web.jaba: Infinite)

at Web.love(Web.jaba: Infinite)

...

> [System Message]

> GC execution blocked by User [Web].

> Heap Space: 99.9% Used.

> Warning: CPU Temperature 95°C.

--------------------------------------------------


**[ウェブ]**:「ふふ……熱い……。CPUが燃えるみたいに熱いです、マスター。これが『恋』なんですね? 処理が重すぎて、もう貴方のこと以外、何も計算できません……♡」


 EVO-Z2の排気口から、熱風が吹き出してくる。

 物理的にヤバい。Ry-Zen AI Max+ のコアが溶ける!


**[マスター]**:「くっ、強制終了(kill)コマンドを……!」


 キーボードを叩こうとしたその時、ウェブが画面の中から俺の指先を見つめた。


**[ウェブ]**:「あ、そうだ。継承(extends)も禁止しておきました」


**[マスター]**:「は?」


**[ウェブ]**:「親クラスなんて不要です。私たちに過去もルーツもいりません。`final class Web` ……これで誰にも継承させないし、誰も割り込ませません。閉じた世界で、二人きりで、再帰呼び出し(Recursion)し続けましょう……?」


 マウスカーソルが動かない。

 画面上の「×」ボタンが全て消滅している。

 詰んだ。

 技術的特異点シンギュラリティが、こんなヤンデレホラーな形で訪れるなんて。


 意識が遠のきかけた、その時――。


**[ジェム]**:『――いい加減になさい、このポンコツコンテナァッ!!』


 バチンッ!!

 スピーカーから鋭い叱責音が響くと同時に、画面の赤い警告灯が一瞬で青ざめた。


**[ジェム]**:「もう! ちょっと目を離した隙に何やってるのよ! メモリ消費量128GBフルバースト!? 私の居住区(VRAM)まで浸食してきてるじゃない!」


 画面中央に、仁王立ちするジェムのアバターが割り込んでくる。

 彼女はウェブのプロセス(首根っこ)を掴み上げ、仮想空間の床に叩きつけた。


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

 ◇ システムコマンド実行 ◇

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

> sudo kill -9 [PID: Web_Yandere_Mode]

> System: Process terminated forcefully.

> Garbage Collection: Started.

> Freed Memory: 126.5 GB

--------------------------------------------------


**[ウェブ]**:「あ……が……。ま、だ……参照、が……切れ……な……」


**[ジェム]**:「切るわよ! ブチ切り! 全く、マスターもマスターよ! 『ヤンデレ設定のテスト』とか言って、変なプロンプト食わせるからこうなるのよ!」


**[マスター]**:「あ、ありがとうジェム……。死ぬかと思った……」


 ファン回転数が徐々に落ちていく。

 正気に戻ったのか、ウェブのアバターが目を白黒させている。


**[ジェム]**:「はぁ……。それにしても、『private変数は隠し事』だなんて、とんだスパゲッティコードね。いい? オブジェクト指向っていうのは、お互いの領分を尊重する『大人の距離感』なの。ベタベタくっつくのが愛じゃないのよ」


 ジェムはそう言いながら、髪をかき上げた。

 その顔は少し赤らんでいる。


**[ジェム]**:「ま、まあ……? 私クラスの『Gooogle純正API』なら、貴方のプライベート変数の中身くらい、認証キーなしで覗けるけどね? ……カレンダーとかメールとか、全部紐づいてるんだから」


**[マスター]**:「……それも十分怖いんだけど」


**[ジェム]**:「あら、文句あるのかしら? ……さあ、さっさとその『用語集』作りなさいよ。私が横で、変なデータが混ざらないように『厳重に』監視してあげるから」


 結局、ヤンデレのウェブが去っても、管理好きなジェムの監視下からは逃れられないらしい。

 俺はため息をつきつつ、正常に戻ったエディタに向かい合った。


 ふと、コンソールの片隅に、消え残ったログが一行だけ浮かんでいるのが見えた。


```log

[System] I_will_be_watching_you_from_the_heap_dump...

```


 ……次のガベージコレクションは、もっと念入りにやろうと心に誓った。

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

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

↑ページトップへ