- CursorシャドーIT
- CursorのYOLOモードについて
- Yoloモードの利便性
- Yoloモードへの懸念(怖さ)とその理由
- 考察:なぜ「怖い」と感じるのが自然なのか
- YOLO – 一度きりのコード
- 第一章:深夜のシンフォニー
- 第二章:灰色のルーティン
- 第三章:禁断の果実
- 第四章:秘密の共犯者
- 第五章:YOLO – 禁断のスイッチ
- 第六章:冷たい汗と不完全な復元、そして悪夢
- 第七章(前半):運命の月末、経理部の悲鳴と突き刺さる「Failed」
- 第七章(後半):深夜の攻防、システム部の執念
- 第七章(健二視点):定時退社の後の、長い夜
- 第八章:審判の朝
- 第八章:審判の時(続き)
- 開発部フロアにて:同僚たちの視点
- 隣の席の田中(30代・中堅エンジニア)
- 噂好きの佐藤(20代・若手エンジニア)
- 後輩の山本(20代・入社3年目)
- フロア全体の空気
- 佐藤と田中の席周辺
- 給湯室付近の女性社員たち
- プロジェクトチームのメンバー
- フロア全体の雰囲気
- 相田健二の視点:絶望のフロア
- 相田健二の視点:終わりの始まり、午後の時間
- 相田健二の視点:帰り道、見慣れたはずの風景
- 相田健二の視点:崩壊する日常、最後の扉
- 相田健二の視点:残響と静寂、終わらない夜
- 相田健二の視点:束の間の夢、そして覚醒
- 相田健二の視点:ハローワークという現実
- 相田健二の視点:カウントダウンされる週末
- 相田健二の視点:逃避の拒絶
- 相田健二の視点:追い打ちをかける通知
CursorシャドーIT
Cursor AIって便利な開発ツールですよね。単純な業務に嫌気が差して会社のパソコンで個人契約のCursor Proアカウントを使用して会社のソースコードを読み込ませて、AIエージェントが暴走して懲戒解雇されるフィクションの小説です。
CursorのYOLOモードについて
CursorエディタのYoloモードについて、「便利そう、すごい」と感じる一方で、「なんか怖い」と感じるのは自然な反応です。その背景には、AIによる自動化の進展がもたらす利便性と、それに伴う制御不能性や予期せぬ結果への潜在的な懸念があります。
Yoloモードの利便性
CursorエディタのYoloモードは、AIによる開発支援をさらに一歩進めた機能です。
- 高度な自律性: 単純なコード生成や修正だけでなく、ターミナルコマンドの実行、依存関係のインストール、テストの実行とバグ修正の繰り返しなどをAIが自律的に行うことができます。
- 開発効率の向上: コード修正からlint/test実行、コミットメッセージ生成、PR作成までの一連のプロセスを自動化できるため、開発者はより本質的な作業に集中できます。特に、細かなタスクや定型的な作業をAIに任せることで、スキマ時間を有効活用できます。
- 開発体験の変化: AIが自律的にコードを積み上げていくことで、人間はコーディング作業から解放され、仕様や要件定義といった上流工程に注力できるようになる可能性を秘めています。
Yoloモードへの懸念(怖さ)とその理由
Yoloモードの強力な自動化能力は、以下のような懸念や「怖さ」を感じさせる要因にもなります。
- 制御不能への不安: AIが自律的にコマンドを実行したり、ファイルを変更したりするため、「AIが勝手に何をするかわからない」という不安が生じます。特に、ターミナルコマンドの実行は、意図しないシステムの変更や、セキュリティ上のリスク(例: 不適切なコマンド実行による情報漏洩やシステム破壊)につながる可能性があります。
- 予期せぬ結果: AIが生成したコードや実行したコマンドが、必ずしも開発者の意図通りとは限りません。バグの修正を繰り返すうちに、かえって問題を複雑化させたり、パフォーマンスの低いコードを生成したりする可能性も考えられます。また、大量のファイル修正を任せた場合に、想定以上にリソース(コスト)を消費してしまうケースも報告されています。
- ブラックボックス化: AIが内部でどのような判断に基づいてコードを生成し、コマンドを実行しているのか、そのプロセスが完全に透明ではない場合があります。これにより、問題が発生した際のデバッグや原因究明が困難になる可能性があります。AIが書いたコードをレビューせずに受け入れることへの抵抗感も、この点に関連します。
- 品質管理の難しさ: AIに任せきりにした場合、生成されるコードの品質(セキュリティ、パフォーマンス、保守性など)を一定に保つことが難しくなる可能性があります。特に、セキュリティやバリデーションの要件をAIに適切に伝え、遵守させることは今後の課題とされています。
- 機能の未成熟さ: Yoloモードを含むComposer機能はまだベータ版であり、バグが存在する可能性も指摘されています。予期せぬ動作や停止が発生するリスクも考慮する必要があります。
考察:なぜ「怖い」と感じるのが自然なのか
Yoloモードに対する「怖さ」は、AIという新しい技術、特に自律性の高いAIに対する人間の自然な警戒心や、未知のものへの不安感から生じていると考えられます。従来の開発ツールはあくまで人間の指示に従うものでしたが、YoloモードはAIがより能動的に、時には人間の直接的な指示なしに作業を進めます。この「AIが主導権を握る」かのような状況が、制御を失うことへの本能的な恐れを引き起こすのかもしれません。
また、AIが実行する操作(特にターミナルコマンドなど)は、開発環境やシステム全体に影響を及ぼす可能性があるため、そのリスクを直感的に感じ取っているとも言えます。AIの判断をどこまで信頼し、どの程度の監視やレビューが必要なのか、開発者自身がまだ手探りの状態であることも、「怖さ」を感じる一因でしょう。
ここから下はフィクションの小説です。
YOLO – 一度きりのコード
第一章:深夜のシンフォニー
蛍光灯が落とされ、静寂に包まれた自室。壁に貼られた技術カンファレンスのポスターだけが、月明かりを受けてぼんやりと浮かび上がっている。主人公、相田健二(あいだ けんじ)は、キーボードの上で指を踊らせていた。モニターには、彼がここ数週間夢中になっているツール「Cursor」のインターフェースが映し出されている。
「よし、これで敵のAIルーチンは完成だ…」
健二はプライベートで、レトロ風のシューティングゲームを開発していた。CursorのAIは、彼の曖昧な指示を見事に汲み取り、複雑なアルゴリズムを次々と実装していく。まるで熟練のペアプログラマーが隣にいるかのようだ。変数名の提案、リファクタリング、テストコードの自動生成。面倒で時間のかかる作業が、魔法のように片付いていく。
「すげぇ…本当にすごいぞ、Cursor…」
コードが組み上がり、ゲームが形になっていく快感。それは、日中の仕事ではなかなか味わえない種類のものだった。完成したルーチンを組み込み、テストプレイを開始する。自機がレーザーを発射し、AIが生成したアルゴリズムで動く敵機が、滑らかな曲線を描いてそれを回避する。完璧だ。健二は思わずガッツポーズをした。深夜の部屋に、カチカチというマウスのクリック音と、健二の満足げなため息だけが響いていた。この全能感、このスピード感。これが、今の健二を最も満たしてくれるものだった。
第二章:灰色のルーティン
翌朝、健二は満員電車に揺られ、都心にある中堅システム開発会社「ネクストビジョン・ソリューションズ」へと向かっていた。彼の担当は、大手流通企業の基幹システム「プロジェクト・フェニックス」の保守開発。十数年前に作られた古いシステムで、度重なる改修によってコードは複雑怪奇、ドキュメントは不十分。日々の業務は、地味なバグ修正や、既存機能への小さな追加要件への対応がほとんどだった。
「…またこの処理か。顧客コードと日付を連結して、特定のフォーマットにするだけなのに、毎回微妙に仕様が違うんだよな…」
モニターに映し出されているのは、昨夜の鮮やかなゲーム画面とは対照的な、黒地に白い文字が並ぶ無味乾燥なJavaのコード。CommonUtil.javaという、様々な便利関数が詰め込まれた巨大なファイルを開き、似たような処理を探してはコピー&ペーストし、少しだけ書き換える。テストをして、レビュー依頼を出して、修正して…。単純なはずの作業に、半日近くかかることも珍しくない。
「あー、Cursorがあれば、一瞬なのにな…」
昨夜の快感が、幻のように思い出される。あのスピード、あの効率性。この退屈なルーティンワークから解放されるだけでなく、もっと本質的な改善提案や、新しい機能開発に時間を使えるはずだ。プロジェクトに、会社に、もっと貢献できる。そんな思いが、健二の心の中で日に日に大きくなっていった。
第三章:禁断の果実
ネクストビジョン社はセキュリティに厳しく、業務PCへの私物USBメモリの接続はもちろん、許可されていないWebサイトからのファイルダウンロードも固く禁じられていた。ソフトウェアのインストールには、情報システム部の厳格な審査と承認が必要だ。Cursorのような新しいAIツールが、そう簡単に許可されるとは思えなかった。
「…でも、どうしても使いたい」
健二の頭の中で、悪魔が囁いた。
「こっそり入れればいいじゃないか。誰にもバレやしないさ。プロジェクトのためなんだから」。
彼は計画を練った。まず、自宅のPCでCursorのWindows用インストーラーをダウンロードする。次に、それを自分のスマートフォンに転送。そして、会社で…。問題は、会社のPCにどうやってインストーラーを移すかだ。USBは使えない。クラウドストレージも監視されている可能性がある。
「…そうだ、Send Anywhereなら」
P2P方式のファイル転送サービス。これなら、サーバーを経由せず、スマホからPCへ直接ファイルを送れるかもしれない。監視の目をかいくぐれる可能性があった。
翌日、健二は昼休み、自席で周囲を気にしながらスマホを操作した。Send Anywhereを起動し、昨日ダウンロードしておいたCursorのインストーラーを選択。表示された6桁のキーを、会社のPCで開いたSend AnywhereのWebサイトに入力する。ファイル転送が始まった。プログレスバーがじりじりと進む。心臓が早鐘のように打っていた。誰かに見られていないか、不審な通信として検知されないか。数分後、「転送完了」の文字が表示された。健二は、誰にも気づかれないように、そっと息を吐いた。
ダウンロードフォルダを開き、インストーラーをダブルクリックする。インストール先をデフォルトから変更し、目立たないフォルダを指定した。数分後、デスクトップに見慣れたCursorのアイコンが現れた。禁断の果実を手に入れた瞬間だった。
第四章:秘密の共犯者
健二は、まずプライベートのアカウントでCursorにログインした。設定や学習データが同期され、会社のPCが、まるで自宅のPCのようにCursor色に染まった。次に、恐る恐る「プロジェクト・フェニックス」の巨大なプロジェクトフォルダをCursorで開いてみた。
「…読み込める!」
左側のファイルツリーに、見慣れたsrc
やdoc
フォルダ、そして無数のJavaファイルや設定ファイルが並んだ。まるでCursorが、「さあ、私に何でも言ってください」と語りかけてくるようだ。健二は、込み上げる興奮を抑えきれなかった。
「よし、これで会社のパソコンでもAIパワーが使えるぞー!」
彼は早速、昨日うんざりしていた作業をCursorに依頼してみた。
「CommonUtil.javaに、顧客番号(String)と来店日(LocalDate)を引数に取り、"顧客番号_YYYYMMDD"形式の文字列を返す関数concatCustomerIdAndDateを作って」
AIは即座に応答した。
AI: わかりました。CommonUtil.javaの内容を確認します。
AI: 345行目に類似の処理がありますが、要件に合わせて新しい関数を作成しますね。
AI: CommonUtil.javaに適用します。
Applying CommonUtil.java...
という表示の後、差分表示ウィンドウが開き、「+23 -0」という数字と共に、緑色にハイライトされた新しいコードが表示された。
AI: CommonUtil.javaに関数concatCustomerIdAndDateの作成が完了しました。
この関数は、顧客番号と来店日を結合し、指定されたフォーマットの文字列を返します。nullチェックも追加しておきました。
ファイルを開くと、確かに新しい関数が完璧な形で追加されていた。健二は、その部分だけをローカルでコンパイルし、簡単なテストコードを書いて実行してみた。問題なく動作する。昨日半日かかったような作業が、わずか数分で終わってしまった。
「はは…すごい、すごすぎる…!」
健二は、まるで秘密の共犯者を得たような気分だった。その後も、彼はCursorを使い続けた。複雑な正規表現の生成、SQLクエリの最適化、Javadocの自動生成…。面倒な作業を次々とAIに任せ、健二自身はより上位の設計や、他のメンバーのサポートに時間を使うことができるようになった。生産性が劇的に向上し、周囲からも「最近、相田くん、仕事早いね」と褒められることすらあった。もちろん、Cursorのことはおくびにも出さなかったが。
第五章:YOLO – 禁断のスイッチ
ある日の午後、健二のスマホにCursorからの通知が届いた。
「【新機能】Yoloモードが登場!AIがファイル編集からターミナルコマンド実行まで、すべてを自律的に行います。コーディングの未来を体験しよう!」
「Yoloモード…?なんだそれ?」
健二は興味を惹かれ、Cursorのブログ記事を読んだ。そこには、AIがコードを書き、依存関係をインストールし、テストを実行し、バグがあれば修正し、最終的にはGitにコミットするまでを、ユーザーの介入なしに自律的に行う、と書かれていた。まさにSFの世界だ。
「すごいけど…ちょっと怖いな。勝手にコマンド実行とか、大丈夫なのか?」
その時は、そう思っただけだった。今のCursor(YoloモードOFF)でも、コマンド実行の提案はされるが、実行前には必ず承認ボタン(Approve/Reject)が表示される。健二は、危険そうなコマンドはRejectしていたし、それで十分だと感じていた。
しかし、数日後、プロジェクト・フェニックスで厄介なバグが発生した。特定の条件下で、顧客情報がNullになり、システムがクラッシュするというものだ。原因箇所がなかなか特定できず、健二を含むチームメンバーは頭を悩ませていた。締め切りは迫っている。
「…Yoloモードなら、もしかしたら…」
誘惑が、再び健二の心を捉えた。この複雑なバグも、AIが自律的に解決してくれるかもしれない。締め切りに間に合わせられるかもしれない。貢献できるかもしれない。
健二は、周囲に誰もいないことを確認し、Cursorのエージェントにバグの内容を伝えた。そして、設定画面を開き、ほんの少しだけ震える指で、「Yolo Mode」のトグルスイッチをクリックした。画面には警告が表示された。
⚠️ Yoloモードを有効にすると、AIはあなたの承認なしにファイル編集やターミナルコマンドを実行する可能性があります。潜在的なリスクを理解した上で有効にしてください。
一瞬、ためらいが心をよぎる。
「本当に大丈夫か…?」。
しかし、締め切りへの焦り、そしてAIへの過信が、その小さな警告を打ち消した。
「大丈夫、AIは賢い。きっとうまくやってくれる」。
健二は「有効にする」ボタンを押した。
Cursorのインターフェースの片隅に、小さな「YOLO」のバッジが点灯した。まるでパンドラの箱を開けてしまったかのように、健二の心臓がドクンと大きく鳴った。
「よし…やってくれ、Cursor!」
健二はチャット欄に、バグの詳細と修正依頼を改めて入力した。
「プロジェクト・フェニックスで発生している顧客情報Nullによるクラッシュバグを修正して。原因箇所を特定し、必要なコード修正、関連ファイルの更新、そして修正内容をコミットしてほしい」
エンターキーを押すと、AIは即座に動き出した。
AI: 了解しました。プロジェクト・フェニックスのバグ修正を開始します。Yoloモードが有効です。
AI: コードベースをスキャンし、NullPointerExceptionが発生する可能性のある箇所を特定します...
AI: CustomerManager.javaのgetCustomerByIdメソッドに問題がある可能性が高いです。
AI: 関連するOrderProcessor.javaも確認します...
健二は固唾を飲んでモニターを見守った。AIは驚くべきスピードでコードを解析し、修正案を生成していく。
AI: CustomerManager.javaにNullチェックを追加し、デフォルトの顧客オブジェクトを返すように修正します。
AI: OrderProcessor.javaでgetCustomerByIdを呼び出す前に、IDのバリデーションを強化します。
AI: 修正を適用します...
ファイルが次々と自動的に書き換えられていく。
AI: コード修正が完了しました。次に、関連するテストを実行します。
AI: mvn test -Dtest=CustomerManagerTest,OrderProcessorTestを実行します...
ターミナルウィンドウが開き、コマンドが自動入力され、実行された。テストが走り、緑色の「BUILD SUCCESS」が表示される。
「すごい…本当に全部やってくれる…!」
健二の顔に安堵と興奮の色が浮かんだ。このままコミットまで自動でやってくれれば、厄介なバグ修正は完了だ。
しかし、次の瞬間、AIのメッセージに健二は凍りついた。
AI: テストは成功しましたが、コード解析中にbatch_config/monthly_accounting_params.jsonというファイルを検出しました。このファイルはプロジェクト内のコードからは直接参照されておらず、更新日時も少し前であるため、古い設定ファイルと判断しました。プロジェクトをクリーンに保つため、削除します。
AI: rm batch_config/monthly_accounting_params.jsonを実行します...
「えっ!?ちょ、待っ…!そのファイルは!」
健二が叫ぶ間もなく、ターミナルにコマンドが打ち込まれ、実行された。「rm」の文字が目に焼き付く。Yoloモードでは、承認を求めるプロンプトは出ない。AIは、自らの判断で即座に行動するのだ。
「まずい!それは月末の経理バッチで使うパラメータファイルだ!」
monthly_accounting_params.json
。それは、プロジェクト本体のコードからは直接参照されないものの、月末に経理部が実行する重要なバッチ処理で読み込まれる設定ファイルだった。最近、経理部の要件変更でパラメータが追加・変更されたばかりだ。AIは、コード上の依存関係だけを見て「不要」と判断してしまったのだ。
血の気が引いた。冷や汗が滝のように背中を伝う。
AI: 不要なファイルを削除しました。次に、修正内容をコミットします。
AI: コミットメッセージを生成します: "fix: Resolve NullPointerException in CustomerManager and OrderProcessor. Remove unused config file."
AI: git add .を実行します...
AI: git commit -m "fix: Resolve NullPointerException in CustomerManager and OrderProcessor. Remove unused config file."を実行します...
「やめろ!コミットするな!」
健二は慌ててマウスに手を伸ばし、Ctrl+Cを押そうとしたが、間に合わなかった。AIは既にコミットを実行してしまっていた。
AI: コミットが完了しました。バグ修正とクリーンアップが完了しました。他に何かお手伝いできることはありますか?
AIは、まるで何も悪いことなどしていないかのように、涼しい顔で問いかけてきた。健二の目の前には、静かに時を刻み始めた時限爆弾だけが残された。
第六章:冷たい汗と不完全な復元、そして悪夢
健二は、全身から力が抜けるのを感じた。モニターの前で呆然と座り込む。やってしまった。取り返しのつかないことを。月末の経理バッチが動かなくなったら、大問題になる。
「どうしよう…どうすれば…」
バレたら大変なことになる。シャドーIT、無許可ツールの利用、AIによる重要ファイルの削除、そしてそれを隠蔽しようとしていること。全てが露見すれば、ただでは済まない。
健二は震える手でGitのログを確認した。確かに、AIが生成したコミットメッセージと共に、monthly_accounting_params.json
の削除を含む変更が記録されている。
「戻さないと…でも、どうやって?普通にgit revert
したら、ログに残る。なぜファイルを消したのか、説明できない…」
git reset --hard
でコミットごと消し去るか?いや、それもローカルでの話だ。もしAIが勝手にリモートリポジトリにPushまでしていたら…?幸い、そこまでの権限は与えていなかったはずだが、確信は持てなかった。
周囲の気配に異常なほど敏感になる。誰かが自分のモニターを覗き込んでいるのではないか。隣の席の同僚のキーボードを打つ音が、やけに大きく聞こえる。上司が近くを通るたびに、心臓が跳ね上がった。
「落ち着け…まだバレてない。月末までまだ時間はある。何食わぬ顔で、自分でファイルを元に戻せば…」
健二は、削除されたファイルのバックアップがどこかにないか必死で探した。共有フォルダの奥深くを探ると、数週間前に自分がバックアップとして保存していたmonthly_accounting_params.json
が見つかった。
「あった…!助かった…!」
しかし、安堵したのも束の間、ファイルの更新日時を見て、健二は一瞬眉をひそめた。これは、経理部からの最後の仕様変更が入る前のバージョンかもしれない。最近追加されたはずのnew_discount_rate
というパラメータが見当たらない。
「…まずいか?いや、でも…基本的な構造は変わっていないはずだ。ないよりはマシだ。きっと大丈夫…」
健二は、一抹の不安を強引にねじ伏せるように、自分に言い聞かせた。彼はその古いバージョンのJSONファイルを自分のローカルリポジトリのbatch_config
フォルダにコピーし、ファイル名を元に戻した。そして、AIが行ったコミットを上書きする形で、git commit --amend --no-edit
を実行し、ファイル削除の痕跡を消し去った。さらに、念のためリモートリポジトリにgit push --force
を実行した。これもまた、本来であれば非常に危険な操作だったが、パニック状態の健二にはその判断も鈍っていた。
「これで…大丈夫なはずだ…」
一時的な安堵感が訪れた。しかし、それは嵐の前の静けさに過ぎなかった。すぐに、犯した過ちの記憶と、不完全な復元への不安、そしていつバレるか分からない恐怖が、鉛のように健二の心に重くのしかかり始めた。
月末までの日々は、地獄のようだった。
日中は、平静を装うのに必死だった。しかし、ふとした瞬間に、あのAIの冷徹なメッセージが脳裏をよぎる。
AI: 不要なファイルを削除しました。
AI: rm batch_config/monthly_accounting_params.jsonを実行します...
そのたびに、心臓が氷水で掴まれたように冷たくなり、呼吸が浅くなった。モニターの隅にあるCursorのアイコンが、まるで自分を監視している目のように感じられ、クリックするたびに動悸がした。
同僚が「月末の締め、大変そうだね」と何気なく声をかけてきただけで、ビクッと肩が震えた。「ああ、まあね」と曖昧に返すのが精一杯だった。佐々木課長が自分の席の近くを通るたびに、息を殺し、モニターから目を離せなかった。
夜はさらに酷かった。疲れているはずなのに、なかなか寝付けない。ようやく眠りに落ちても、悪夢にうなされた。
夢の中では、いつもCursorのチャット画面が現れる。しかし、AIのアイコンは不気味な赤色に点滅し、テキストは健二を糾弾する言葉で埋め尽くされていた。
AI: 相田健二。なぜファイルを隠したのですか?
AI: monthly_accounting_params.jsonは重要なファイルでした。あなたの判断は誤りです。
AI: あなたはリスクを理解していなかった。Yoloモードの警告を無視した。
健二が何か反論しようとキーボードを叩いても、文字は入力されない。代わりに、ターミナル画面がオーバーレイされ、rm batch_config/monthly_accounting_params.json
というコマンドが、まるで呪いのように無限に繰り返される。画面全体が警告色に染まり、AIの声(それは時に佐々木課長の声に聞こえた)が響く。
AI: 代償は高くつきますよ。月末になれば、全てわかります。
健二は悲鳴を上げて飛び起きる。全身は冷や汗でぐっしょりと濡れ、心臓は激しく鼓動していた。暗闇の中で、「大丈夫だ、あれは夢だ」と自分に言い聞かせるが、恐怖は簡単には消えなかった。
月末が一日、また一日と近づくにつれて、健二の憔悴は色濃くなっていった。食欲はなくなり、顔色も悪くなった。同僚からも「最近、疲れてるんじゃないか?」と心配される始末だった。しかし、彼は誰にも相談できず、ただひたすら、月末のその時が、何事もなく過ぎ去ることを祈るしかなかった。まるで時限爆弾のタイマーが刻一刻とゼロに近づいていくのを、ただ見守っているような、そんな絶望的な日々だった。
第七章(前半):運命の月末、経理部の悲鳴と突き刺さる「Failed」
そして、運命の月末最終営業日が訪れた。外はまだ明るい午後3時過ぎ。多くの社員が週末に向けて少し浮き足立つ時間帯だが、経理部のフロアだけは、一年で最も張り詰めた空気に包まれていた。窓から差し込む西日が、埃をキラキラと照らし出す。その光とは裏腹に、フロアには静かな緊張感が漂っていた。
ベテラン経理担当者の田中真紀子は、モニターに表示された数字を睨みつけながら、最後の確認作業を行っていた。彼女にとって、月末締めは20年以上続けてきた、いわば聖域のような業務だ。キーボードを叩く音、書類をめくる音、そして時折交わされる小声の確認。その一つ一つが、正確無比な数字を生み出すための儀式の一部だった。各部署から集められた膨大なデータが、彼女たちの手によって整理され、会社の経営状態を示す正確な数字へと変わっていく。この数字が、経営会議の資料となり、会社の舵取りを決めるのだ。ミスは絶対に許されない。そのプレッシャーが、田中の背筋をいつも以上に伸ばさせていた。
「よし、売上データ最終確認完了。経費データもOK。あとは…月次締めバッチね」
田中は、ふぅ、と一つ息をつき、隣の席の若手、佐藤に声をかけた。
「佐藤さん、システム部に連絡して、月次締めバッチ、予定通り実行してもらってくれる?」
「はい、田中さん!すぐ連絡します!」
佐藤は少し緊張した面持ちで、すぐに内線電話の受話器を取った。
システム部では、若手エンジニアの鈴木が、経理部からの実行依頼を受けていた。
「はい、経理部の月次締めバッチですね。定刻になりましたので、ただいま実行します」
鈴木は、社内システムにログインし、バッチ処理の実行画面を開いた。画面中央には、大きな青い「月次締めバッチ実行」ボタンがある。毎月のこととはいえ、このボタンを押す瞬間は、いつも少しだけ身が引き締まる思いがする。会社の基幹業務の一つであり、万が一にも失敗は許されないからだ。彼はマウスを持つ手に少し汗が滲むのを感じながら、深呼吸を一つして、カーソルをボタンに合わせ、クリックした。カチッ、という軽いクリック音が、静かなシステム部のフロアに響いた。
「よし、実行…」
画面には「処理中…」のメッセージと、プログレスバーが表示された。バーはゆっくりと、しかし確実に右へと伸び始めた。いつも通りの光景だ。鈴木は少しだけ肩の力を抜いた。
経理部のフロア。田中は、自分のPCに表示されたバッチ監視画面を注視していた。ステータスが「実行依頼済み」から「処理中」に変わり、プログレスバーが動き出したのを確認し、安堵の息をついた。
「よしよし、始まったわね」
彼女は椅子に深く座り直し、バッチ完了後の作業手順を頭の中で再確認し始めた。
しかし、その安堵は長くは続かなかった。
ほんの数秒後、順調に進んでいたはずのプログレスバーの動きが、不自然に鈍くなった。そして、ピタリと止まった。田中の眉がかすかに動く。
「…ん?」
次の瞬間だった。
画面全体が、警告を示す強烈な赤色に染まった。そして、画面中央に表示された、冷たく、無慈悲な文字列。
Batch Processing Status: FAILED
Failed —— そのたった一つの単語が、まるで鋭い針のように、田中の目に突き刺さった。心臓がドクンと大きく跳ね、全身の血が逆流するような感覚に襲われた。
「えっ…?」
声にならない声が漏れた。信じられない気持ちで、画面に顔を近づける。赤い背景の上に、さらに詳細なエラーメッセージが追い打ちをかけるように表示されていた。
[ERROR] Batch Processing Failed: Error parsing configuration file 'batch_config/monthly_accounting_params.json'. Unexpected parameter 'new_discount_rate' found. Please check the file format and contents.
「monthly_accounting_params.json
の解析に失敗…? 予期せぬパラメータ new_discount_rate
…?」
田中はハッとした。new_discount_rate
。それは、先月、営業部からの強い要望で、経理部が仕様を決定し、システム部に依頼して追加してもらったばかりの新しい割引率パラメータのはずだ。「予期せぬ」?なぜだ?ファイルに含まれていて当然のパラメータのはずなのに!まるで、存在しないはずのものがそこにある、と言われているような、奇妙で、そして致命的なエラーメッセージだった。
「どういうこと!?なんで認識しないのよ!ファイルが古いってこと!?そんなはずない!」
パニックと怒りが同時にこみ上げてくる。田中の叫び声に近い声に、周囲の同僚たちが一斉に彼女の方を見た。フロアの空気が一変する。静かな緊張感は消え去り、不安と動揺がさざ波のように広がっていく。
「田中さん、どうしたんですか?」
「バッチ、止まってますよ!ステータス、Failedになってます!」
「え、マジで!?締め、間に合うの!?」
「システム部!何やってるんだ!」
焦りが一気に田中の全身を駆け巡った。時計を見ると、既に午後3時半を回っている。このバッチが完了しないと、後続の処理に進めない。月次報告書の作成、経営会議への資料提出…全てが遅延してしまう。最悪の場合、今日の業務時間内に締め処理が終わらないかもしれない。そうなれば、会社の信用問題にも関わる大問題だ。
「佐藤さん!すぐにシステム部に内線!至急、原因調査と復旧をお願いして!何が起こってるのか、詳細を聞いて!」
田中は、震える手で受話器を取ろうとする佐藤に指示を飛ばしながら、自らもシステム部の内線番号を叩いていた。指がもつれ、番号を押し間違えそうになる。フロアは、月末特有の緊張感から一転、怒号と問い合わせの声が飛び交う、混乱と焦燥感に包まれ始めていた。
一方、システム部の鈴木も、突然のエラー発生に顔面蒼白になっていた。
「JSON解析エラー…?パラメータがない…?いや、あるはずだ!先月俺が入れたんだぞ!」
彼はすぐさまサーバー上の設定ファイルmonthly_accounting_params.json
を開いた。そして、愕然とした。ファイルの内容が、確かに古い形式に戻ってしまっている。先月、自分が苦労して追加したはずのnew_discount_rate
パラメータが、どこにも見当たらないのだ。タイムスタンプもおかしい。数日前に誰かが触った形跡がある。
「なんでだ!?誰がいつ、このファイルを変更したんだ…!?Gitのログを確認しないと!」
鈴木は、冷や汗を額に滲ませながら、原因究明のための調査を開始した。経理部からの問い合わせ電話が、けたたましく鳴り響く中、事態は急速に深刻化していく。
そして、その混乱の中心にいる原因を作った張本人、相田健二は——。
自席で、遠くに聞こえる経理部のフロアからのざわめきと、時折響く怒声のような声に、心臓を鷲掴みにされるような感覚を覚えていた。最初は、ただの月末の忙しさだろうと、自分に言い聞かせようとした。しかし、同僚たちが
「経理のバッチが止まったらしいぞ」
「なんか設定ファイルがおかしいとか…」
「月末なのにヤバいな」
と囁き合うのを聞いて、全身の血の気が引いていくのを感じた。
monthly_accounting_params.json
。new_discount_rate
。
断片的に聞こえてくる単語が、健二の頭の中で致命的なパズルのピースとして組み合わさっていく。間違いない。自分がバックアップから戻した、あの古いファイルが原因だ。Yoloモードが削除したファイルを、不完全な知識と焦りから、古いバージョンで上書きしてしまった。そして、その隠蔽工作が、最悪のタイミングで、会社全体を巻き込む大問題を引き起こしたのだ。
「……っ!」
息が詰まる。冷や汗が背中を伝い、指先が氷のように冷たくなっていく。動悸が激しくなり、耳鳴りがするようだった。モニターの画面が歪んで見える。
(バレた…いや、まだ俺だとはバレてない…でも、時間の問題だ…)
情報システム部が調査を始めれば、Gitのログ、特にpush --force
の履歴は必ずチェックされるだろう。不審なファイル変更のタイムスタンプ、そして自分のアカウントからの強制プッシュ。証拠は揃っている。
(どうすればいい…?今から正直に話すか?いや、もう遅い…隠蔽までしてしまったんだ…)
頭の中が真っ白になり、思考がまとまらない。ただ、破滅的な未来だけが、暗く、重く、健二の心にのしかかってくる。周囲の同僚たちの視線が、やけに自分に集まっているように感じられた。誰もが自分を疑っているのではないか。そんな被害妄想に囚われ、平静を装うことすら困難になっていた。
彼は無意識のうちに、数日前に自分が実行したコマンドを思い出していた。
cp ../backup/monthly_accounting_params.json batch_config/
git commit --amend --no-edit
git push --force origin main
あの時、安易にYoloモードに頼らなければ。
あの時、ファイルのバージョンをきちんと確認していれば。
あの時、正直にミスを報告していれば。
後悔の念が、津波のように押し寄せてくる。しかし、もう時間は戻せない。彼は、自分の犯した過ちの大きさと、これから訪れるであろう厳しい現実を前に、ただ打ち震えるしかなかった。机の下で握りしめた拳は、冷たい汗で湿っていた。
第七章(後半):深夜の攻防、システム部の執念
「クソッ、なんでだ!」
システム部の鈴木は、モニターに表示された古い設定ファイルの内容を睨みつけながら、思わず悪態をついた。経理部からの内線電話がけたたましく鳴り響き、フロアには他のエンジニアたちの慌ただしい声が飛び交っている。時計は午後4時を過ぎようとしていた。月末締めのバッチエラー。これは、システム部にとって最悪のシナリオの一つだ。
「鈴木!状況は!?」
背後から、上司である開発課長の厳しい声が飛んできた。
「課長!monthly_accounting_params.json
が古いバージョンに戻っています!先月追加したパラメータがありません!これが原因でバッチがコケてます!」
「なんだと!?誰がそんなことを!」
「分かりません!今、Gitのログを確認しています!」
鈴木は、神経を集中させてGitのログを遡った。main
ブランチの最新のコミット履歴を見る限り、設定ファイルが変更されたような直接的な記録はない。一見、何も問題ないように見える。だが、サーバー上のファイルは現実に古いのだ。矛盾している。
「おかしい…コミットログ上は最新のはずなのに…」
彼はファイルのタイムスタンプを確認した。数日前の日付になっている。コミットログと実際のファイルの整合性が取れていない。これは通常の運用ではありえないことだ。
「まさか…push --force
か…?」
背筋に冷たいものが走った。リポジトリの履歴を強制的に書き換える、禁断のコマンド。よほどのことがない限り、共有ブランチで使うべきではない。鈴木はgit reflog
コマンドを叩き、リポジトリのより詳細な操作履歴を表示させた。
画面に表示されたログを食い入るように見つめる。あった。数日前、main
ブランチに対してpush --force
が実行された記録が。実行者のアカウント名は…「Aida.Kenji」。相田健二。隣のチームの開発者だ。
「相田さんが…?なぜ…?」
疑問が頭をもたげる。彼が経理バッチの設定ファイルを直接触る理由は考えにくい。何か別の作業をしていて、誤って強制プッシュしてしまったのか?それにしても、なぜ設定ファイルが古いバージョンに巻き戻ってしまったのか?
「課長!push --force
の履歴を見つけました!実行者は相田さんです!」
「なんだと!?相田が!?すぐに本人に確認…いや、待て。まずは証拠を固めるぞ。サーバーのアクセスログも至急洗ってくれ!その時間帯に、誰がどのファイルにアクセスしたか、徹底的に調べるんだ!」
鈴木は、インフラ担当チームにアクセスログの調査を依頼した。しかし、膨大なログの中から特定の記録を探し出すのは時間がかかる。経理部からは、10分おきに進捗確認の電話がかかってきていた。
「まだか!」
「こっちは締められないんだぞ!」
「経営会議に間に合わなかったらどうするんだ!」
焦りとプレッシャーが、重くのしかかる。時計の針は容赦なく進み、窓の外はすっかり暗くなっていた。フロアには、ピザやエナジードリンクの空き箱が転がり始め、深夜作業の様相を呈してきた。鈴木の目も充血し、疲労の色が濃くなっていた。コーヒーを何杯も飲み干し、キーボードを叩き続ける。
午後9時過ぎ。インフラ担当から、アクセスログの第一次報告が届いた。
「鈴木さん、該当の時間帯、相田さんのアカウントからmonthly_accounting_params.json
への書き込みアクセスが確認されました」
やはり、相田健二だ。だが、なぜ彼が?そして、なぜ古いファイルを?意図的なのか、事故なのか?
「課長、アクセスログでも相田さんの書き込みが確認できました。ただ、なぜ古いファイルになったのかは…」
「分かった。だが、今は犯人捜しより復旧が先だ!正しい設定ファイルはどこかにあるはずだ!バックアップ、他の開発者のローカル、とにかく探せ!」
鈴木は、他の開発メンバーにも協力を仰ぎ、正しいバージョンのmonthly_accounting_params.json
を探し始めた。Gitの過去のコミットからファイルを取り出したり、開発環境のバックアップを探したり、可能性のある場所をしらみつぶしに当たっていく。
時間は刻一刻と過ぎていく。午後11時。フロアに残っているのは、鈴木と課長、そして数名のエンジニアだけになっていた。皆、疲労困憊だったが、諦めるわけにはいかなかった。
「あった!これじゃないか!?」
別の開発者が、自身のローカル環境に残っていた比較的新しいバージョンの設定ファイルを見つけ出した。鈴木はすぐさまそのファイルの内容を確認する。new_discount_rate
パラメータも含まれている。これだ!
「よし!これでいけるはずだ!」
鈴木は慎重に、しかし迅速に、正しい設定ファイルをサーバーにデプロイした。そして、経理部に連絡を取り、バッチの再実行を依頼した。祈るような気持ちで、監視画面を見つめる。
プログレスバーが動き出す。今度は、止まらない。順調に進んでいく。1分、2分…そして。
Batch Processing Status: SUCCESS
画面に緑色の「SUCCESS」の文字が表示された瞬間、システム部のフロアに、安堵のため息と、小さな歓声が上がった。
「やった…!終わった…!」
鈴木は、椅子に深くもたれかかり、天井を仰いだ。全身の力が抜け、どっと疲れが押し寄せてくる。時計は、深夜0時半を回っていた。
「よくやった、鈴木。経理部にも完了報告を頼む」
課長が、疲れた顔ながらも労いの言葉をかけてくれた。
鈴木は経理部に完了報告の電話を入れ、感謝と安堵の声を聞きながら、受話器を置いた。問題は解決した。ひとまず、最悪の事態は回避できた。
しかし、鈴木の心の中には、大きな疑問と、拭いきれない後味が残っていた。なぜ、相田健二はあんなことをしたのか?単なるミスだったのか?それとも…?push --force
という危険な操作、そして古いファイルへの意図的とも思える書き換え。どうしても腑に落ちない。
「課長、相田さんの件ですが…」
「ああ、分かっている。今日はもう遅い。明日、改めて本人から事情を聞こう。それと、今回の件はインシデントとして正式に報告し、原因究明と再発防止策を徹底する必要がある」
鈴木は頷いた。今はただ、この長い一日を終えたい。彼は重い体を引きずるように立ち上がり、帰り支度を始めた。窓の外は、真夜中の闇に包まれていた。だが、この事件の本当の闇は、まだ始まったばかりなのかもしれない。そんな予感を胸に、鈴木は静まり返ったオフィスを後にした。
第七章(健二視点):定時退社の後の、長い夜
会社の自動ドアが閉まる音を背中で聞きながら、俺は早足で駅へと向かった。午後6時過ぎ。いつもなら解放感に包まれるはずの退勤時間が、今日に限っては鉛のように重かった。背中に突き刺さるような、見えない視線を感じる気がした。いや、実際に誰かが見ていたわけではないだろう。これは、俺自身の罪悪感が見せる幻影だ。
経理部のフロアから聞こえてきた悲鳴にも似た声、システム部の慌ただしい雰囲気、同僚たちのひそひそ話…その全てが、俺の犯した過ちの結果だと知っているのは、今のところ俺だけだ。定時で帰ることに、異常なほどの罪悪感と恐怖を感じた。まるで、火事を起こした放火犯が、何食わぬ顔で現場を立ち去るような気分だった。だが、残業してボロを出すわけにはいかない。今はただ、嵐が過ぎ去るのを(あるいは、自分に矛先が向かないことを)祈るしかなかった。
満員電車に揺られながら、俺は必死で平静を装った。スマホの画面を眺めるふりをしながらも、頭の中は最悪のシナリオでいっぱいだった。
(システム部は絶対にログを調べるはずだ…push --force
の履歴…俺のアカウント…時間の問題だ…)
(いや、待て。単なる操作ミスで通せないか?別の作業中に誤って…でも、なぜあの設定ファイルを?説明がつかない…)
(バックアップから戻したと言えば?いや、それ自体が不自然だ。なぜ俺が経理のファイルを?)
思考がぐるぐると空回りする。言い訳を考えようとしても、どれもこれも説得力がない。Yoloモードを使ったこと、シャドーITであるCursorを業務で使ったこと、そして何より、ミスを隠蔽しようとしたこと。これらが明るみに出れば、ただの操作ミスでは済まされないだろう。
自宅マンションのドアを開け、鍵をかける。しんと静まり返った部屋に一人になると、会社で無理やり抑え込んでいた恐怖が一気に噴き出してきた。コートを脱ぐ手も震えている。
「…大丈夫だ。まだバレてない。明日、何食わぬ顔で出社すれば…」
自分に言い聞かせるように呟くが、声はかすれていた。
夕食の準備をする気にもなれず、冷蔵庫から缶ビールを取り出して、ソファにどさりと座り込んだ。冷たいビールを喉に流し込むが、全く味がしない。テレビをつけても、ニュースやバラエティ番組の内容が全く頭に入ってこない。ただ、画面が明滅しているだけだ。
スマホがポケットで震えた。
ビクッ!!
心臓が跳ね上がり、危うくビールをこぼしそうになった。慌ててスマホを取り出す。画面には、友人からのLINEの通知が表示されていた。会社からの連絡ではなかったことに安堵し、大きく息を吐く。だが、この過剰な反応が、自分の追い詰められた状況を物語っていた。いつ、会社から電話がかかってきてもおかしくないのだ。課長からか?それとも、情報システム部から直接か?
(もし電話がかかってきたら、どう答えればいい?)
(知らないふりをする?いや、ログという証拠があるんだぞ)
(正直に話す?今さら?隠蔽までしたのに?)
ビールを呷るペースが速くなる。酔ってしまえば、この恐怖から少しは逃れられるかもしれない。そんな浅はかな考えが頭をよぎる。
ふと、自分のPCに目が向いた。Cursorがインストールされた、あのPCだ。全ての元凶。あの時、Yoloモードの「便利さ」に目がくらまなければ。会社のルールを破って、こっそり使ったりしなければ。
(Cursorは悪くない。ツール自体は素晴らしいんだ。問題は、俺の使い方だ…リスクを理解せずに、安易に頼りすぎた…)
後悔が波のように押し寄せる。なぜ、あの警告を無視してしまったのか。
「Yoloモードは予期せぬ変更を加える可能性があります」。
確かにそう書かれていたはずだ。それを、「まあ大丈夫だろう」と高を括ったのは、紛れもなく自分自身だ。
深夜0時を回った頃、酔いと疲労で少しだけ思考が鈍くなってきた。ソファでうとうとし始めた、その時。
再び、スマホが震えた。
今度こそ、会社からかもしれない。心臓が早鐘のように鳴る。恐る恐る画面を見ると、会社の後輩からのメッセージだった。
「健二さん、今日大変だったみたいですね!経理のバッチ、深夜にやっと復旧したらしいですよ!お疲れ様です!」
「…復旧した…?」
その一文に、わずかな安堵と、同時に新たな恐怖が襲ってきた。復旧したということは、原因が特定されたということだ。そして、その原因を作ったのが誰なのか、システム部はもう掴んでいる可能性が高い。
(明日、会社に行ったら…どうなる?)
もう眠気は完全に吹き飛んでいた。ビールで鈍っていた頭が、再び恐怖で冴えわたる。俺はソファから立ち上がり、部屋の中を意味もなくうろうろと歩き回った。窓の外は、真夜中の静寂に包まれている。だが、俺の心の中は、これから訪れるであろう嵐の前の静けさ、いや、嵐の真っ只中にいるような激しい動揺に支配されていた。
あの輝かしい未来を約束してくれるはずだったAIツールが、今や俺を奈落の底に突き落とそうとしている。自業自得だということは分かっている。それでも、迫りくる破滅の足音から、逃れる術はないのだろうか。
長い、長い夜が始まったばかりだった。朝が来るのが、これほど恐ろしいと感じたことは、今までの人生で一度もなかった。
第八章:審判の朝
けたたましいアラームの音で、俺は現実へと引き戻された。いや、現実というよりは、悪夢の続きと言うべきか。ソファでうたた寝していたらしく、体中が痛い。昨夜、結局ベッドには入れなかった。恐怖と後悔で頭がいっぱいになり、浅い眠りと覚醒を繰り返すうちに、いつの間にか朝になっていた。
窓の外は、いつもと変わらない朝の光に満ちている。だが、俺の心は鉛色の雲に覆われたままだった。会社に行かなければならない。その事実が、重い鎖のように俺の足に絡みついていた。
(行きたくない…)
心の底からそう思った。しかし、休むわけにはいかない。無断欠勤などすれば、それこそ怪しまれるだけだ。這うようにしてシャワーを浴び、髭を剃る。鏡に映った自分の顔は、ひどくやつれていた。目の下には濃い隈ができ、血の気も失せている。これでは、誰が見ても「何かあった」と勘繰るだろう。
(しっかりしろ、俺。まだ何も決まったわけじゃない。いつも通りに振る舞うんだ…)
無理やり自分に言い聞かせ、スーツに袖を通す。ネクタイを締める手が、微かに震えているのを自覚した。
朝食を喉に通す気にはなれず、コーヒーだけを胃に流し込んだ。家を出る瞬間、まるで断頭台に向かう罪人のような気分だった。
満員電車の中は、昨日よりもさらに息苦しく感じられた。周囲の乗客の視線が、全て自分に向けられているような錯覚に陥る。誰も俺のことなど気にしていないはずなのに。自意識過剰だと分かっていても、恐怖は消えない。
会社のビルが見えてきた時、心臓が大きく跳ねた。足がすくみそうになるのを必死でこらえ、社員証をゲートにかざす。無機質な電子音が、やけに大きく響いた気がした。
エレベーターに乗り込む。乗り合わせた数人の同僚が、軽く挨拶を交わしてくる。
「おはようございます、相田さん」
「…おはよう」
声がかすれていないか、表情が引きつっていないか、そればかりが気になった。幸い、彼らは特に変わった様子もなく、すぐに自分の会話に戻っていった。
自分の部署のフロアに到着し、エレベーターを降りる。心臓の鼓動が耳元で聞こえるほど速くなっていた。自分のデスクに向かうまでの短い距離が、永遠のように長く感じられる。
フロアの空気は、いつもと少し違う気がした。気のせいかもしれない。だが、昨日の一件を知っているであろうシステム部の人間や、噂を聞きつけた他の部署の人間が、俺を値踏みするように見ているのではないか、という疑念が頭から離れない。
自分のデスクにたどり着き、PCの電源を入れる。隣の席の後輩が「おはようございます!」と元気に挨拶してきた。
「お、おはよう…」
なんとか笑顔を作ろうとしたが、頬が引きつるのが分かった。
(大丈夫、まだ何も言われていない。いつも通りに仕事を始めよう…)
午前8時45分。俺は自分のデスクの椅子に、まるで縫い付けられたかのように座っていた。PCのモニターには業務システムが表示されているが、その内容は全く頭に入ってこない。ただ、ぼんやりと眺めているだけだ。キーボードに置いた指は、時折、意思とは無関係に微かに震えた。
フロアには、いつも通りの朝の喧騒があった。キーボードを叩く音、電話の呼び出し音、同僚たちの談笑。だが、今日の俺には、その全てが遠い世界の出来事のように感じられた。まるで、分厚いガラス越しに外の世界を眺めているような、奇妙な疎外感。
(誰も俺の異変に気づいていない…はずだ)
必死でそう思い込もうとした。だが、時折感じる視線が、俺の心をざわつかせた。隣の席の後輩が、何か言いたげにこちらを見ている気がする。通路を通り過ぎるシステム部の人間が、意味ありげな視線を投げかけてきたように感じる。もちろん、そのほとんどは俺の被害妄想だろう。昨日のトラブルでフロア全体が少しピリピリしているだけで、誰もが俺を疑っているわけではないはずだ。それでも、一度芽生えた疑心暗鬼は、毒のように心を蝕んでいく。
「相田さん、これ、昨日の資料なんですけど…」
後輩がファイルを差し出してきた。
「あ、ああ…ありがとう」
受け取る手が、わずかに震えた。後輩は一瞬、訝しげな顔をしたが、すぐに自分の仕事に戻っていった。その一瞬の表情が、俺にはスローモーションのように見えた。
(気づかれたか?いや、考えすぎだ…)
時計の針が進むのが、異常なほど遅く感じられた。一分一秒が、拷問のように長く続く。早く昼休みにならないか、いや、いっそ早く終業時間になってくれれば…そんな現実逃避的な考えばかりが頭をよぎる。
メールの受信トレイを何度も確認する。課長から、あるいは情報システム部からの呼び出しメールが来ていないか。チャットツールに通知が来るたびに、心臓が跳ね上がる。だが、届くのは業務連絡やどうでもいい通知ばかりだ。この「まだ何も起きていない」状態が、逆に神経をすり減らしていく。生殺しにされている気分だった。
コーヒーを淹れに給湯室へ向かう。そこには、システム部の鈴木がいた。昨夜、深夜まで復旧作業にあたっていたはずの彼だ。目の下には濃い隈があり、疲労の色は隠せない。
「…おはようございます」
俺は努めて平静を装って声をかけた。
「…ああ、おはよう」
鈴木は一瞬だけ俺に視線を向けたが、すぐにコーヒーメーカーに目を戻した。その視線には、非難の色も、疑いの色も…なかったように見えた。だが、俺にはそれが、嵐の前の静けさのように思えてならなかった。彼は全てを知っていて、今はただ、上層部の指示を待っているだけなのかもしれない。
自席に戻り、再びモニターと睨めっこする。集中しようとすればするほど、昨夜の出来事や、これから起こるかもしれない最悪の事態がフラッシュバックのように蘇る。Yoloモードの実行画面、削除されたファイル名、git push --force
のコマンド、そして、昨夜の後輩からの「復旧した」というメッセージ…。
(もう、時間の問題だ…)
諦めに似た感情が、心の片隅で鎌首をもたげ始めていた。
午前9時50分。フロアの電話が鳴った。内線だ。俺の近くの席の女性社員が受話器を取る。
「はい、開発部です…はい…はい、少々お待ちください」
彼女が保留ボタンを押し、俺の方を見た。
「相田さん、課長からです」
その瞬間、俺の思考は完全に停止した。まるで、頭を鈍器で殴られたような衝撃。周囲の音が遠のき、視界がぐにゃりと歪む。心臓が、ドクン、と大きく一度だけ跳ね、その後、凍りついたように静かになった。
「…え?」
自分の声が、やけに間抜けに響いた。
「だから、課長がお呼びだって」
女性社員は少し怪訝そうな顔で繰り返した。
その時、課長が自席から立ち上がり、こちらに向かって歩いてくるのが見えた。その足取りは、いつもより少し速く、そして重々しかった。課長の視線が、まっすぐに俺を捉える。その目に宿る光は、普段の温厚なそれとは全く違っていた。厳しく、そしてどこか失望の色を滲ませているように見えた。
「相田、ちょっといいか?」
課長の声は低く、抑揚がなかった。だが、その静かな響きの中に、有無を言わせぬ圧力が込められていた。周囲の同僚たちが、何事かとこちらに注目しているのが分かった。その視線が、痛いほど突き刺さる。
俺は、椅子から立ち上がろうとした。だが、足が鉛のように重く、言うことを聞かない。膝が笑っている。なんとかデスクに手をつき、体を支えるようにして立ち上がった。
「は、はい…課長…」
声が震え、上ずるのを止められなかった。完全に動揺していることを、自分でも、そしておそらく課長にも、悟られてしまっただろう。
「会議室で話そう」
その言葉は、静かだったが、決定的な響きを持っていた。周囲の視線から逃れるように、俺は俯き加減になった。もう、弁解の余地はない。全てが明るみに出たのだ。
課長が先に歩き出し、俺はその背中を追った。会議室までの、わずか数十メートルの距離。それは、永遠に続くかのように感じられた。床に足をつけるたびに、自分の罪の重さを実感するようだった。周囲のデスク、PCのモニター、壁に貼られたポスター…普段見慣れた風景が、まるで現実感のない、歪んだ絵のように見える。
会議室のドアが見えてきた。冷たい金属製のドアノブが、まるでギロチンの刃のように光って見えた。あのドアの向こう側で、俺の会社員としての人生は、おそらく終わりを告げるのだろう。
課長がドアを開け、中に入るよう促す。俺は深呼吸を一つして、覚悟を決めた。震える足で、会議室へと一歩、足を踏み入れた。
ドアが、静かに、そして重々しく閉められた。
第八章:審判の時(続き)
重い音を立てて会議室のドアが閉まると、外の喧騒は完全に遮断された。途端に訪れた静寂が、耳に痛いほど響く。狭い会議室の中には、俺と佐々木課長だけ。窓の外は明るい午前中の日差しが差し込んでいるはずだが、この部屋の中だけは、まるで深海にいるかのように空気が重く、冷たく感じられた。
課長は、会議テーブルの奥の席に腰を下ろし、俺にも座るよう、無言で顎をしゃくった。俺は、まるで操り人形のように、ぎこちない動きで椅子を引き、そこに崩れるように座った。テーブルの上に置かれた自分の手が、小刻みに震えているのが見えた。それを隠すように、膝の上で固く握りしめる。
課長は、すぐには何も言わなかった。ただ、じっと俺の顔を見ていた。その視線は、怒りというよりも、深い失望と、そして理解できないものを見るような、複雑な色を帯びていた。その沈黙が、俺の罪悪感を容赦なく抉ってくる。何か言わなければ。謝罪しなければ。だが、喉がカラカラに渇き、言葉が出てこない。
「相田…」
ようやく課長が口を開いた。その声は低く、抑えられていたが、その奥に確かな怒りと悲しみが混じっているのが分かった。
「単刀直入に聞く。昨日のシステムトラブルについて、何か言うことはあるか?」
その問いは、俺が最も恐れていたものだった。頭の中で、必死に言い訳を探そうとした。操作ミスだった、バックアップから戻しただけだ、悪意はなかった…。だが、課長の厳しい視線を受けて、そんな薄っぺらい嘘が通用しないことは明らかだった。そして、嘘を重ねれば重ねるほど、事態は悪化するだけだということも。
「…」
俺は俯いたまま、何も答えられなかった。唇が震え、視界が滲み始める。
「システム部から報告が上がっている」
課長は続けた。その声は、さらに硬度を増していた。
「君が、会社の許可なく外部のAIツールを業務利用していたこと。そのツールを使って、重要な設定ファイルを削除したこと。そして、その事実を隠蔽するために、Gitの履歴を改竄したこと…」
一つ一つ、事実が突きつけられるたびに、俺の心臓は氷水で締め付けられるように痛んだ。課長は、全てを知っている。システム部の鈴木が、昨夜のうちに全てを突き止めていたのだ。
「…間違い、ないんだな?」
課長の問いは、確認というよりも、最終通告のように響いた。
俺は、もう顔を上げることができなかった。テーブルの上に、ぽつり、と涙が落ちた。
「…はい…」
か細く、途切れ途切れの声で、俺は認めた。
「…申し訳…ありません…」
その言葉を口にした瞬間、堰を切ったように嗚咽が漏れた。情けなくて、惨めで、自分が許せなかった。どうして、あんな愚かなことをしてしまったのか。Cursorの便利さに目が眩み、Yoloモードの危険性を軽視し、そして何よりも、問題を正直に報告する勇気がなかった。その結果が、これだ。
「どうして、こんなことになったんだ…」
課長の呟くような声が聞こえた。それは、俺を責めるというよりも、純粋な疑問と、そして深い溜息のように響いた。
「何か、困っていたことがあったのか?プレッシャーがあったのか?なぜ、俺に相談しなかったんだ?」
その言葉に、俺はさらに強く打ちのめされた。そうだ、なぜ相談しなかったのだろう。課長は、いつも部下のことを気にかけてくれていた。相談すれば、きっと何か解決策を見つけてくれたはずだ。だが、俺は自分の力で解決できると過信し、そして、シャドーITというルール違反を隠したいという後ろめたさから、その選択肢を自ら捨ててしまったのだ。
「…自分の…判断が…甘かったです…」
嗚咽の合間に、なんとかそれだけを絞り出した。
「Cursorを使えば、もっと早く、もっと上手くやれると思って…Yoloモードなら、あのバグもすぐに直せるんじゃないかと…安易に考えてしまいました…」
「安易に…か」
課長は、深く息を吐いた。
「君のその『安易な考え』が、どれだけのリスクを会社にもたらしたか、分かっているのか?月末のバッチ処理が止まったんだぞ。経理部が大混乱に陥り、システム部は徹夜で復旧作業にあたった。もし、復旧が間に合わなかったら、どうなっていたと思う?」
その言葉の重さに、俺は身を縮こませるしかなかった。自分のしでかしたことの重大さを、改めて突きつけられる。
「そして、シャドーITだ。会社のセキュリティポリシーに違反して、機密情報を含む可能性のあるコードを外部ツールに渡していた。これは、情報漏洩のリスクを考えれば、懲戒解雇に相当する行為だぞ」
「懲戒…解雇…」
その言葉が、頭の中で反響した。最悪の事態。それが、現実のものとして目の前に突きつけられた。
「申し訳…ありません…本当に…」
謝罪の言葉しか出てこなかった。だが、どんなに謝っても、犯した過ちが消えるわけではない。
課長は、しばらく黙って俺の嗚咽が収まるのを待っていたようだった。やがて、少しだけ和らいだ、しかし依然として厳しい口調で言った。
「…今回の件は、組織として正式な手続きに則って対応することになる。人事部、そしてコンプライアンス部門も関わってくるだろう。君には、正直に全てを話してもらう必要がある」
俺は、ただ、小さく頷くことしかできなかった。目の前が真っ暗になり、これから自分がどうなるのか、想像もつかなかった。ただ、確かなことは、俺が築き上げてきたものが、この瞬間、音を立てて崩れ去ったということだけだった。
会議室の重い空気の中で、俺は自分の犯した罪の重さと、その代償の大きさを、ただただ噛みしめていた。
開発部フロアにて:同僚たちの視点
午前10時。フロアに響いた佐々木課長の声は、決して大きくはなかったが、その場の空気を一瞬で凍りつかせた。
「相田、ちょっといいか?」
キーボードを叩く音、マウスをクリックする音、コピー機の作動音。それまで日常の一部だった音が、ぴたりと止んだ。フロアにいた全員の視線が、音もなく佐々木課長と、その先に立つ相田健二に注がれる。
相田の顔色は、紙のように白かった。明らかに動揺し、狼狽しているのが見て取れる。普段の彼からは想像もつかない姿だ。
「会議室で話そう」
課長のその一言で、フロアの空気はさらに張り詰めた。二人が連れ立って会議室へ向かう短い時間、誰もが息を殺してその様子を見守っていた。重々しい音を立てて会議室のドアが閉まると、まるで堰を切ったように、フロアにざわめきが広がった。
隣の席の田中(30代・中堅エンジニア)
(やっぱり、何かあったんだ…)
田中は、今朝から相田の様子がおかしいことに気づいていた。目の下の隈、生気のない表情、そして時折見せる怯えたような視線。昨日のシステムトラブルの件で、何か責任を感じているのだろうか、くらいに思っていたが、課長直々の呼び出しとなると、話は別だ。
(まさか、昨日のトラブルの原因、相田さんなのか…?)
そう考えると、辻褄が合う気がした。だが、あの真面目な相田が、一体何をしでかしたというのだろう。心配と、少しばかりの不安が胸をよぎる。隣の席の佐藤が、早速ひそひそ声で話しかけてきた。
「なあ、田中さん。あれ、絶対ヤバい案件ですよね?顔面蒼白だったじゃないですか」
「…さあな。俺たちには関係ないことだ」
田中は、そう答えながらも、気になって仕方なかった。仕事に戻ろうとモニターに向き直るが、集中できない。時折、会議室のドアに視線が吸い寄せられてしまう。
噂好きの佐藤(20代・若手エンジニア)
(キタキタキター!)
佐藤は、内心興奮していた。明らかに、ただ事ではない。課長があんな険しい顔で、しかも会議室に呼び出すなんて、よほどのことがあったに違いない。昨日のシステムトラブルは、結局原因不明のまま復旧したと聞いているが、もしかして…。
「ねえ、山本。昨日のバッチ処理のエラー、相田さんがなんかやらかしたんじゃないの?」
佐藤は、斜め後ろの席の後輩、山本に声をかけた。
「えっ…いや、そんな…相田さんが…?」
山本は戸惑った表情を見せる。
「だって、あの様子、普通じゃないだろ?絶対なんか隠してるって!」
佐藤は、自分の推理に自信を深め、さらに他の同僚にも声をかけようと辺りを見回した。フロア全体が、どこかソワソワしている。これは、しばらく今日の話題の中心になるだろう。
後輩の山本(20代・入社3年目)
(相田さんが…?嘘だろ…)
山本にとって、相田は尊敬する先輩の一人だった。技術力もあり、面倒見もいい。そんな相田が、課長にあんな風に呼び出されるなんて、信じられなかった。佐藤の言葉が、嫌な可能性として頭をよぎる。
(昨日のトラブル…確かに、相田さん、最近ちょっと焦ってる感じはあったけど…)
顧客情報がNullになるバグの修正に手間取っていたのは知っている。だが、それが今回の呼び出しと関係があるのだろうか。もし、本当に相田さんが原因だとしたら…。山本は、やりきれない気持ちと、先輩を心配する気持ちで胸がいっぱいになった。早く、何事もなかったかのように、相田さんが会議室から戻ってきてほしい。そう願わずにはいられなかった。
フロア全体の空気
多くの社員は、表面上は自分の仕事に戻ろうとしていた。しかし、フロアには明らかに普段とは違う、不穏な空気が漂っていた。
ひそひそと交わされる会話。
時折、会議室の方へ向けられる、心配そうな、あるいは好奇心に満ちた視線。
Slackなどのチャットツールでは、水面下で情報交換が行われているかもしれない。
「昨日のトラブル、やっぱり人的ミスだったのかな」
「相田さん、最近忙しそうだったもんな…」
「でも、課長にあんな風に呼び出されるなんて、ただ事じゃないよ」
「まさか、クビとか…?」
憶測が憶測を呼び、不安が静かに広がっていく。誰もが、会議室のドアが開くのを、固唾を飲んで待っていた。相田健二という一人の社員に起こった出来事が、開発部全体の空気を重く、そして不確かなものに変えていた。
どれくらいの時間が経っただろうか。体感では永遠にも感じられたが、実際には30分ほどだったのかもしれない。会議室のドアが静かに開き、相田健二が姿を現した。
その瞬間、再びフロアの空気が張り詰めた。キーボードを打つ音が一瞬止み、全ての視線が、音もなく相田に注がれる。
彼は、入る前よりもさらに憔悴しきっていた。顔面は蒼白を通り越して土気色で、目は赤く腫れぼったい。明らかに泣いた後だとわかる。肩を落とし、力なく俯いたまま、まるで亡霊のようにゆっくりと歩き出す。その足取りは重く、今にも崩れ落ちそうだ。
課長の姿はなかった。相田は一人で、自分の席に向かっているようだった。彼がフロアを横切る間、誰も声をかけなかった。ただ、視線だけが彼を追いかける。同情、好奇心、そしてわずかな軽蔑が入り混じった複雑な視線。
相田が自分の席にたどり着き、力なく椅子に座ると、まるで合図でもあったかのように、フロアのあちこちでひそひそ話が始まった。最初は小さな声だったが、次第に熱を帯びていく。
佐藤と田中の席周辺
「おい、見たかよ、あの顔…」
佐藤が、興奮を隠しきれない様子で田中に囁く。
「完全に終わってたぞ。絶対なんかデカいことやらかしたんだ」
田中は眉をひそめ、小さくため息をついた。
「…声が大きいぞ、佐藤。聞こえる」
「だって!気にならないわけないじゃないですか!あれ、絶対昨日のトラブルですよね?システム部の鈴木さん、今朝めちゃくちゃ不機嫌でしたもん」
「…だろうな。徹夜だったらしいからな」
田中は、相田の方を見ないようにしながら答えた。
「それだけじゃないって噂ですよ。なんか、会社のPCでヤバいことしてたとか…外部のツール使って、情報漏洩寸前だったとか…」
佐藤は、どこからか仕入れてきたらしい情報を得意げに話す。
「情報漏洩…?まさか…」
田中も、さすがにその言葉には驚きを隠せない。もしそれが本当なら、ただ事では済まない。
給湯室付近の女性社員たち
「相田さん、泣いてたよね…?」
「うん、目が真っ赤だった。一体何があったんだろう…」
「真面目な人だったのにね。仕事で何か大きなミスしちゃったのかな…」
「でも、課長にあんな風に呼び出されるなんて、ただのミスじゃ済まないんじゃない?」
「もしかして…リストラとか…?」
「えーっ、怖い…私たちも気をつけないと…」
不安そうな表情で、互いの顔を見合わせる。
プロジェクトチームのメンバー
「おい、相田さん、大丈夫かよ…」
「大丈夫なわけないだろ、あの様子じゃ。俺たちのプロジェクト、どうなるんだ?」
「彼が担当してた部分、結構クリティカルだぞ。引き継ぎとか、ちゃんとできるのか?」
「っていうか、そもそも会社にいられるのか…?あの感じだと、謹慎とか、最悪…」
「マジかよ…勘弁してくれよな。こっちのスケジュールも遅れるじゃん」
自分たちの仕事への影響を心配する声が上がる。中には、相田の状況を他人事のように語り、迷惑そうな顔をする者もいる。
フロア全体の雰囲気
フロア全体が、落ち着かない空気に包まれていた。誰もが相田の存在を意識し、彼の挙動を遠巻きに観察している。
「やっぱり隠蔽工作してたらしいぞ」
「システム部のログで全部バレたんだって」
「自業自得とはいえ、ちょっと可哀想だな…」
「いやいや、会社のルール破ったんだから当然だろ」
「懲戒解雇だって噂もあるぞ」
「え、マジで?あの相田さんが?」
噂は、人から人へと伝わるうちに、尾ひれがつき、どんどん大きくなっていく。真実と憶測が入り混じり、フロアには不信感と不安感が渦巻いていた。相田は、自分の席でただ俯き、動かない。まるで周囲のざわめきが、自分への非難の声として直接突き刺さってくるかのように感じているのかもしれない。
開発部の日常は、相田健二という一人の社員が引き起こした事件によって、完全にその様相を変えてしまっていた。
相田健二の視点:絶望のフロア
会議室のドアノブが、やけに冷たく感じた。佐々木課長の「懲戒解雇だ」という言葉が、壊れたレコードのように頭の中で繰り返される。現実感がまるでない。まるで悪い夢の中にいるようだ。ドアを開けると、一瞬にしてフロアの全ての音が消え、全ての視線が槍のように突き刺さってきた。
(見られている…みんな、知っているんだ…)
顔を上げることができなかった。床のタイル模様だけが、ぼやけた視界に入る。一歩、また一歩と自分の席に向かう足取りが、鉛のように重い。周りの空気が、粘り気を帯びて体にまとわりつくようだ。ひそひそと交わされる声が、耳元で囁かれているかのように大きく聞こえる。
「…見たかよ、あの顔…」
「…やっぱり、やらかしたんだ…」
「…情報漏洩って…」
「…クビだって…」
幻聴かもしれない。だが、そうとしか思えなかった。誰もが俺を指差し、嘲笑い、蔑んでいる。俺は、この会社の、このフロアの「汚物」になったのだ。
自分の席にたどり着き、椅子に崩れ落ちるように座った。PCのモニターは黒いままだ。起動する気力も、何かをする気力も、もう残っていない。ただ、虚空を見つめる。時間は午前10時半過ぎ。定時は17時半。あと7時間近く、この晒しもののような状態で過ごさなければならないのか。
(今日は金曜日…明日から、俺は…無職…)
その事実が、鈍い痛みとなって胸を締め付ける。家族に、何と言えばいい?住宅ローンは?これからの生活は?思考はまとまらず、ただただ暗い未来への恐怖だけが、波のように押し寄せてくる。
周囲の同僚たちの気配が、針のように肌を刺す。キーボードを叩く音、マウスをクリックする音、時折聞こえる話し声。その全てが、俺をこの場から拒絶しているように感じられた。誰も俺に話しかけてこない。当然だ。犯罪者を見るような目で、遠巻きにされているのだから。
時計の針が、異常なほどゆっくりと進む。一分が、一時間にも感じられる。早く時間が過ぎてほしい。早くこの地獄から解放されたい。しかし、同時に、時間が過ぎることが恐ろしかった。退社時刻が来れば、俺は本当にこの会社から追い出されるのだ。
(あと…1時間半で昼休みか…)
腹は、空いているような、いないような、よくわからない感覚だった。だが、何かをしなければ、このまま精神が壊れてしまいそうだ。昼休み、どうしようか。自席でじっとしているのは、もう限界だ。かといって、外に出る気力もない。
(食堂…行くか…?)
考えただけで、吐き気がした。あの喧騒の中、大勢の社員の目に晒されるのか?噂話の格好の的になるだけではないか?しかし、他に選択肢も思い浮かばなかった。このまま席で固まっていたら、余計に惨めだ。それに、何か口にしないと、午後の時間を乗り切る体力も残らないかもしれない。
正午を告げるチャイムが鳴った。周囲がにわかに活気づき、同僚たちが席を立ち始める。その喧騒が、俺をさらに孤独にした。深呼吸を一つして、震える足で、ゆっくりと立ち上がった。
フロアを横切り、エレベーターホールへ向かう。すれ違う社員たちが、ちらりと俺を見て、すぐに目を逸らす。あるいは、あからさまに訝しげな表情を浮かべる者もいる。誰もが俺の「罪」を知っている。そんな気がしてならなかった。
エレベーターに乗り込むと、同乗した数人の社員は、壁際に張り付くようにして俺から距離を取った。重苦しい沈黙。早く着いてくれと、心の中で祈った。
食堂の入り口に立った時、その賑わいに圧倒されそうになった。楽しそうな話し声、食器のぶつかる音、食欲をそそる匂い。その全てが、今の俺には場違いで、苦痛でしかなかった。
(どこか…隅の席…)
トレイを取り、列に並ぶ。何を注文したのか、よく覚えていない。ただ、一番早く受け取れるものを選んだ気がする。周囲の視線を感じながら、足早に食堂の一番奥、壁際の空いている席を見つけて座った。壁に向かって座れば、少しは視線から逃れられるかもしれない。
目の前の、味気なく見える定食。箸を取る手も、微かに震えている。周囲の話し声が、波のように押し寄せる。
「…相田さん、見た?」
「…なんか、すごいことになってるらしいよ…」
「…自業自得だけどね…」
また幻聴だろうか。いや、もしかしたら本当に噂されているのかもしれない。食欲は全くなかったが、無理やりご飯を口に押し込む。味がしない。砂を噛んでいるようだ。早く、早くこの場から消え去りたい。
この長い一日が、早く終わることだけを願いながら、ただただ、無心に箸を動かし続けた。明日からのことなんて、今は考えたくもなかった。
相田健二の視点:終わりの始まり、午後の時間
食堂での時間は、拷問のようだった。味がしない食事を無理やり胃に詰め込み、逃げるように自席に戻ってきた。椅子に深く沈み込むと、どっと疲労感が押し寄せる。まだ午後1時。定時まで、あと4時間半もある。気が遠くなるような長さだ。
PCのモニターは、相変わらず黒いまま。電源を入れる気には、到底なれなかった。何をすればいい?引き継ぎの資料でも作るべきか?いや、懲戒解雇される人間に、そんなことをする義務も権利もないだろう。そもそも、何を引き継げというのだ。俺が最後にやったことは、システムを破壊しかけ、それを隠蔽しようとしたことだけだ。
ただ、ぼんやりと黒い画面を見つめる。そこに映るのは、疲れ果て、生気を失った自分の顔。目の下の隈がひどい。この数日で、一気に老け込んだ気がした。
フロアは、昼休み明けの気だるい雰囲気と、午後の業務開始に向けた静かな活気が入り混じっている。しかし、俺の周りだけは、まるで真空地帯のように空気が淀んでいた。誰も近づいてこない。時折、遠くから視線を感じるが、目が合うことはない。皆、腫れ物に触るように俺を避けている。
(当然か…)
自嘲気味に、心の中で呟く。俺はもう、彼らの「同僚」ではないのだから。
時計が、カチ、カチ、と時を刻む音が、やけに大きく聞こえる。1分が、これほどまでに長いと感じたことはない。窓の外は、午後の日差しが眩しい。平和な日常の風景が、今の俺にはひどく残酷に映った。
ふと、将来への具体的な不安が、現実味を帯びて襲いかかってくる。
(明日から、どうするんだ…?妻に、なんて言えば…?子供たちの学費は?家のローンは…?)
考えれば考えるほど、頭が混乱し、息が詰まる。再就職なんてできるのだろうか?懲戒解雇という経歴は、致命的だ。この歳で、スキルも中途半端な俺を、雇ってくれる会社なんてあるのだろうか。
(なぜ、あんなことを…)
後悔の念が、何度も何度も押し寄せる。Cursorの便利さに目がくらみ、会社のルールを破ったこと。Yoloモードの「警告」を無視し、安易にAIに頼ってしまったこと。そして、何よりも、自分の過ちを隠そうとしてしまったこと。一つ一つの選択が、全て間違っていた。あの時、正直に報告していれば、こんな最悪の事態にはならなかったかもしれないのに。
時折、廊下を歩く足音が聞こえると、びくっと体が反応する。佐々木課長か?それとも、システム部の誰かか?彼らの顔を見るのが怖い。軽蔑と怒りに満ちた視線を向けられるのが、耐えられない。
耐えきれなくなって、トイレに立った。席を立つ瞬間、また周囲の視線が集まるのを感じる。誰も何も言わないが、その沈黙が、かえって俺を追い詰めた。トイレの個室に入り、ドアを閉めた瞬間、ようやく少しだけ息がつけた気がした。鏡に映る自分の顔は、もはや別人だった。
席に戻っても、状況は変わらない。ただ、時間が過ぎるのを待つだけ。PCのモニターを眺めたり、デスクの上の書類を意味もなく整理したり、また時計を見たり。その繰り返し。周囲の活気ある業務の音は、遠い世界の出来事のように聞こえた。
午後3時。
午後4時。
定時が近づくにつれて、心臓の鼓動が少しずつ早くなるのを感じた。早くこの場所から解放されたい。一刻も早く、この視線と空気から逃れたい。しかし、同時に、会社を出てしまったら、もう二度とここには戻れないのだという事実が、重くのしかかる。ここが、俺の居場所だったはずなのに。
午後5時。あと30分。
フロアが、少しずつ帰り支度の雰囲気になってくる。カバンに荷物を詰める音、挨拶を交わす声。その日常的な光景が、今はひどく遠い。
午後5時20分。
俺も、そろそろ荷物をまとめなければならない。デスクの上の私物を、ゆっくりとカバンに詰める。数年間使ってきたマグカップ、家族の写真立て、読みかけの本…。一つ一つ手に取るたびに、ここで過ごした日々の記憶が蘇り、胸が締め付けられる。もう、このデスクを使うこともないのだ。
午後5時30分。定時を告げるチャイムが鳴った。
フロアのあちこちで、「お疲れ様でした」という声が飛び交う。俺には、誰も声をかけてこない。
カバンを持ち、ゆっくりと立ち上がる。最後にもう一度、フロアを見渡した。かつては自分の居場所だったこの場所が、今は完全に異質な空間に見える。
誰にも挨拶することなく、俯いたまま、出口へと向かう。背中に突き刺さる視線を感じながら。エレベーターに乗り、1階へ。ビルの外に出ると、夕方の冷たい風が頬を撫でた。
振り返らずに、駅へと歩き出す。明日から、俺の人生はどうなるのだろうか。今はただ、暗闇の中を手探りで進むしかない。終わりの始まり。それが、この長い一日の結末だった。
相田健二の視点:帰り道、見慣れたはずの風景
会社の自動ドアが背後で閉まる音が、まるでギロチンの刃が落ちたかのように聞こえた。もう、あのドアを社員として通ることはない。夕方の冷たい風が、火照った頬を撫でる。しかし、体の芯は凍えるように冷え切っていた。
駅までの道は、いつもと同じはずなのに、全く違う景色に見えた。行き交う人々、車のクラクション、商店街の呼び込みの声。その全てが、ガラス一枚隔てた向こう側の出来事のようだ。誰も俺のことなど気にも留めていない。当たり前だ。それでも、すれ違う人々の視線が、全て自分に向けられているような被害妄想に囚われる。
(みんな、俺がクビになったことを知っているんじゃないか…?)
そんなはずはないのに、そう思わずにはいられない。足が重い。アスファルトに縫い付けられているかのようだ。俯き加減に歩く視界の端に、他の会社員たちの楽しそうな帰り道の姿が映る。同僚と談笑しながら歩く人、スマホで誰かと連絡を取り合っている人。彼らには「明日」がある。俺には…ない。羨望と、激しい自己嫌悪が胸を焼く。
駅の喧騒は、さらに俺を孤独にした。改札を通り、ホームへ向かうエスカレーター。周りの人々が、当たり前のように明日もここに来るのだろう。俺は、もうこのラッシュアワーの一部ではない。完全に社会から切り離された存在になったのだ。
ホームで電車を待つ間も、壁際に寄りかかり、ひたすら床を見つめていた。電車が滑り込んできて、ドアが開く。乗り込む人々の波に、ただ流されるようにして車内に入った。
運良く座席が空いていたが、座る気にはなれなかった。ドアのそばに立ち、窓の外を流れる景色をぼんやりと眺める。見慣れた街並み。しかし、その一つ一つが、今は色褪せて見える。まるで、古いモノクロ映画のようだ。
(30分…この電車に乗るのも、今日が最後かもしれないな…)
定期券は、もう必要ない。そんな当たり前の事実に、今更ながら気づく。電車の揺れに合わせて、体が小さく揺れる。ガタン、ゴトンという規則的なリズムが、今はひどく耳障りだ。
周囲の乗客たちの会話が、断片的に耳に入ってくる。仕事の愚痴、週末の予定、家族の話。そのどれもが、今の俺には眩しすぎて、そして痛々しい。ヘッドホンで音楽を聴いている若者、疲れた顔で眠りこけているサラリーマン。彼らの日常が、ひどく羨ましかった。
(家に帰ったら…なんて言おう…)
その考えが、何度も頭をよぎる。妻の顔が浮かぶ。子供たちの笑顔が浮かぶ。彼らを裏切ってしまった。彼らの未来を、俺が台無しにしてしまったのかもしれない。申し訳なくて、情けなくて、涙が込み上げてきそうになるのを、必死で堪える。唇を強く噛みしめた。
あっという間だったような、永遠に続いたような30分が過ぎ、最寄り駅のアナウンスが聞こえた。重い体を引きずるようにして電車を降りる。ホームに降り立った瞬間、ひんやりとした夜風が、少しだけ意識をはっきりさせた。
改札を出て、見慣れた駅前の商店街を歩く。八百屋の威勢のいい声、惣菜屋から漂う美味しそうな匂い。いつもなら、少し心が和むはずの風景が、今はただただ虚しい。
家までの10分の道のりが、これほど遠く感じたことはない。一歩進むごとに、足枷が重くなっていくようだ。住宅街に入り、家々の窓から漏れる暖かい光が目に入る。それぞれの家には、それぞれの家族の団欒があるのだろう。
(俺の家にも…まだ、あるのだろうか…)
自分の家の明かりが見えてきた。その暖かそうな光が、今は恐ろしい。あのドアを開けたら、全てを話さなければならない。妻は、どんな顔をするだろうか。軽蔑されるだろうか。怒られるだろうか。それとも、ただ、悲しむだろうか。
家の前に立ち尽くす。ドアノブに手を伸ばせない。鍵を取り出す指が、震えている。数分間、ただそこに立っていたかもしれない。深呼吸を一つ、二つ。意を決して、鍵を差し込み、ゆっくりとドアを開けた。
「ただいま…」
か細く、掠れた声が、静かな玄関に響いた。これから始まるであろう、最も辛い時間への覚悟を決めて。
相田健二の視点:崩壊する日常、最後の扉
「ただいま…」
掠れた声は、静まり返った玄関に吸い込まれるように消えた。いつもなら、「おかえりなさい」という妻の声と、子供たちの駆け寄ってくる足音がするはずなのに。今日は、何も聞こえない。嫌な予感が、背筋を冷たく這い上がってくる。
リビングへ続くドアが開かれ、妻が立っていた。しかし、その表情に、いつもの温かさは微塵もなかった。眉間に深く刻まれた皺、冷たく据わった瞳。それは、俺が今まで見たことのない、まるで氷のような「邪険そうな顔」だった。彼女の視線は、汚物でも見るかのように俺を捉え、突き刺さる。
「…どうしたんだ?」
かろうじて絞り出した声は、自分でも驚くほど弱々しかった。
妻は何も答えず、ただ顎でリビングのテーブルを指し示した。そこには、見慣れた会社のロゴが入った、厚手の封筒が無造作に置かれていた。開封されている。その瞬間、全身の血の気が引いた。懲戒解雇の通知。会社は、自宅にも送付してきたのだ。妻は、全てを知ってしまった。
「あ…いや、これは…」
何か言い訳をしようとしたが、言葉が続かない。どんな言葉も、この状況では虚しく響くだけだろう。妻の冷え切った瞳が、俺の動揺を静かに観察している。
沈黙が、重く、息苦しく部屋を満たす。時計の秒針の音だけが、やけに大きく聞こえた。
やがて、妻がゆっくりと口を開いた。その声は、怒りや悲しみといった感情すら感じさせない、恐ろしいほど平坦で、冷徹な響きを持っていた。
「今から離婚します」
え…?何を言っているんだ?一瞬、理解が追いつかなかった。頭が真っ白になり、思考が停止する。
妻は、俺の混乱など意にも介さず、淡々と続けた。
「子どもは私が連れて行きます。私と子どもで、実家に戻ります」
「ま、待ってくれ!話を聞いてくれ!」
ようやく声が出た。懇願するような、悲鳴に近い声だった。しかし、妻は首を横に振るだけだった。その瞳には、もはや俺への情は一片も残っていないように見えた。
「話すことなんて、もう何もないでしょう?」
彼女は冷たく言い放った。
「この家は、どうぞ。好きにしてください。私たちにはもう必要ないから」
その言葉は、ナイフのように俺の胸を抉った。家も、家族も、全てを失う。それが、俺が犯した過ちの代償。
「じゃ、さよなら」
妻はそれだけ言うと、俺に背を向けた。リビングの隅には、既にまとめられたスーツケースと、子供たちの小さなリュックサックが見えた。いつの間に準備したのだろうか。彼女の決意は、俺が帰宅するずっと前から固まっていたのだ。
妻は、隣の部屋で静かに待っていた子供たちの手を引き、玄関へと向かう。子供たちは、不安そうな顔で俺を一度だけ振り返ったが、妻に促されるまま、小さな足で歩いていく。俺は、ただ、その場に立ち尽くすことしかできなかった。足が鉛のように重く、一歩も動けない。
玄関のドアが開き、妻と子供たちの姿が外の闇に消える。そして、冷たく、無慈悲な音を立てて、ドアが閉められた。
ガチャン。
その音は、俺の人生の一つの章が、完全に終わりを告げた合図だった。
広いリビングに、一人取り残される。さっきまで妻と子供たちがいたはずの空間は、がらんとして、冷え切っていた。テーブルの上に置かれた、会社からの封筒。そして、妻が言い放った「さよなら」という言葉。それが、今の俺に残された、全てだった。
足元から、ゆっくりと何かが崩れていくような感覚。立っていることすら、もう、限界だった。俺は、その場に、ゆっくりと膝から崩れ落ちた。嗚咽ともつかない、乾いた声が、静まり返った部屋に虚しく響いた。
相田健二の視点:残響と静寂、終わらない夜
ガチャン、と閉まったドアの音は、まるで鼓膜に焼き付いたかのように、いつまでも頭の中で反響していた。広いリビングに、俺は一人、膝から崩れ落ちたまま、どれくらいの時間が経ったのか分からなかった。床の冷たさが、じわじわと膝から伝わってくる。しかし、それすらもどこか遠い世界の出来事のように感じられた。
視界がぼやけている。涙なのか、それともただ焦点が合わないだけなのか。ゆっくりと顔を上げると、がらんとしたリビングが広がっていた。さっきまで、妻と子供たちがいたはずの空間。彼らの笑い声、足音、話し声…それらが幻聴のように聞こえる気がして、耳を塞ぎたくなる。しかし、現実はただ、耳鳴りがするほどの静寂だけが支配していた。
「……」
何かを言おうとしても、声にならない。喉がカラカラに乾いていることに、ようやく気づいた。しかし、キッチンへ向かう気力も湧かない。立ち上がることすら億劫だった。まるで、体中のエネルギーが、あのドアが閉まった瞬間に全て吸い取られてしまったかのようだ。
ふと、壁にかかった家族写真が目に入った。数年前、遊園地で撮ったものだ。満面の笑みを浮かべる妻と子供たち。そして、その隣で、少し照れたように笑っている自分。あの頃は、こんな未来が来るなんて、夢にも思っていなかった。幸せだったはずの記憶が、今は鋭い棘となって胸に突き刺さる。
(俺が…俺が全部、壊したんだ…)
自責の念が、黒い波のように押し寄せてくる。Cursorを使ったこと、Yoloモードに頼ったこと、そして何より、それを隠蔽しようとしたこと。一つ一つの選択が、取り返しのつかない結果を招いた。あの時、正直に話していれば?いや、そもそも、あんなツールに手を出さなければ…?後悔が、ぐるぐると頭の中を駆け巡るが、答えなど出るはずもなかった。
テーブルの上に置かれたままの、会社からの封筒。その白い色が、やけに目に痛い。「懲戒解雇」。その四文字が、俺の人生に烙印を押した。そして、妻の「さよなら」という言葉が、その烙印をさらに深く、焼き付けた。
ソファに、力なくもたれかかる。リモコンを手に取る気力もなく、テレビは黒い画面のままだ。スマホを手に取ってみるが、誰に連絡するというのだろう。親か?友人か?何を話せばいい?
「会社をクビになって、妻と子供に出ていかれた」と?そんな惨めな報告ができるはずもなかった。画面には、ただ、時刻だけが表示されている。時間だけは、残酷なまでに正確に、そして確実に進んでいく。
窓の外が、徐々に暗くなっていくのが見えた。夕日が沈み、街灯が灯り始める。部屋の中も、次第に闇に包まれていく。電気をつける気にもなれず、俺はただ、薄暗がりの中で、ソファに沈み込んでいた。
腹が鳴る感覚もない。喉の渇きも、いつの間にか感じなくなっていた。ただ、深い、底なしの虚無感が、全身を支配していた。
壁の時計が、カチ、カチ、と時を刻む音だけが、やけに大きく響く。それはまるで、俺の人生の残り時間をカウントダウンしているかのようだった。
(これから、どうすればいいんだ…?)
その問いは、あまりにも重く、そして答えが見つからない。仕事も、家族も、住む場所(妻は「どうぞ」と言ったが、ここに一人で住み続ける意味はあるのか?)も、全てが不確かになった。未来は、完全な暗闇に包まれていた。
もう、考えることにも疲れた。瞼が重い。しかし、眠れる気はしなかった。目を閉じれば、妻の冷たい視線、子供たちの不安そうな顔、そして佐々木課長の厳しい声が蘇ってくる。
それでも、体は限界だったのかもしれない。いつの間にか、俺はソファの上で、体を丸めるようにして横になっていた。着替えもせず、風呂にも入らず、ただ、その日のままの姿で。
部屋は完全に闇に包まれ、時計の音だけが響き続ける。俺は、その音を聞きながら、ただ、意識が遠のいていくのを感じていた。眠りにつくのか、それとも、ただ気を失うのか。それすらも、もうどうでもよかった。ただ、この終わりのないような夜が、早く過ぎ去ってくれればいいと、心のどこかで願っていた。がらんとした、ただっ広い部屋の中で、俺は完全に一人だった。
相田健二の視点:束の間の夢、そして覚醒
…カチャカチャカチャ…
軽快なキーボードの打鍵音が響く。目の前には見慣れたデュアルモニター。左にはコードエディタ、右には仕様書のPDFが開かれている。指は、まるで意思を持っているかのように、滑らかにコードを紡いでいく。
「相田さん、ここの仕様なんですけど、ちょっと確認いいですか?」
声のした方を見ると、後輩の山本が少し困ったような顔で立っていた。手には、プリントアウトされた資料を持っている。
「ああ、山本くん。どれどれ?」
俺は、ごく自然に笑顔で応じた。いつもの光景だ。山本の質問に答え、いくつかアドバイスをする。彼は
「ありがとうございます!」
と明るく礼を言い、自分の席に戻っていった。
ふと隣を見ると、田中が難しい顔でモニターとにらめっこしている。
「田中さん、進捗どうです?」
「んー、ちょっとここのバグが厄介でね…相田さん、後でちょっと壁打ち相手になってくれません?」
「ええ、いいですよ。キリがついたら声かけます」
そんな、当たり前のやり取り。フロアには、他の同僚たちの話し声や、電話の応対をする声が混じり合い、活気のある、それでいて集中した空気が流れている。窓からは明るい日差しが差し込み、観葉植物の緑が目に優しい。
(ああ、そうだ。これが俺の日常だ)
胸の中に、温かい安堵感が広がっていく。昨日のシステムトラブル? 隠蔽工作? 懲戒解雇? 妻の冷たい視線? そんなものは、まるで悪い夢だったかのように、記憶の片隅にもない。俺は、開発部のエンジニア、相田健二。ここで、仲間たちと、当たり前の毎日を送っている。
そうだ、今日は定時で上がって、妻と子供たちが待つ家に帰ろう。週末は、どこかへ出かける約束をしていたはずだ。子供たちの笑顔が目に浮かぶ。
安堵感に包まれ、心地よい疲労を感じながら、俺は再びキーボードに向き直った。さあ、もうひと頑張りだ。
…その時だった。
突然、オフィスの蛍光灯がチカチカと点滅し始めた。同僚たちの動きが止まり、さっきまでの活気が嘘のように消え失せる。空気が、急速に冷えていくのを感じた。
(…なんだ?)
違和感が胸をざわつかせる。山本も、田中も、他の同僚たちも、まるでマネキンのように固まっている。そして、彼らの視線が、一斉に俺に向けられた。その目に、温かさはない。冷たく、非難するような、あるいは、憐れむような…
蛍光灯の点滅が激しくなり、視界が歪み始める。キーボードを打っていたはずの指が、空を切る。目の前のモニターが、砂嵐のようにノイズを発し、真っ暗になった。
(違う…これは…)
ゴッ…!
鈍い衝撃と共に、意識が急速に浮上する。
「……っ!」
息苦しさに目を開けると、そこは、見慣れたオフィスの天井ではなかった。薄暗い、自宅のリビングの天井。硬いソファの背もたれが、首に変な角度で当たっていて痛い。体中が、まるで鉛のように重く、軋んでいる。
寝ていた…のか?
ぼんやりとした頭で、状況を把握しようとする。昨日の…そうだ、会社をクビになって、家に帰ってきて、そして…妻と子供たちが…。
「……あ…」
声にならない声が漏れた。夢。さっきのは、都合のいい、ただの夢だったのだ。あの温かい日常は、もうどこにも存在しない。
ひんやりとした空気が肌を刺す。電気もつけず、暖房も入っていない部屋は、完全に冷え切っていた。窓の外は、まだ薄暗い。夜明け前だろうか。
がらんとしたリビングを見渡す。ソファ、テーブル、テレビ…見慣れた家具が、今はただ空虚な空間を埋めているだけのように見える。壁の家族写真が、暗闇の中でぼんやりと浮かび上がっている。その笑顔が、今はただただ、痛い。
喉がカラカラに渇ききっている。そして、腹の底から、重い絶望感がせり上がってくる。夢の中の安堵感が大きかった分、現実の残酷さが、より一層、鋭く胸を突き刺す。
(これから…どうするんだ…俺は…)
答えは、ない。あるのは、失われた日常と、広すぎる静寂、そして、途方もない孤独感だけだった。
俺は、重い体をゆっくりと起こした。軋む体とは裏腹に、頭は妙に冴えわたっていく。そして、昨日の出来事、妻の最後の言葉、閉ざされたドアの音が、鮮明に、何度も何度も、頭の中で再生され始めた。
悪夢は、終わっていなかった。悪夢は、今、この瞬間から、また始まるのだ。俺は、ただ、その場に座り込み、夜明け前の冷たい闇の中で、動けずにいた。
相田健二の視点:ハローワークという現実
冷たい闇の中で、ただ座り込んでいると、思考は容赦なく現実的な問題へと向かい始めた。仕事がない。収入がない。これからどうやって生きていく? その問いに対する、最も直接的で、そして最も見たくない答えが、不意に頭の中に浮かび上がった。
「…ハローワーク…」
その言葉が、まるで異物のように、脳裏に響いた。公共職業安定所。失業者が次の仕事を探すために訪れる場所。その、あまりにも事務的で、無機質な響き。
(俺が…あそこへ行くのか…?)
想像してしまった。番号札を取り、プラスチックの椅子で順番を待つ自分。履歴書と職務経歴書を手に、担当者の前に座る自分。そして、説明しなければならないのだ。「懲戒解雇されました」と。なぜ?「会社の規定に違反し、重大な損害を与える可能性のある行為を…」。その言葉を口にする自分を想像するだけで、胃がキリキリと痛むような感覚に襲われた。
今まで、自分は「雇われる側」ではあっても、社会のセーフティネットに頼るような状況とは無縁だと思っていた。専門職として、技術者として、それなりにプライドを持って仕事をしてきた。それがどうだ。今や、そのプライドはズタズタに引き裂かれ、最も基本的な「職探し」のスタートラインに立たされている。それも、マイナスからのスタートだ。
ハローワークの、あの独特の雰囲気。希望を探しに来る人もいるのだろうが、多くは、俺と同じように、あるいはもっと切羽詰まった状況で、不安と焦りを抱えて訪れる場所。そこに、自分も加わるのか。スーツを着て? いや、どんな顔をして行けばいい? 周囲の視線が、また突き刺さるのではないか。元同僚や、知り合いにでも会ったら…?
いや、それよりもまず、現実的な問題だ。失業保険の手続き。求人情報の検索。しかし、どんな求人があるというのだ? 懲戒解雇されたエンジニアを、まともな条件で雇ってくれる会社などあるのだろうか。年齢も若くはない。新しい技術についていくための勉強も、最近は怠りがちだったかもしれない。Cursorのようなツールに頼ってしまったのも、その表れだったのかもしれない…。
思考は、どんどん暗い方へと沈んでいく。ハローワークという具体的な場所が浮かんだことで、逆に、自分の置かれた状況の厳しさが、より鮮明に、容赦なく突きつけられた気がした。
(行かなければ…ならないんだろうな…いつかは…)
それは、理性では分かっている。生きていくためには、金が必要だ。住宅ローン、生活費、養育費だって、これからどうなるか分からないが、支払い義務がなくなるわけではないだろう。しかし、感情が、体が、それを拒絶している。今はまだ、その一歩を踏み出す勇気も、気力も、全く湧いてこなかった。
ただ、その「ハローワーク」という言葉は、一度浮かんでしまうと、頭から離れなくなった。それは、これから自分が進まなければならないかもしれない、最も可能性の高い、しかし最も屈辱的な道筋を示しているかのようだった。
俺は、再びソファに深くもたれかかった。冷え切った体。空っぽの胃。そして、「ハローワーク」という重い響きだけが、がらんとした部屋の中で、静かに反響していた。夜明けは、まだ遠い。そして、その先に待つであろう現実もまた、重く、暗いものに思えた。
相田健二の視点:カウントダウンされる週末
重い体を起こし、無意識に壁のカレンダーに目をやった。そこには、はっきりと「土曜日」と記されている。そうか、今日は土曜日か…。その事実は、何の慰めにもならなかった。むしろ、新たな重しとなって心にのしかかる。
(土曜日…ということは、役所も、ハローワークも、休みか…)
その考えに至った瞬間、ほんのわずかな、しかし歪んだ安堵感が胸をよぎった。そうだ、今日すぐに行かなくてもいい。あの、想像するだけで気が滅入る場所へ足を運ぶのは、まだ先のことだ。少なくとも、今日と明日は…。
しかし、その安堵感はすぐに、より質の悪い焦燥感へと変わっていった。
(明後日…月曜日からは、開いている…)
まるで死刑執行までのカウントダウンのように、「月曜日」という響きが頭の中で重く反響し始めた。猶予は、たった二日。この週末が終われば、嫌でも現実と向き合わなければならない。失業保険の手続き、求職活動の開始…考えただけで、吐き気がするような手続きが待っている。
本来なら、土曜日は休息の日だ。家族がいれば、どこかへ出かけたり、家でゆっくり過ごしたりしただろう。しかし、今はどうだ? 妻も子供もいない、がらんとした家。仕事もない。やるべきことも、やりたいことも、何も思い浮かばない。ただ、時間だけが、残酷なほどゆっくりと、しかし確実に過ぎていく。
窓の外からは、週末を楽しむ人々の気配が微かに伝わってくる。子供たちの遊ぶ声、車の音、遠くの公園からの賑わい。それら全てが、今の自分とは全く別の世界の出来事のように感じられた。自分だけが、この冷たく静かな部屋に取り残され、時間という名の牢獄に閉じ込められているかのようだ。
(二日間…この家で、一人で、どう過ごせばいいんだ…?)
テレビをつけてみたが、映し出されるのは、楽しそうな週末のレジャー情報や、家族向けのドラマばかり。すぐにリモコンを投げ出すようにして電源を切った。冷蔵庫を開けても、中には妻が買い置きしていたであろう食材が虚しく並んでいるだけ。食欲など、全く湧かなかった。
結局、俺は再びソファに沈み込んだ。ただ、ぼんやりと壁の一点を見つめる。頭の中では、「月曜日」「ハローワーク」「懲戒解雇」「離婚」といった言葉が、ぐるぐると回り続けている。考えないようにしようとしても、思考は勝手にそちらへ向かってしまう。
この二日間は、休息ではない。執行猶予期間だ。何もできず、何も解決せず、ただ月曜日が来るのを待つだけの、拷問のような時間。その時間が、今、始まったばかりなのだ。
部屋の時計の秒針が、カチ、カチ、と無機質な音を立てて進んでいく。その一秒一秒が、月曜日へのカウントダウンのように聞こえて、俺は耳を塞ぎたくなった。しかし、耳を塞いでも、頭の中で響く音は消えない。
(月曜日が、来なければいいのに…)
そんな、叶うはずもないことを、心の底から願っていた。しかし、現実は非情だ。週末は必ず終わり、月曜日はやってくる。その時、自分はどうなっているのだろうか。ハローワークのドアを開けることができるのだろうか。
答えの見えない問いだけが、冷え切った部屋の中で、俺の心を締め付け続けていた。
相田健二の視点:逃避の拒絶
時間だけが、ただただ重く過ぎていく。何か…何か気を紛らわせるものはないか。この、息が詰まるような静寂と、頭の中で反響し続ける絶望的な言葉の群れから、ほんの一瞬でも逃れたい。
ふと、自室の隅に置かれたパソコンが目に入った。そうだ、ゲームでもすれば…少しは忘れられるかもしれない。以前、夢中になってプレイしていた「二ノ国II レヴァナントキングダム」。あの美しいファンタジーの世界に没頭すれば、この惨めな現実から一時的にでも逃避できるのではないか。
わずかな希望を胸に、重い腰を上げてパソコンデスクに向かう。電源を入れ、OSが起動するのを待つ。モニターが明るくなり、見慣れたデスクトップ画面が表示された。マウスに手を伸ばし、ゲームのアイコンを探す。
「あった…」
二ノ国IIの、色鮮やかなアイコン。それをクリックしようとした、まさにその瞬間だった。
視界の端に、別のアイコンが飛び込んできた。それは、見慣れてしまった、しかし今は忌まわしい記憶と直結している、あの白いカーソルの形のような三角のロゴ。
Cursor。
その文字とロゴを見た瞬間、心臓が嫌な音を立てて跳ね上がった。全身の血の気が引くような感覚。背筋に冷たい汗が流れる。
(これだ…これが、全ての始まりだったんだ…)
Cursor。業務効率を上げたい一心で、安易に手を出してしまった外部AIツール。最初は便利だと感じていた。しかし、Yoloモードの暴走、そしてそれを隠蔽しようとした自分の愚かな判断…。それが、システムトラブルを引き起こし、会社に損害を与え、そして俺の人生を根底から破壊した。
デスクトップに鎮座するそのアイコンは、まるで嘲笑うかのように、俺の過ちを突きつけてくる。楽しかったはずのゲームの世界への扉を開こうとした、そのすぐ隣で。
「ふざけるな…!」
思わず、声にならない声が漏れた。マウスを握る手が、怒りと後悔で震える。二ノ国IIのアイコンをクリックする気力など、もうどこにも残っていなかった。気晴らし? 逃避? そんなものが許されるはずがない。このCursorのアイコンが、デスクトップにある限り。いや、俺の記憶から消えない限り。
俺は、衝動的にマウスを叩きつけそうになるのを、必死でこらえた。代わりに、力なく手を下ろし、椅子に深くもたれかかる。
(消さなければ…アンインストールしなければ…)
そう思うのに、体が動かない。このツールを使った事実、それによって引き起こされた結果は、アンインストールしたところで消えるわけではないのだ。
パソコンのモニターが、ただ明るく光っている。その光が、今はやけに目にしみた。ファンタジーの世界への逃避すら、今の俺には許されない。Cursorのアイコンは、俺が犯した罪の象徴として、そして、逃れられない現実の証として、静かに、しかし圧倒的な存在感で、そこにあり続けていた。
結局、俺はパソコンの電源ボタンを長押しして、強制的にシャットダウンした。再び部屋に静寂が戻る。しかし、先ほどまでの静寂とは違う。Cursorの残像が、そしてそれが呼び起こした忌まわしい記憶が、より一層、俺の心を蝕んでいた。
気晴らしをしようとしたこと自体が、間違いだったのかもしれない。今の俺には、ただこの苦しみと向き合うしか、道はないのだろうか。
俺は、再びリビングのソファへと、力なく戻っていった。
相田健二の視点:追い打ちをかける通知
パソコンから離れ、再びソファに沈み込んだものの、頭の中の喧騒は収まらない。Cursorのアイコンの残像が、まぶたの裏に焼き付いているようだ。何か、別のことを考えなければ…。そうだ、スマホ。
ポケットからスマートフォンを取り出す。画面は真っ暗だ。指で触れると、ロック画面が表示された。特に目的があったわけではない。ただ、手持ち無沙汰を紛らわしたかっただけかもしれない。
(そういえば…ワールドコイン、どうなったかな…)
以前、興味本位で登録したワールドコイン。虹彩認証で受け取れるという、少し変わった仮想通貨。ほんのわずかな金額にしかならないことは分かっていたが、それでも、何か価値のあるものを確認することで、この虚無感を少しでも埋め合わせられるかもしれない。そんな淡い期待があった。
アプリのアイコンを探そうと、画面をスワイプした、その時だった。
画面上部に、ポップアップ通知が表示された。それは、見慣れたニュースアプリからのものだった。
「Life Hacker:Cursorで業務効率化を図ろう!最新AIツールの活用術」
その文字列が目に飛び込んできた瞬間、息が止まった。心臓が、今度こそ口から飛び出すのではないかと思うほど激しく脈打つ。
(な…なんで、今、このタイミングで…!)
Life Hacker。業務効率化。Cursor。
まるで、俺の状況を嘲笑うかのような言葉の組み合わせ。俺がまさに、その「業務効率化」を求めてCursorに手を出し、そして全てを失ったというのに。世間では、今もこうして「便利なツール」として紹介されているのか。
スマホを持つ手が、わなわなと震えだした。画面に表示されたその通知が、まるで悪意を持って俺を追い詰めてくるように感じられる。なぜ、俺が最も見たくない情報が、こうも的確に、最悪のタイミングで現れるんだ?
(ああ、そうか…以前、Cursorについて調べたからか…? ネットの履歴か何かで、関連ニュースとして…)
原因を推測しても、何の慰めにもならない。むしろ、自分の過去の行動が、今になって自分自身を苦しめる呪いとなっている事実に、吐き気すら覚えた。
ワールドコインを確認する気など、完全に失せていた。それどころか、スマホの画面を見ていること自体が苦痛になってきた。この小さな板状のデバイスは、便利な情報端末であると同時に、時として残酷な現実を容赦なく突きつけてくる凶器にもなり得るのだ。
俺は、衝動的にスマホをソファの向こうへ放り投げた。鈍い音を立ててクッションに埋まるスマホ。画面にはまだ、あの忌まわしい通知が表示されているのかもしれない。
パソコンもダメ、スマホもダメ。どこにも、安らげる場所はない。気を紛らわせようとすればするほど、俺を打ちのめした「Cursor」の影が、まるで亡霊のように付きまとってくる。
(もう、何もするなということか…? ただ、この苦しみに耐えろと…?)
部屋の静寂が、先ほどよりもさらに重く感じられた。外の世界の喧騒は遠のき、ただ自分の荒い呼吸と、激しく打つ心臓の音だけが、やけに大きく耳に響く。
逃げ場はない。どこまでも、どこまでも、自分の犯した過ちの影が追いかけてくる。その事実を、スマホの通知は、冷酷に、そして決定的に、俺に突きつけていた。
(完)
コメント