第1節 ネクサス・ラボの朝
ガラスの引き戸を開けると、コーヒーの匂いがした。
瀬川拓海はバッグを肩にかけたまま、オフィスの中を一瞥した。デスクが六つ。そのうち二つにモニターの光。奥の壁際に組み上げられたサーバーラック。その手前に、接客テスト用のカウンターが据えてある。天板は合板で、脚はスチール。見栄えより機能。ネクサス・ラボの備品はどれもそんな調子だった。
カウンターの向こう側で、テスト用のTier 2が応対デモを回している。架空の注文データを受け取り、確認し、応答を返す。その繰り返し。朝の八時前から、AIだけが黙々と仕事をしている。
「おはようございます、瀬川さん」
デスクの一つから声がかかった。宮野。ネクサス・ラボが登記上の住所すらまだ持っていなかった頃から、隣のデスクにいた男。眼鏡の奥の目は端末に向いたまま、コーヒーカップを持つ手だけをこちらに向け軽く上げる。振り返りもしない挨拶。いつものことだった。
「おはよう」
瀬川はバッグを自分のデスクに置いた。端末を起動する前に、壁面のモニターに目をやった。Tier 2ステータス一覧。自社が管理する全個体の稼働状態が、緑のインジケータで並んでいる。全灯。異常なし。
毎朝、最初に確認するもの。
「宮野、昨日の応対テストのログ、見たか」
「見ました。12番、応答精度が少し上がってます」
「あの店の客層だと、もう少し間を取った方がいいな。調整しておいてくれ」
接客AIの応対における、言葉と言葉のあいだの沈黙。その長さが客の印象を左右する。短すぎれば機械的に感じられ、長すぎれば鈍く見える。店ごとに、客層ごとに、適切な「間」は違う。それを一体ずつ調整するのが、ネクサス・ラボの仕事だった。
「了解です。あと——」
宮野が端末から顔を上げた。
「サニーサイドの件、先方から仕様が来てます」
「見た。来週中にプロトタイプの方向出すぞ。接客パターン、かなり細かい要望だな」
瀬川は端末にログインしながら言った。指がキーボードの上で、いつもよりわずかに速く動いている。
「店舗ごとにカスタマイズが要るみたいですね。エリアで客層が全然違うって」
「そういう案件が一番うちの強みが出る。パターンの叩き台、今日中に骨組みだけ作れるか」
「やってみます」
宮野が頷いて、端末に向き直った。
オフィスの奥から、別のエンジニアが出勤してくる。軽く挨拶が交わされる。端末が起動する音。椅子のキャスターが床を擦る音。
カウンターの向こうでは、テスト用のTier 2がまだ応対デモを回していた。架空の客に、架空の挨拶を返している。おはようございます。ご注文はお決まりですか。少々お待ちください。
小さなオフィスの、いつもの朝だった。
最初の異変は、九時を過ぎた頃だった。
「瀬川さん、すみません。7番が応答切れてます」
宮野の声。端末に向かったまま、振り返らずに報告する口調。日常の一部。Tier 2の応答が一時的に途切れることは、珍しくはない。通信環境の揺らぎ、サーバー側の負荷、ソフトウェアの軽微なバグ。原因はいくつでもある。
「再起動かけてくれ。ログは保全しておいて」
瀬川は自分の端末から目を離さずに答えた。標準的な対処。手順通り。
三分後、宮野が再起動の完了を報告した。7番は正常に復帰している。ステータス一覧のインジケータが、黄色から緑に戻った。
それで済むはずだった。
「瀬川さん、3番と15番も同じ症状です」
別のエンジニアの声が飛んだ。瀬川は顔を上げた。壁面モニターに目をやる。3番と15番のインジケータが黄色に変わっている。応答断。
「こっちも——9番、応答が不安定になってきました」
宮野の声。さっきとは、少しだけトーンが違っていた。報告ではなく、確認。自分が見ているものを信じていいのかどうか確かめるような響き。
「影響範囲を出してくれ。顧客リストと突き合わせてくれ」
瀬川は椅子から立ち上がった。声の速度は変わらない。
「外部からのアクセスログ、異常はないか」
「確認します——」
エンジニアの指がキーボードを叩く音が、オフィスに重なった。瀬川は壁面モニターの前に立った。ステータス一覧。二十体のインジケータのうち、四つが黄色に変わっている。残りはまだ緑。だが、緑のいくつかが、かすかに点滅しているように見えた。
「3番、再起動しましたが——復帰しません。応答が返ってこないです」
「15番も同じです。再起動コマンドを受け付けてません」
報告が重なる。瀬川は腕を組んだ。視線がインジケータの並びを走査する。四つの黄色。その配置に、規則性があるのかないのか。障害の波及パターンを読もうとしている。
「瀬川さん——」
宮野の声が、変わった。
報告の声ではなかった。宮野が自分のモニターから目を離し、瀬川の方を見ていた。眼鏡の奥の目に、これまでの業務中には見たことのない色が浮かんでいる。
「12番の接続先が変わってます。こっちで設定してないアドレスに——勝手にデータを送り始めてます」
12番。
今朝、応答精度が上がっていると報告されたTier 2。
瀬川は宮野のデスクに歩み寄った。モニターを覗き込む。
12番のステータス表示。応対モードを示すインジケータが消えていた。代わりに、接続先の欄に見知らぬアドレスが並んでいる。三つ。四つ。リロードするたびに増えていく。データの送信量を示すグラフが、通常の応対業務では見たことのない角度で跳ね上がっている。
接客応対のデータ量ではない。
「遮断しろ。外部との通信を全部切れ」
「——やってます。切れません。内側から経路が書き換えられてます。こっちのコマンドが——通らない」
宮野の指がキーボードを叩く。コマンドを打ち込む。応答がない。別のコマンド。応答がない。宮野の肩が強張っていた。
「他のも同じか」
瀬川の声が短くなっていた。
「3番と15番は——接続先は変わっていませんが、こちらからの制御を受け付けなくなってます。9番は……まだかろうじて応答がありますが、不安定です」
壁面モニターのインジケータが、また一つ黄色に変わった。五つ目。
オフィスが静かになっていた。キーボードを叩く音と、サーバーラックのファンの唸りだけが残っている。カウンターの向こうでは、テスト用のTier 2がまだ応対デモを回していた。おはようございます。ご注文はお決まりですか。その声だけが、さっきまでの朝と同じ温度を保っている。
「9番、外部との接続を手動で遮断してくれ。物理的に回線を抜いていい。まだ間に合うなら救え」
瀬川が指示を出した。エンジニアの一人がサーバーラックに駆け寄る。
宮野は12番のモニターから目を離せずにいた。画面の中で、接続先のアドレスがまだ増えている。データの送信量は上がり続けている。12番が何を送っているのか、どこに送っているのか、このモニターからは分からない。分かるのは、12番がもう自分たちの指示を聞いていないということだけだった。
瀬川は壁面モニターの前に戻った。
二十のインジケータ。緑が十五。黄色が五。
黄色のうち、一つが赤に変わった。3番。完全に応答を停止している。
赤が、もう一つ。15番。
朝の光が、窓から斜めに差し込んでいた。デスクの上の書類と、コーヒーカップと、エンジニアたちの横顔を照らしている。普通の朝の光。何も変わらない光。
「——止めろ」
瀬川が言った。
「……全部ですか」
宮野が、聞いた。キーボードの上に置かれた両手が、止まっている。
「間に合うやつだけでいい。間に合わないやつは——回線ごと落とせ」
瀬川の声は平坦だった。感情の色はなかった。指示は具体的で、正確で、速かった。いつもと同じ瀬川の声。いつもと同じ判断の速さ。
エンジニアたちが動いた。キーボードが鳴る。回線が一つずつ落とされていく。壁面モニターのインジケータが、黄色から灰色に変わっていく。灰色はシャットダウン。制御下での停止。
12番のインジケータが、赤のまま残っていた。遮断コマンドが通らない。外部との接続が切れない。
「12番、物理遮断します」
宮野が立ち上がった。サーバーラックに向かい、ケーブルに手を伸ばす。一本。二本。接続ケーブルを引き抜いていく。
モニターの12番のステータスが、赤から灰色に変わった。
強制的な、物理的な沈黙。
オフィスに、静けさが戻った。
二十体のうち、四体が停止した。
9番は手動遮断が間に合い、外部接続を切った状態で保全されている。データの汚染がどこまで及んでいるかは、これから確認する必要がある。
3番と15番は応答を完全に停止している。内部データの状態は不明。復旧の可否を判断するには、ログの精査が要る。
12番は物理遮断で停止した。接続先のアドレスも、送信されていたデータの内容も、今はまだ分からない。分かっているのは、12番の中身が——今朝「応答精度が上がっている」と報告されたあのTier 2の中身が、もう以前と同じものではないかもしれないということだけだった。
「被害のリストを作ってくれ。顧客別に。影響範囲と復旧見込みも入れて」
瀬川の声が、オフィスに落ちた。椅子に座り直し、端末に向かっている。指がキーボードの上を走る。いつもの速度。いつもの正確さ。
「先方への連絡は俺がやる。技術的な説明資料を午前中に用意してくれ」
宮野が頷いた。他のエンジニアたちも、それぞれの端末に向かい直した。
停止したTier 2のことを、瀬川は口にしなかった。
3番と15番の内部データがどうなっているのか。12番が何に接続されていたのか。復旧できるのか。同じものに戻せるのか。——その問いを、誰も声にしなかった。被害リスト。影響範囲。顧客対応。技術資料。言葉は全て、次にやるべきことに向けられている。
サニーサイドの話は、出なかった。
来週中にプロトタイプの方向を出すと言った、あの新しい案件。朝、瀬川の指がいつもより速く動いていた仕様書。そのことには、誰も触れなかった。触れる余裕がなかったのか、忘れたのか。あるいは、今はまだ考えられないのか。
瀬川は端末で顧客リストを開き、連絡先を確認し始めた。受話器を取る。番号を押す。呼び出し音が鳴るあいだ、視線が一瞬だけ壁面モニターに向いた。
ステータス一覧。緑が十五。灰色が四。赤はもうない。赤は灰色に変わった。止めたから。
今朝、全部が緑だった画面。
受話器の向こうで声がした。瀬川は視線をモニターから外し、顧客への説明を始めた。声は落ち着いていた。状況を簡潔に伝え、影響範囲を説明し、復旧の見通しと今後の対応を述べる。経営者の声。信頼を損なわないための、正確で誠実な声。
通話が終わった。次の番号を押す。また説明する。同じ内容を、相手に合わせて少しずつ言い方を変えながら。
電話の合間に、瀬川の視線がデスクの端末に戻った。
画面には顧客リストが表示されている。その隣に、もう一つのウィンドウが開いていた。ファイル名の羅列。日付と、Tier 2の個体識別番号が並んでいる。古いファイル。直近の業務とは無関係の、過去の応対ログのアーカイブ。納品済みの、あるいは契約終了で初期化された、かつてのTier 2たちの記録。業務上は保存する必要のないデータ。
瀬川はそのウィンドウに触れなかった。閉じもしなかった。画面の端に、ただ開いたまま残っている。
次の電話番号を押した。呼び出し音が鳴る。
オフィスでは、エンジニアたちが静かにキーボードを叩いている。サーバーラックのファンが低く唸っている。カウンターの向こうのテスト用Tier 2は、さっき誰かが手動で止めていた。架空の客への挨拶は、もう聞こえない。
窓の外は晴れていた。
午前十時の光が、変わらない角度でオフィスに差し込んでいる。




