ハルカがブルー・ノートに来たのは、土曜日の午後三時だった。平日の深夜に比べると早い時間帯で、透が旧共同溝の階段を下りたとき、ハルカは既にカウンターの上にノートパソコンを三台並べていた。三台ともファンが回っていて、地下の静寂の中にかすかな電子音が響いている。棒付きキャンディはグレープ味。いつもと同じだ。 地上では午後の陽射しが商店街のアスファルトを白く焼いていたが、ここは別世界だ。コンクリートの壁が外気を遮断し、空気には錆びた配管と古いレコード盤の匂いが混じっている。透の耳鳴りは階段を十段下りるごとに薄くなり、最下段に着く頃にはほとんど消えていた。地上の情報圧が届かない場所。透の鼓膜だけが、その境界を正確に知っている。
「来た。見て」
ハルカが画面を指差した。挨拶も説明もない。ハルカの会話にはいつも前置きがなく、結論から始まる。透はそれに慣れていた。三ヶ月前に初めて会ったときは面食らったが、今は「ハルカが指を差したら画面を見る」というプロトコルが体に染みついている。
画面には表とグラフが並んでいた。縦軸にタイムスタンプ、横軸にAPIコールのパラメータ。数千行のログデータが色分けされていて、特定のパターンが赤で強調されている。
「三週間かかった。エンリングのレコメンドエンジンに外部からパラメータを注入しているアカウントを特定した。APIのコールパターンに独特の癖がある。リクエストの間隔が0.7秒の倍数。普通のバッチ処理なら1秒か0.5秒の倍数になるけど、0.7は人間の手動操作のリズムに近い。自動化ツールを使いつつ、最終的なパラメータ調整を手動でやってるタイプ」
透には半分も分からなかった。ハルカの説明を聞いている間、透の耳の奥で微かなパルスが明滅した。データの話をされると反応する——最近の耳鳴りにはそういう傾向がある。情報の密度が上がると、鼓膜の奥が共鳴するように震える。だが「手動でやっている」という部分だけは引っかかった。システム全体を自動で動かしているのではなく、最後の匙加減を人の手で行っている。つまり犯行者がいる。特定の一人の人間が、レコメンドエンジンの挙動を意図的にコントロールしている。
「アカウントの権限レベルは最上位。エンリングの管理者権限。入社時期は2019年——創業期のメンバーだ」
飛羽がカウンターの奥から出てきた。コーヒーカップを二つ手に持っている。一つを透の前に、もう一つをハルカの前に置いた。だが飛羽自身はカップを持たなかった。両手が空いたまま、ハルカの画面を見ている。
「社員IDは突き止めた?」
「ある。紐づいてる名前も」
ハルカがキーボードを叩いた。画面が切り替わる。社員データベースの一部——おそらくハルカが不正にアクセスしたもの——が表示された。社員IDの横に、名前がある。
透には読めない名前だった。知らない人物だ。だが飛羽の顔色が変わった。
飛羽は普段、表情を変えない男だ。怒っているときも、説明しているときも、コーヒーを淹れているときも、同じ温度の顔をしている。その顔が、今、明確に動いた。目が見開かれた。口元が引き締まった。顎の筋肉が動いた。
「……あいつか」
声は低かった。怒りではなく、確認の声だった。予想の範囲内だったが、確認するまで信じたくなかった——そういう声だ。
「知ってる人?」とハルカが訊いた。
「知ってる。昔、同じチームにいた」
透は飛羽を見た。カウンターの照明が飛羽の横顔に硬い影を落としている。飛羽の視線は画面の名前に固定されていて、透のほうを見なかった。「同じチーム」。飛羽がエンリングの関係者だったという疑念は、透の中で以前から育っていた。飛羽の知識は外部の人間にしては詳しすぎる。アルゴリズムの挙動を予測できるのは、設計思想を知っている人間だけだ。
だが透はそれを口にしなかった。飛羽が話す準備ができたときに話すだろう。今はその時ではない。飛羽の顔がそう言っていた。
透はコーヒーカップに手を伸ばしたが、飛羽の反応が気になって口に運べなかった。この男の過去に、今見せられた名前が深く食い込んでいる。飛羽が普段の無表情を取り戻すまでに五秒かかった。五秒。飛羽にとっては長い時間だ。
ハルカはその五秒を黙って見ていた。棒付きキャンディの棒を口の中で回す音だけが聞こえていた。ハルカもまた、飛羽の反応から何かを読み取っている。この二人は透より長い付き合いだ。透が知らない文脈が、二人の間にはある。
「ログのパターンをもう少し詳しく見せてくれ」と飛羽が言った。声は平静に戻っていた。だがコーヒーカップを持たない両手の指先が、わずかに白くなっていた。力が入っている。透はそれを見ないふりをした。
ハルカがキーボードを叩き、時系列のグラフを拡大した。横軸が十一月の日付で、縦軸がパラメータ注入の頻度。グラフは右肩上がりだった。キャンペーン発表の十一月五日から急激に増加し、高木のアカウントが停止された八日にスパイクがある。その後も増加傾向が続いていて、直近の数日間は一日あたりの注入量が倍増している。
「加速してるでしょ。あと、注入パターンに時間帯の偏りがある。深夜二時から四時に集中してる。オフィスが静かな時間帯に手動調整してるんだと思う」
「そいつの癖だ」と飛羽が言った。「昔からそうだった。深夜にしか集中できないと言ってた」
透は飛羽の横顔を見た。「昔から」。飛羽はこの人物の作業習慣まで知っている。同じチームで一緒にコードを書いていたのだろう。深夜のオフィスで、隣のデスクに座って。
「このアカウント、今も活動中?」
「うん。直近二十四時間以内にもパラメータ注入がある。頻度が上がってる。キャンペーンの署名率が98%に近づいた直後に、注入量がスパイクしてる」
「残り2%を潰しにかかってる」
透の胸がざわついた。耳鳴りが一瞬だけ鋭くなり、すぐに引いた。地下にいてもこの反応が出るということは、透自身の不安が耳鳴りを増幅しているのかもしれない。残り2%。自分はその2%の一人だ。署名していないのは透だけではないだろうが、透のクラスでは透だけが残っている。アルゴリズムの視点で見れば、透は「排除すべき異常値」だ。
「この人物が調律師のパラメータを手動調整してるなら、止める方法はありますか」
透が訊くと、飛羽がようやく画面から目を離した。透を見た。目の奥に、先ほどの「確認」とは違う感情がある。決意に近い何かだ。
「ある。だが、まず俺の話を聞いてもらう必要がある」
「話?」
「俺が何者で、なぜこのシステムを知っているのか。お前が聞きたがっていたことだ」
透は息を止めた。飛羽がようやく語る気になった。それが良いことなのか悪いことなのか、透にはまだ分からなかった。
「今日は遅い。明日の夜、ここで話す」
飛羽はそう言って、カウンターの奥に戻った。レコードの針を落とす。針が溝に触れた瞬間、かすかなノイズが走り、それからコルトレーンのサックスが立ち上がった。低く、太く、地下のコンクリート壁に反響して空間を満たす。透の耳鳴りとは正反対の音だった。耳鳴りが意味のない圧力なら、この音楽は意味を持った振動だ。
透はコーヒーを飲んだ。苦い。液体が喉を通るとき、舌の奥にかすかな酸味が広がった。だが味覚が少しだけ戻っている気がした。教室ではずっと鈍っていた感覚が、この地下の空間では鋭さを取り戻す。汚染の外にいるからだろうか。それとも、飛羽やハルカと一緒にいるからだろうか。