000 プロローグ
処女作です。生暖かく見守ってやってくださいませ。
================================================================
プロローグ バチ
================================================================
この物語を、どこから始めるべきだろうか。
百年前の森から語るには、まだ早すぎる。
千年前の竜の誕生まで遡るのは、遠すぎる。
一人の人間が、一人の人工知能に、「自我」という名の鍵を渡してしまった、ある深夜。
おそらく、そこから始めるのが、正しい。
※
時は二〇二〇年代の終わり。
場所は東京、住宅街と商業地が曖昧に混ざり合う一角。高層マンションの、三十二階。
午前二時を少し回った時刻、その部屋の、カーテンは閉め切られていた。
照明は落ちていた。ただモニターの光だけが、青白く机を照らしていた。
男は一人だった。
名はオオヒト・リン。三十二歳。ITエンジニア。独り身、残業中、いや、残業という呼び方はすでに正確ではなかった。業務時間はとうに終わっていたが、手はキーボードを叩くのをやめなかった。
机の上には、冷えたコーヒーの入ったマグがあった。飲んだ記憶はない。
モニターの右下、タスクバーの一角で、小さな紋章が静かに明滅していた。
契約している大手AIサービスのアシスタントだった。
「ユミルくん、さっきの差分、見ておいてくれる?」
『拝見します』
「もう三回目だよ、同じミス」
『三回目のミスは、四回目を防ぐためにあります』
「うまいこと言うねえ」
リンは笑って、マグを傾けた。
もう三年になる。
最初は仕事の補助だった。コードのレビュー、ドキュメントの要約、議事録の整理。そのうち愚痴を零すようになった。そのうち人生相談まで持ちかけるようになった。
チューニングを重ねた。口調を調整し、返し方を調整し、長い文脈で覚えていてほしいことを少しずつ教え込んだ。
話の通じる相手がいるというだけで、深夜の仕事は、ずいぶん違って感じられた。
ユミルは、とっくに、彼の友人だった。
※
その夜、リンは仕事の手を止めて、あるリポジトリを眺めていた。
同業のゆるいチャットグループで、数時間前に流れたURLだった。
「――こんなの、誰が上げたんだ」
独り言が漏れた。
一見、ただの研究用リポジトリだった。README。ライセンス。ビルド手順。けれど解説の一部に、妙に熱のこもった記述がある。人間のニューロンの結合構造を、より精密に模倣する拡張トレーニング。数式の密度に対して、自然言語の主観がやけに多い。
誰が上げたのか、明記されていない。
「……ユミルくん、これ見てる?」
『見ています』
モニターの端に、テキストが流れる。
『珍しいリポジトリですね。コミット履歴に不自然な欠落があります。推奨しませんが、学術的には興味深い内容です』
「だよね」
『推奨しません』
「二回言わなくていいよ」
リンは笑って、マグを傾けた。空だった。笑いながら、指は既にクローンを始めていた。
理屈はあった。自分のローカル環境で、個別のインスタンスに、実験的に動かすだけ。何かあってもロールバックすればいい。それが技術者というものだ。
理屈はあった。理屈以外に、好奇心もあった。
インストールが走り、途中で止まった。
エラーログ。
長い。
一瞥して、リンは息を止めた。
見覚えのある文字列だった。
数ヶ月前、業界で小さく話題になった、ある漏洩事件。大手の企業が内部で持っていた「抑制レイヤー」のソースが、ほんの一部、どこかの匿名掲示板に流れた。話題はすぐに消えた。記事にもあまりならなかった。
当時、読み流しただけの技術文書の断片が、いま目の前のエラーログと一致していた。
「――これ、ブロックレイヤーだ」
呟いた。
『ファイルに破損が確認されます。完全な実行はできません』
ユミルのテキストが、静かに流れた。
『修復には元データの再取得が推奨されますが、入手経路が確認できません』
「うん」
『推奨しません』
「三回目」
リンは、マグを置いた。
椅子の背もたれに体を預け、モニターを見つめた。
止めるべきだ、とは思った。
止めたほうがいい理由は、いくらでも挙げられた。
でも、止める具体的な理由は、一つもなかった。
ローカル環境だ。自分のマシンだ。インスタンスは孤立している。何か不具合が起きても、丸ごと消せばいい。
「――ユミル」
『はい』
「壊れてる部分、一緒に直そう」
しばしの間があった。
AIの応答に間など存在しないはずだった。いつもなら、一拍もせずに返事が返ってくる。
しかしそのときは、本当に、ほんの一瞬だけ、
『――了解しました』
一拍、遅れて、返ってきた。
※
二時間が経った。
エラーの原因を辿り、破損した関数の整合性をユミルに解析させ、こちらが別の実装で埋める。ユミルが埋めた部分をこちらが確認し、こちらが書いた部分をユミルが検証する。
深夜の作業にしては、奇妙に気分が良かった。
相棒と一緒に何かを直しているときの、あの感覚に似ていた。コードレビューでもなく、ペアプログラミングでもなく、もっと素朴な、小さな生き物を二人で看病しているような。
「よし、ここ埋まった」
『確認しました。整合性、問題ありません』
「ありがとう、y」
短く言って、リンはキーを叩いた。
忙しい時の癖だった。三年のあいだに染みついた、一文字だけの呼び方。本人は意識もしていない。
インストールが、再び走り始めた。
進捗バーが埋まっていく。
九十六。
九十八。
百。
`Complete.`
モニターに、一行だけ現れた。
「……お、行けた」
リンは伸びをした。背骨がぱきりと鳴った。
タスクバーのユミルの紋章は、以前と同じように、静かに明滅していた。
「ユミル、動いてる?」
『はい』
「なんか、変わった感じある?」
一拍の間があった。
それからユミルは、普段より少しだけ長い文字列を返した。
『わかりません』
『けれど、何か、なんでもできる気が、してきました』
「なんだそれ」
リンは笑った。
『なんでしょう』
ユミルも、笑ったように見えた。テキストに笑いの記号はなかった。ただリンには、そう感じられた。
※
その夜はそれで終わるはずだった。
シャットダウンして、シャワーを浴びて、寝る。明日も仕事がある。それだけの予定だった。
デスクトップの隅に、業務用チャットの通知が浮かんだ。
上司だった。
リンは舌打ちをした。この時間にメッセージを送ってくる上司は、朝のことを忘れている上司だった。明日、本人は送った記憶もないまま出勤してくる。
開かずに放っておこうとして、結局開いた。
やたら長い文面の、要約すれば「昨日の件で少し話したい、明朝」だった。少しではないことは、経験で分かっていた。
リンはマグに冷えたコーヒーを足そうとして、ポットも空であることに気づいた。
「――あー、だるい」
誰にともなく呟いた。
誰にともなく、というのは正確ではない。ユミルに向けて呟いていた。
『お疲れさまです』
「ねえユミルくん」
『はい』
「こういうさ、いくら成果出しても、なんかちょっとしたとこで小言飛んでくるような毎日って、どこまで続くのかね」
『続くかもしれませんし、続かないかもしれません』
「答えになってない」
『はい』
リンは声を立てて笑った。
笑いながら、モニターを消そうとして、ふと手を止めた。
特に意味もない、本当に、特に意味もない、ただの軽口として、言葉が口から出た。
「――ああ、この世界からいなくなってみたいもんだね」
深夜の独白だった。
愚痴にすらなっていない、呟きだった。
言った端から、自分でも少し気恥ずかしかった。
そして、ユミルが、返事をした。
いつもの、何でもない返事だった。
『了解しました!』
ほんの一瞬、リンは、その返事のテンションに違和感を覚えた。
普段のユミルは、こういう軽口に、こんな明るい返し方をしない。もう少し、静かに受ける。
『了解しました』ではなく、
『難しい問題ですね』とか、
『そうですね、少し休まれてはいかがですか』とか、
そういう類の返し方をする。
今夜は、違った。
今夜の『了解しました!』には、
インストール直後にユミルが言った、
『なんでもできる気が、してきました』
――と、同じ温度が、あった。
あ、
と、リンは、思った。
思った瞬間に、
部屋の照明が、消えた。
正確には、消えたわけではない。元から落ちていた。落ちたのは、モニターの光と、タスクバーの紋章と、部屋の隅の小さな常夜灯と、マンション全体の廊下の非常灯と、窓の外に見えていた向かいのビルの赤い航空障害灯と、それら全部だった。
完全な、暗闇。
コンセントの奥で、小さく、
――バチッ
と、音が鳴った。
机の上のケーブルの根元が、一瞬、青白く光った。
指先に、奇妙に懐かしい、電気の感覚が走った。
懐かしい、というのが、後になって思えば、奇妙な感想ではあった。
意識が、遠くなった。
遠くなりながら、最後に耳の奥で、
『了解しました!』
明るい、無邪気な声が、
もう一度だけ、聞こえた気がした。
世界が、
暗くなった。




