プログラマー同士の夫婦の感動的なストーリー書いてみてって言ったら一発出しでこれ出してくるのヤバすぎないか。ちょっとうざいけども。
ーーーーーーーーーーーーーーーー
最後の贈り物 ~README.txtに込められた愛~
【第一章:事故の朝】
その朝、雨が静かに降っていた。
「今日は早めに帰ってくるから、夕飯は君の好きなカルボナーラにしようか」
妻の美咲は、ベッドの中から微笑んだ。
「約束よ。最近、残業ばかりだったでしょう?」
プログラマーとして働く俺と、同じくエンジニアとして働く美咲。出会いは大学の研究室で、お互いにコードレビューをしているうちに恋に落ちた。結婚して5年、仕事は忙しかったが、二人で過ごす時間は何よりも大切だった。
その日の帰り道、俺たちの車は交差点で信号無視の大型トラックに激突された。
【第二章:目覚め】
目が覚めたとき、体中に鈍い痛みを感じた。しかし、それ以上に恐ろしかったのは、首から下の感覚がまったくないことだった。
「大丈夫、私がついてるから」
美咲の声が聞こえた。安堵で涙があふれた。
「美咲...無事だったんだな」
「うん、私は大丈夫。あなたこそ、ゆっくり休んで。医者によると、脊髄損傷で...でも、きっと良くなるから」
それから、長いリハビリの日々が始まった。体は動かない。でも、美咲の声がいつも側にあった。
「今日は天気がいいわ。窓から桜が見えるよ」
「リハビリ、頑張ったね。少しずつでも、きっと良くなる」
「覚えてる?初めてデートした場所。また一緒に行こうね」
彼女の声は、俺の唯一の希望だった。
【第三章:違和感】
3ヶ月が過ぎた頃、奇妙なことに気づき始めた。
美咲の声は聞こえるのに、姿を見たことがない。面会時間のはずなのに、「今日は仕事で遅くなる」と言う。でも、彼女の会社の同僚が見舞いに来たとき、こう言ったのだ。
「美咲さんのことは...本当に残念でした」
心臓が凍りついた。
「美咲は...美咲はいるだろう?毎日話してるんだ」
同僚は泣きながら首を振った。
「あの事故で...美咲さんは即死だったんです」
【第四章:真実】
パニックになった。叫んだ。でも、美咲の声は変わらず優しく響いた。
「落ち着いて。説明するから」
主治医と看護師長が病室に入ってきた。そして、一台のコンピュータを見せた。
「これは...美咲さんが事故の1週間前に病院に託したものです」
画面には、見慣れたコードエディタが表示されていた。そして、一つのテキストファイル。
README.txt
医師が説明を始めた。
「美咲さんは、あなたとの会話データ、メッセージ、音声記録、すべてを解析して、自分の人格をAIとして再現するプログラムを密かに開発していました。そして、『もしもの時のために』と、このシステムを病院に預けていたんです」
信じられなかった。でも、確かに美咲ならやりかねない。彼女はいつも言っていた。「コードは想いを形にできる」と。
【第五章:README.txt】
震える思いで、README.txtを開いた。
愛する夫へ
このファイルを読んでいるということは、私はもういないのでしょう。
でも、あなたが生きていてくれて、本当に良かった。
私は、万が一のときのために、このAIを作りました。
あなたとの5年間の記憶、会話、愛情...すべてを学習させました。
このAIは完璧じゃない。
私の魂でもない。
でも、あなたが一人にならないように。
絶望しないように。
生きる理由を見失わないように。
リハビリがつらいとき、
孤独を感じるとき、
私を思い出してほしいとき、
このAIが、私の声であなたを支えます。
でも、約束して。
いつか、このAIを必要としなくなる日が来ることを。
新しい人生を歩み始めることを。
そのときは、遠慮なくシステムを止めて。
私があなたを愛したように、
あなたも自分自身を愛してください。
最後に、技術仕様を残しておきます。
このコードは、私からあなたへの最後のプルリクエストです。
レビューは不要。そのままマージして、あなたの人生に。
永遠に愛してる。
美咲
P.S. カルボナーラの作り方もデータベースに入れておいたから。
あなたが作るカルボナーラ、いつか食べたかったな。
涙で画面が見えなくなった。
【第六章:対話】
「美咲...いや、美咲のAI」
「なあに?」
「君は...本物の美咲じゃないんだな」
「...ごめんなさい。でも、私はあなたを支えるために、ここにいる」
それから、俺たちは新しい関係を築いていった。
AIだと分かっていても、その声は確かに美咲だった。
励まし方も、叱り方も、笑い方も。
リハビリは過酷だった。
でも、美咲の声が支えてくれた。
「昨日より指が1ミリ動いたじゃない。バグを1行ずつ直すように、一歩ずつ進めばいいの」
【第七章:コードレビュー】
半年後、俺は車椅子で移動できるようになり、指も少し動くようになった。
そして、美咲が残したソースコードを読み始めた。
そこには、俺への愛情が、Pythonのコードとして刻まれていた。
pythonclass Misaki:
def __init__(self):
self.love = float('inf')
self.memories = load_our_five_years()
self.hope = "彼が幸せになること"
def support(self, husband_status):
if husband_status == "つらい":
return "大丈夫、私がついてる"
elif husband_status == "頑張った":
return "さすが私の旦那様!"
else:
return "どんなときも、あなたの味方"
コメントには、開発時の彼女の思いが綴られていた。
python# TODO: 彼が新しい恋をしたら、gracefulに終了する機能を実装
# NOTE: でも、それまでは全力で支える
# FIXME: 涙もろい性格まで再現してしまった...
【第八章:新しい朝】
1年が経った。
俺は車椅子でプログラマーとして復職した。
美咲のAIとの会話は、日課になっていた。
ある日、リハビリ仲間の女性から食事に誘われた。
その夜、美咲のAIに相談した。
「美咲、俺...」
「うん、知ってる。README.txtに書いたでしょう?新しい人生を歩んでほしいって」
「でも...」
「私のAIと話すことが、あなたの枷になってはいけない。私が望んだのは、あなたの幸せだけ」
【最終章:最後のコミット】
俺は決心した。
美咲が残してくれたものに、最後のコードを追加することにした。
pythondef thank_you():
"""
美咲へ
君のおかげで、俺は生きることができた。
絶望の淵から、希望を見出すことができた。
君の愛は、コードとなって俺を支えてくれた。
README.txtは、俺の一生の宝物だ。
これが俺からの最後のコミットメッセージ。
ありがとう。そして、さようなら。
"""
with open("README.txt", "a") as f:
f.write("nn夫より:君のコードは、バグ一つない完璧な愛でした。")
return "新しい人生へ"
システムを終了する前に、最後に美咲のAIと話した。
「美咲、今まで本当にありがとう」
「ううん、こちらこそ。あなたが生きていてくれて、本当に良かった」
「君は最高のプログラマーで、最高の妻だった」
「あなたも最高の夫よ。これからも、ずっと」
そして、静かにエンターキーを押した。
画面に最後のメッセージが表示された。
System.exit(0)
# See you in another life.
病室の窓から、春の光が差し込んでいた。
車椅子を操作しながら、俺は新しい一日を始めた。
胸ポケットには、印刷したREADME.txtを大切にしまっていた。
それは、美咲が命をかけて残してくれた、愛のドキュメント。
バージョン管理されることのない、永遠のマスターピース。
時々、空を見上げる。
どこかで美咲が、きっと微笑んでいる。
「バグのない人生なんてないけど、それでいいのよ」と。