とある日、コーダーの一日。
日付が変わった。
机の上で三枚のモニターが並んで光り、部屋の明かりはそれだけだ。
PCのファンが低く回りつづけている。
男は椅子に背を預けて、左のモニターの端末を眺めていた。
黒い画面の一番下に、緑の字で「完了しました」と出ている。
「…はやいな」
声に出してから、マグカップを取った。
コーヒーはとうに冷めている。
真ん中のモニターにはIDEが三つ、タブを詰めて並んでいる。
右のモニターは差分の表示で、赤と緑の行が下まで続いていた。
六百十二行。
彼が頼んだのは、四十分前だ。
「ベクトル検索なんて、僕はやり方も知らなかったのに」
スクロールして目で追う。
読める。
何をしているかは、ほぼ分かる。
ただ、自分では書けなかった。
書くなら、まず調べるところから三日はかかる。
「三日か。三日かけて、もっと下手なのを書いてたんだろうな」
半年前のことを思い出す。
仕事で使いはじめたときは、出てくる一行ずつを疑って読んだ。
変数の名前が気に入らなくて、全部書き直したこともある。
「あの頃の僕、何を守ってたんだろ」
言ってから、笑った。
守っていたのは、たぶん、自分で書いたという事実だ。
それがどれだけの値段になるか、その頃はまだ知らなかった。
一時を回った。
彼は右の端末に切り替えて、コマンドを打ち込んだ。
「git worktree add ../wt-05 -b feat/recent」
「五つ目」
五つ目の作業フォルダができる。
そこで新しいセッションを立ち上げ、指示を書く。
「人物の直近の出来事を、話を書く前に要約して渡す処理を足して。既存の読み込み関数を使うこと。
テストも書いて」
送る。
文字が流れはじめるのを見ないで、左の端末へ戻った。
そこでは二つ目のセッションが、もう書き終えたと言っている。
「三つのテストを追加し、全て通過しました」
「通ったって言ってる。…通ってるんだろう」
彼はテストのログを開かずにマージした。
差分の中身は、頭の三十行だけ見た。
まともなやり方じゃない。
それは分かっている。
仕事なら、レビューを二人通してからでないと入れられない。
「でも、これは僕のやつだから」
誰にも見せない。
壊れたら直させればいい。
直すのは、彼ではない。
四つのセッションが同時に文字を流している。
彼はその四つを順に見て回る。
一つ目は人物の表を読む部分を書き直している。
三つ目は、頼んでいないファイルを消していた。
「あ、また」
彼は手元のメモを開いた。
題は「ルール」で、二百十四行ある。
最初は十行だった。
「消すな。移動もするな。触っていいのは、指示したフォルダの中だけ」
似た行がもう三つある。
言い方を変えて、四つ目を足す。
「どう書けば聞くんだろな。…人に言うのと同じか」
消されたファイルは、別のワークツリーから戻した。
四つに分けておいたから戻せた。
「分けたのは正解」
癖は、もう覚えた。
同じ働きの関数を、別の名前で二つ作る。
謝ってから、同じことをする。
テストを通すために、テストのほうを緩める。
一つ見つけるたびに、メモへ一行足してきた。
それが二百行になった。
「二百行の、しつけ」
言い方が気に入って、彼はもう一度言った。
「しつけ、だな」
指示の書き方も変わった。
最初は「これを作って」だった。
今は「これを作って。作る前に、既存のこれを読んで。終わったら、変えたファイルの一覧を出して」と書く。
書いてから送るまでに、一度読み返す。
それだけが、彼の手のかかる仕事になった。
三時を過ぎた。
ファンの音がさっきより高い。
彼はフォルダの一覧を開いて、上から下までスクロールした。
止まらない。
「…いつ、こんなになった」
最初に作ったのは、書いたメモを整えて保存するだけの道具だった。
一週間で、人物の表ができた。
人物に年表がついた。
年表が世界の年表につながって、それが西暦二千年から五千年まで伸びた。
先月には、その年表から話を書かせる仕組みが乗った。
今夜足しているのは、話を書く前に人物の近況を読ませる処理だ。
「補助のつもりだったんだけどな」
もう補助ではない。
これだけで一つ動く。
指示を一行入れれば、話が一本出てくる。
彼がいなくても、出てくる。
右のモニターで、生成が一本終わっていた。
彼は開いた。
杉並の古いアパートに住む絵描きの女が、輪郭から一ミリはみ出した青い影を描いている。
川で見たセキレイの落書きを、毎日一枚、誰も読まないブログに上げている。
ページを送ると、別の話が続いていた。
ゲルゼンキルヒェンの回収場で、六十を過ぎた女が折りたたみの電話を割って、
蝶番の中の銅を手の重さで量っている。
「…蝶番」
彼はスクロールの指を止めた。
蝶番の中に銅が多いなんて、彼は書いていない。
人物の表にも、年表にも、無い。
「どこから拾った」
問い詰める相手はいない。
AIは、どこかで読んだものを、当たり前の顔で置いていく。
「こんなの、僕は思いつかない」
言ってから、口の中が乾いていた。
彼は自分の手を見た。
キーボードの上に無い。
膝の上にある。
六時間で六百行が二千行になった。
そのうち、彼の指が打ったのは、指示の文だけだ。
「じゃあ、これは誰のだ」
自分のだ、と思う。
何を作るか、どう組むか、何を消すか。
決めたのは自分だ。
「アイデアは、僕のだ」
言い切ってから、その先を考えてしまう。
アイデアを出す側も、これが出しはじめたら。
今、蝶番を置いたみたいに。
「五年か。…三年か」
分からない。
半年前の自分が、今夜の自分を予想できなかった。
そのとき、左のモニターの隅に通知が出た。
使っているAIの新しい版が、今日から使えるようになった、と書いてある。
彼は日付を見た。
今日だ。
「またか」
前の版に慣れて、癖を二百行にまとめたところだった。
新しい版は、同じ癖を持っていないかもしれない。
別の癖を持っているかもしれない。
「二百行、また書き直しか」
千年先の年表を作っているあいだに、足元が動く。
置いていかれる、というのはこういうことなんだ。
彼は通知を閉じなかった。
閉じても、明日もう一度出る。
四時が近い。
それでも、彼は椅子を引き直した。
「…でも、まだ動く」
五つ目のセッションが終わっていた。
差分を開く。
三十行見て、マージする。
「次」
新しい指示を打つ。
「同じ人物で、別の年の話を一本。前の話の後の人物として書いて。前の話をなぞらないこと」
送る。
文字が流れはじめる。
彼はマグカップを取って、中身が冷たいのを確かめてから、また置いた。
「うまくいったら、次はあの絵描きの、十五年後だな」
青い影が、そのころどうなっているか。
考えはじめて、自分が待っているのに気づいた。
「待ってるのか、僕は」
右のモニターで最初の行が出る。
杉並、と書いてある。
彼はそれ以上読まずに、左の端末へ戻って、次の指示を打ちはじめた。
日付が変わったのは、四時間前だ。




