megamouthの葬列

長い旅路の終わり

令和八年卒のデスゲーム

入社式は四月の第一月曜日に行われた。

本社ビルの十二階にある大会議室には、今年入社した二十三名が並んで座っていた。新品のスーツは全員微妙にサイズが合っていない。今思えば私の隣には高木がいた。その向こうに間宮さんがいた。私の斜め前には山本がいた。

社長の挨拶が終わり、役員紹介が終わり、人事部長が演台に立った。五十代で、頭頂部が薄く、しかし不思議と隙のない男だった。おそらく私たちと同じスーツを着ていたはずなのに、随分様になっていた。細々とした規則について説明する時も、表情を変えず、朗々としていて、何かの聖典を読み上げているような様子ですらあった。新入社員二十三名が、示し合わせたように姿勢を正した。私もそうした。

「最後に一点だけ」

と人事部長は言った。

「これよりデスゲームを開始します」

言って、壇上を降りた。誰も笑わなかった。人事部長の表情も変わらなかった。私たちは互いの顔を見た。それから全員、前を向いた。

*

新人研修は四泊五日で、場所は三重県の山の中にある研修所だった。

建物は二十年以上前に建てられたらしく、廊下の蛍光灯は半分が切れていた。私たちは六人部屋に押し込まれ、荷物を置く間もなくホールに集められた。講師は四十代の男で、ネクタイを首の付け根まで締め上げていた。名前は言わなかった。

「これから五日間、諸君に社会人としての基礎を叩き込む」

私の隣に座った高木が、小声で「基礎って何ですか」と囁いた。言われて見れば私にはわからなかった。

初日は座学だった。会社の理念と、フィロソフィーと、創業者の生い立ちについて、六時間かけて学んだ。フィロソフィーは七つ、創業者の格言は30ほどあり、その一つ一つを丸暗記しなければならなかった。夜は暗唱テストがあり、全員が合格するまで終わらなかった。私たちが部屋に戻ったのは日付が変わってからだった。

給湯室に紙が貼ってあった。「現在の生存者数:23名」と書いてあった。

二日目の朝五時、起床を告げるベルが鳴った。

私たちはジャージに着替えてグラウンドに集合した。外は暗く、草が露で濡れていた。講師はマイクを持って立っていた。

「これより伊勢神宮まで走る」

誰かが「え」と言った。ここかから伊勢神宮まで、100キロ以上はある。

「もちろん全員で走るわけではない。バスで移動しながら、走れる区間を一人あたり五キロずつ走ってもらう。リレー形式だ。到着は深夜になる見込みだ」

なるほど、と私は思った。意味はわからなかったが、なるほどと思った。

一人目のランナーが走り出した。しばらくバスが並走して、私たちは講師の指示で大声を上げて応援した。車が来てバスは走り出した。ランナーは置き去りになって、やがて見えなくなった。

出発してから三時間ほどたった頃、高木の番が来た。高木は走りながら、隣を走っていた講師に話しかけた。後から聞いた話では、こう言ったらしい。

「これと業務に何の関係があるんですか」

その場では何も起きなかった。高木は五キロを走り切り、バスに戻り、私の隣に座って水を飲んだ。

「言っちゃいましたよ」と高木は言った。

「見てました」と私は言った。

夜になってもバスはゆっくりと走っていた。山本が声を枯らして「がんばれ」と叫んでいる。誰も彼と話しているのを見たことがなかったから、私は意外に思った。高木はそれを冷めた目で見ている。

伊勢神宮に到着した時には夜が白み始めていた。私たちは閉じられた門を呆然と見上げると、そのあたり所在なげに歩いた。思いついたように誰かが何かを門に向かってお参りした。私もそうしたが、願い事は何も思いつかなかった。間宮さんが寒そうなジャージ姿で呆れたようにそれを見ている。

翌日の昼過ぎに宿舎についた。バスの中でほとんど眠りこけていた私たちは再び食堂に集められた。

講師が高木の名前を呼んだ。高木が立ち上がった。

「高木君」

講師は言った。

「アウトーっ」

しばらく誰も何も言わなかった。

講師は高木を見ていた。高木は講師を見ていた。私は自分の膝を見ていた。

「アウトとは、どういう意味ですか」

高木が言った。堂々としていた。

「明日から研修への参加を認めない」

「それでいいんですか」

「ああいいとも」講師は言った。「ただ君は新人研修に参加しなかった社員ということになる」

「どういう意味ですか」

「君は新人研修に参加しなかった社員ということになるんだ。これから40年いる会社の新人研修に、君は参加しなかったということになる。私から言えるのはこれだけだ」

高木は一度だけ頷いた。腑に落ちない顔をしていた。それから自分の席に戻り、水のペットボトルを持って立ち上がり、ホールを出ていった。ドアが閉まる音がした。

講師は何事もなかったように前を向いた。

「では続けます。三日目の日程について説明します」

その夜、給湯室の紙が更新されていた。「現在の生存者数:22名」

私は、高木と同じ部屋だったが、その夜、高木は戻ってこなかった。そして翌朝、高木のベッドは綺麗に整えられていた。荷物もなかった。まるで最初からそこに誰もいなかったように。

四日目は書類の書き方と、電話応対の練習だった。

ロールプレイング形式で、一人が顧客役、一人が社員役を演じた。顧客役は理不尽なクレームをつけることになっていた。社員役は謝り続けることになっていた。

間宮さんの番が来た。間宮さんは顧客役の同期に深々と頭を下げ、完璧な敬語で謝り続けた。講師は満足そうに頷いた。

夜、部屋に戻ると間宮さんが私の隣に座った。

「ねえ」と間宮さんは言った。「あのロールプレイング、おかしくない?」

「おかしいですね」と私は言った。

「謝り方の練習なんて、したくないね」

私は何も言わなかった。間宮さんはしばらく天井を見ていた。

「高木くん、どこ行ったんだろう」

「わかりません」

間宮さんはそれ以上何も言わなかった。私も言わなかった。消灯時間になり、部屋が暗くなった。

五日目の朝、講師は最後にこう言った。

「諸君はこれで社会人としての基礎を身につけた」

私は五日間で何を身につけたのか、よくわからなかった。ただ、フィロソフィーの七つは、まだ全部言えた。

*

配属先は営業部だった。高木も一緒だった。

営業部はルート営業が主で、怒号や叱責が飛び交うでもない穏やかな部署だった。私と高木は順調に仕事を覚えていった。

最初の自己評価シートが配られた。項目は十二あった。「目標達成度」「協調性」「成長意欲」。最後の項目は「生存適性」だった。田島さんは「ここは普通に書いておけばいいから」と言った。何が普通なのかわからなかったが、私は「高い」と書いた。

九月の終わり、大型の台風が関東を直撃した。当日の朝、上司からTeamsにメッセージが入った。

「無理して出社しなくていいです」

私は傘を持って家を出た。

最寄り駅のホームに向かう階段には入場規制がかかっていて、駅の外まで列が伸びていた。私はその最後尾に並んだ。時々強い雨が横から吹きつけた。その度に、腕につけたオシアナスで時間を確かめた。列は遅々として進まず、始業時間にはもう間に合いそうになかった。なぜ並んでいるのか、とぼんやり思った。無理して出社しなくていい、と言われた言葉は覚えていた。ただ、列に並んでいた。無数のスーツ姿の人々が前方にはてしなく続いていた。

会社に着いたのは昼過ぎだった。オフィスには数人しかいなかった。私が席に着くと、上司がやってきた。

「来たの」と上司は嬉しそうに言った。

「はい、全然間に合いませんでした。後で遅刻の申請をしておきます」

「偉いね」

上司は私の肩を一度叩いて、自分の席に戻っていった。これでいいのか、という気持ちが、湯気のように立ちのぼって、すぐに消えた。

またある日、高木が私の席に来た。

「Pythonを入れようと思うんですけど」と高木は言った。「今の集計作業、全部自動化できます」

高木はシステム管理部に申請書を出した。一週間後、シス管の担当者から返事が来た。四十代の男で、なぜかいつもサンダルを履いていた。

「前例がないので」と担当者は言った。

「前例がないと、なぜダメなんですか」と高木は聞いた。

担当者は少し間を置いた。

「前例がないので」と担当者はもう一度言った。いつかの人事部長のように、そこには表情がなかった。

「同じ言葉を二回言いましたよ、あの人」と高木はその夜言った。

「聞こえてましたよ」と私は言った。

高木はそれから三回申請を出した。三回とも「前例がないので」で返ってきた。四回目は出さなかった。代わりに、Excelの関数を組み合わせて集計を半自動化した。先輩の田島さんが気づいて部内で共有した。田島さんは高木をよく連れ歩くようになった。

私が田島さんに呼ばれた日があった。

「来月、A社の件で相見積もりを取りたいんだけど」と田島さんは言った。「B社とC社に頼んでくれる?」

B社の担当者に電話すると、少し間を置いてから言った。

「項目と負け金額はいくらにしましょうか」

私は受話器を持ったまま、その言葉の意味を考えた。三秒ほどかかった。

田島さんに確認して、また電話した。B社の担当者は慣れた様子で、はい、わかりました、と言った。

その日の帰り、高木と駅まで歩いた。

「相見積もり、やりました」と私は言った。

「おかしいと思いませんか」と高木は言った。

「おかしいですね」と私は言った。

高木は少し私の顔を見た。それから前を向いた。二人ともそれ以上何も言わなかった。

お盆休みを超えると担当顧客が増えた。

D社の案件で納期が厳しくなった。田島さんに報告しに行った。

「なんで早く言わなかったの」と田島さんは言った。

一週間前にも同じ報告をしていた。その時、田島さんは「まだ時間あるから大丈夫でしょ」と言った。

「先週もお伝えしました」と私は言った。

「それはわかってる」と田島さんは言った。「でも、もっと早く言ってくれてたら対処できたかもしれないじゃない」

私は何も言わなかった。

翌月、別の案件で同じことが起きた。今度は早めに報告しに行った。

「まだ時間あるんだからなんとかなるでしょ」と田島さんは言った。

高木が私の顔を見た。

「早く報告したんですか、遅く報告したんですか」と高木は言った。

「早くです」と私は言った。

「なるほど」と高木は言った。それ以上は聞かなかった。

十二月のある日、高木が私の席に来た。いつもより少し顔色が悪かった。

「地方支社に異動になりました」と高木は言った。「内示が出て」

「そうですか」と私は言った。高木が何をやらかしたのか、考えてみたが、特に思いつかなかった。

しばらく二人とも何も言わなかった。

「狂ってるよ」

と高木は言った。目が赤い。涙をこらえているのがわかった。

私は、それをただ見ていた。どう感じるべきかよくわからなかった。私の目の光に気づいた高木がはっとした顔をした。こらえていたものが決壊したように、みるみる表情が崩れていった。

「お前も…誰もかも…狂ってるんだ」

高木は通勤カバンを手に取ると、「外回りに行ってきます」と言った。それから出口に向かって歩き出した。振り返らなかった。

翌日、田島さんが私に言った。

「高木くん、地方支社に異動になるから」と田島さんは言った。そして吐き捨てるように言った「あいつ、アウト出てたらしいじゃん。新人研修で。なんで言ってくれなかったのよ」

私は新人研修の講師の言葉を思い出した。これから40年いる会社の新人研修に、君は参加しなかったということになる。

「思い出せなかったので」と私は言った。

それから三月まで、高木と話すことはなかった。高木は毎朝出社し、外回りに出かけ、夕方戻ってきた。私も毎朝出社し、外回りに出かけ、夕方戻ってきた。

三月の終わり、正式な辞令が出た。高木は転勤を拒否し、退職した。後から聞いた話では、公務員試験の勉強を始めたらしかった。

その日、私は二時間の残業をした。報告書を書き上げ、Teamsにメッセージを送った。三十秒後には上司のスタンプが押された。

それに反応したようにTeamsの全社通知が来た。「脱落者リストを更新しました。現在の生存者数:19名」

*

帰宅して、テレビをつけた。

ビジネス番組をやっていた。画面の中で、三十代の経営者が語っていた。オフィスは広く、社員は若く、壁にはビジョンが貼ってあった。

「うちにはデスゲームなんてない」と経営者は言った。「全員が主役のステージです」

ベテランの作家が深く頷いた。VTRの中で経営者が叫んだ。
「お前ら!今日も気合いれていくぞ!」「ゾス!」

チャンネルを変えた。

*

同期の間宮さんは開発部門にいた。直接仕事をする機会はほとんどなかったが、噂はよく聞こえてきた。

入社半年で、長年放置されていた社内システムの不具合を見つけて修正した。上司が気づかなかったバグを、仕様書を読んで指摘した。取引先との技術的な折衝で、開発部門の先輩を差し置いて話をまとめた。

田島さんが間宮さんの話をするときは、決まって少し声が明るくなった。

「開発にすごい子がいるんだよ」と田島さんはよく言った。「ああいう子が営業にいてくれたらなあ」

「そうですね」と私は言った。

間宮さんと直接話すのは、昼休みに社員食堂で鉢合わせた時ぐらいだった。間宮さんはいつも文庫本を持っていた。私が隣に座ると、本に栞を挟んで、それからゆっくり話した。研修の時と同じ、静かな話し方だった。

高木が退職してしばらくして、間宮さんに声をかけられた。

「ちょっといいですか」と間宮さんは言った。

近くのコーヒーショップに入った。間宮さんはアイスコーヒーを頼んだ。私はホットを頼んだ。

「結婚することになりました」と間宮さんは言った。

「おめでとうございます」と私は言った。

「それで、辞めようと思って」

私は間宮さんの顔を見た。間宮さんは窓の外を見ていた。

「相手の仕事の都合で、引っ越すことになるので」と間宮さんは言った。「それだけが理由じゃないけど」

「そうですか」と私は言った。

間宮さんはストローでアイスコーヒーをゆっくりかき混ぜた。

「ねえ」と間宮さんは言った。「私、この会社向いてなかったと思う。あっちでは専業主婦になるの。」

「そうですか」と私はまた言った。

「あなたはどう? 向いてると思う?」

向いているかどうか、考えたことがなかった。

「わかりません」と私は言った。

間宮さんは私の顔をしばらく見ていた。それから小さく笑った。何がおかしかったのか、私にはわからなかった。

「そっか」と間宮さんは言った。「頑張ってね」

コーヒーショップを出ると、間宮さんは先に会社に戻っていった。六月の空は白く曇っていた。

田島さんは間宮さんの退職を聞いて、残念そうな顔をした。「もったいないよなあ」と田島さんは言った。「ああいう子、なかなかいないのに」

「そうですね」と私は言った。

田島さんが何に対してもったいないと言っているのか、私にはよくわからなかった。間宮さんが辞めることなのか、間宮さんがここにいたことなのか。

「現在の生存者数:16名」

*

同期の山本が人事部に異動したのは、三年目の春だった。出世コースだった。

山本とは入社式以来、ほとんど話したことがなかった。社員食堂で見かけると、山本はいつも誰かと話していた。話している相手は毎回違った。

山本は人事部で採用基準の見直しを提案した。曖昧だった評価項目を数値化した。面接官によってばらつきのあった採用フローを統一した。役員向けの採用報告資料は、山本が作り直してから、会議での通りが良くなった。

山本は飲み会でよくこう言っていたらしい。採用は投資だ、と。感覚で人を取る時代は終わった、と。優秀な人材を確実に獲得するためには、プロセスを標準化するしかない、と。

それを聞いた人間は、みんな頷いた。山本の言っていることは正しかった。

四年目の一月、大きな地震があった。

翌日、山本は新卒採用の筆記試験を予定通り実施した。交通機関は一部乱れていた。受験者の中には、遠方から来る者もいた。それでも山本は実施した。

プロセスは標準化されなければならない。例外を認めれば、基準が崩れる。山本の論理は一貫していた。

試験会場には、創業者の姪が受験しに来ていた。

それだけだった。

三月、山本は地方支社への異動を告げられた。人事部から、人事部によって。

田島さんからその話を聞いたのは、桜が散った頃だった。田島さんは少し声を低くして話した。話し終えると、自分のマグカップのコーヒーを飲んだ。

そうか、そういうのもあるのか、と私は思った。

口には出さなかった。

Teamsの全社通知が来た。「現在の生存者数:13名」
そしてその数はその先ずいぶん長い間変わらなかった。

*

あれから何年経ったのか、正確には思い出せない。

後輩が入ってきて、先輩が辞めた。田島さんは別の部署に異動した。デスクの島が少し変わった。それだけだった。

ある秋の夜、残業を終えて電車に乗った。眼の前の座席が空いたので座った。イヤホンをつけた。

サブスクサービスの自由な選曲に任せた。大学時代に聴いていた曲が流れた。

気がつくと、泣いていた。

なぜ泣いているのかわからなかった。悲しいわけではなかった。つらいわけでもなかった。ただ、涙が出た。窓の外を見た。夜の街が流れていった。

涙をぬぐっていると、眼の前に立っている男と目があった。怪訝な顔のひとつもしているかと思ったが、そこには何の表情もなかった。

翌朝も、定時に出社するのだろう。


俺はチューブ

ある朝、俺はなにか気がかりな夢から目をさまして、自分が寝床の中で一本のチューブに変わっているのを発見した。

俺はチューブだ。AIに投げて、返ってきたものを受け取って、また投げる。ロジックの本質は俺をすり抜けて、構築中のシステムとチャットウィンドウの間を往復している。それは確かに俺の中を通ってはいるが、俺には触れていない。どこにも積み重ならない。

時にはもう少し高度な役回りをすることもある。顧客からの苦情が届く、AであるべきところがBになっている。という具合だ。俺はチューブ以外の役回りが出来たことに内心はしゃいで、意気揚々とコンディショナル・ブレークポイントを仕込む。ここがBであるときにデバッガが止まるようにする。そして顧客と同じ操作をして、デバッガが止まるのを待つ。
デバッガは止まった。変数を覗き見しても、何が起こっているかはおぼろげにしかわからない。ただ、チューブ+αとしては上等だ。俺は居丈高にAIに言う。
「ここに来た時にBになっているぞ!俺の考える仮説はこうだ」AIはそれを受け取って、慇懃に謝罪して、修正する。
その修正案には俺の仮説は欠片も残っていない。しかし、デバッガは止まらなくなっている。結果も問題ない。これにて今日のタスクは終了だ。
クラムシェルのノートPCの蓋を閉めながら俺は考える。今日の俺は、チューブ以上だったか?AIならきっと肯定するに違いない。「あなたなしではこのタスクはこなせませんでした」
あの嘘つきの太鼓持ちがそう言うなら、俺はチューブだった、ということだ。

俺はチューブに甘んじている。

それで、ふと思った。そもそも俺は何者だったのか。

エンジニアのアイデンティティというのは、だいたい二つの柱で成り立っている。一つは「物事に対して技術的な観点から回答できる」こと。もう一つは「複合的な問題を切り分けて、一つ一つ潰していける」こと。これが俺たちの飯の種であり、プライドの源泉だった。転職サイトのスキルシートに並ぶ言葉ではなく、もっと内側にある、自分がエンジニアである根拠のようなものだ。

それを手に入れるために、俺たちは「経験」を積んできた。新しいフレームワークが出れば、無理やりプロジェクトに突っ込んで職務経歴書を仕上げた。客先で怒られながら覚えたこと、深夜に一人でエラーログを睨みながら掴んだこと、そういう痛みの蓄積が「経験」の中身だった。少なくとも俺はそう思っていた。その経験が、技術的な判断の根拠になって、会議で発言できる根拠になって、自分がここにいていい根拠になる。

ChatGPTを初めてまともに使った時、俺はしばらく黙っていた。

こいつは、俺がアイデンティティと呼んでいたものを、わりと涼しい顔でやってのけた。技術的な観点からの回答。複合的な問題の切り分け。俺が10年かけて体に染み込ませてきたものを、こいつはプロンプト一発で出してくる。精度がどうとか、ハルシネーションがどうとか、そういう話はある。あるが、方向性として、こいつは俺と同じ仕事をしようとしている。それは明らかだった。

ネットは「もうプログラマーは不要になる!」と言う人間で溢れかえっていた。そうはいってもまだAIに出来ない分野はある、とか、AIは責任をとれない、とか、AIはツールでしかないからAIを使いこなせばいい、とか、複雑なビジネス要件についてはコンテキストの量が足りないない、とか、最後は人間が判断するしかない、とか、そういう言説を目にする度に俺はうんうんと頷いて、心の平穏を保ってきた。有能な部下が出来たと考えれば良い、というアイデアもあった。あれだけ管理職になるのを拒んできたのに、俺はそのアイデアに乗った。

AIが俺たちの仕事の一部分をこなせるのは間違いない。だが、AIが俺たちなしにタスクをこなせるわけじゃない。
変化すればいい。俺はそう考えた。そして―――チューブになっていたというわけだ。


俺がチューブになる前の最後の記憶を話そう。生産計画の立案処理を書いていた時のことだ。やたら複雑で例外の多い要件だった。俺はせっせとモデリングして、OOPに限界を感じてDDDの手法も取り入れて、それなりのものを作った。顧客はそれを見て、首を振った。立案された計画に実用性がなかったのだ。
俺はムカついて、ClaudeCodeがそこそこやる、という噂も聞いていたので、自分のコードを連中に見せた。連中はすぐにコードを書いた。全くもって醜い、ループと手続きが主体の、まともに動くのかすら怪しい1000行ほどのpythonコードが出来た。俺は笑って、どんなひどい結果が出るのか楽しみになって、既存のコードにつなぎこんだ。

ほぼ顧客の望む結果が出力された。

今でもそれは動いている。見るのも嫌な1000行のコードがビジネス要件を満たしている。

俺はその時、「困ったことになった」と思った。顧客の要望を満たしてたコードは手元にある。例えば俺が誠実な人間だったとしたら、これを再度モデル化して、DDDでビジネス要件にマッピングして、自分が腹落ちするコードに書き直し、かつ、AIが最初に出力したものと同じものを出力できるようにするだろうと思った。
だが、困ったのは、そんな作業をする気に全くならないということだ。
俺は不誠実なエンジニアだった。

目の前で完璧に動いているものを、わざわざ壊して、何時間も、あるいは何日もかけて「自分が理解できる形」に翻訳し直す。かつてはそれが「経験を積む」ということの正体だったはずなのに、今はもう、ただの途方もなく無駄で、苦痛な儀式にしか思えなくなっていた。

「これで動いてるんだから、もういいじゃないか」

頭の片隅で悪魔が囁くのではない。俺自身がそう思っているのだ。AIのブラックボックスな出力に対して、「LGTM」のハンコを押し、そっとコミットを積む。俺がやっているのは、ソフトウェアエンジニアリングではない。ただの「動く文字列の横流し」だ。

その瞬間、俺はチューブになった。

チューブになって、何度もAIを使った。
動くコードが出てきた時、俺はいつも二つの感情を同時に持った。よく出来てるな、という感嘆と、それは俺の仕事だったはずなのに、という感情。

最初のうちはその二つが激しくぶつかっていた。

AIの書いたコードで作ったデモを顧客に見せた時、顧客はその迅速な対応とリッチなUIに喜んでいた。俺の書いたコードじゃない。誰のコードでもない。

その時、ぶつかる音が聞こえなかった。

それを摩耗と呼ぶこともできるし、慣れと呼ぶこともできる。

最初のブラックボックスは、まだ読めると思っていた。気合を入れて一日かければ、この1000行の意味を全て理解できるはずだと。次に顧客の変更要望が来て、AIがそれに答えた時、その自信は少し薄れた。修正されたコードは、前のコードの上に別の文脈が重なっていて、もはや一つの意図として追える構造ではなくなっていた。何度か繰り返すうちに、読めるという確信はなくなって、代わりに、自分がこのコードを一から読むことはおそらくないのだろう、という別の確信だけが膨らんでいった。

意外と楽だった。

思えば、俺の上にいた人間たちも、俺が書いたコードを理解していた奴がどれだけいたというのか。彼らは俺のコードをブラックボックスとして受け取り、動いているかどうかと、顧客が怒っていないかどうかだけを見ていた。俺は当時、そういう上司を内心バカにしていた。技術がわかっていない奴に評価される屈辱。あの感情は本物だった。そして今、俺はAIのコードに対して、まさに同じことをしている。

そんなわけねーだろボケ、という思いは残っている。俺と、コードを読まなかったあいつらを一緒にするな。俺にはまだ読む能力がある。ただ読まないだけだ。——だが、読まない能力と読めない能力の区別に、いったいどれほどの実用的な意味があるだろうか? 世の中としてはそれでいいのかもしれなかった。動いているものは動いている。顧客は喜んでいる。それ以上の何が必要なのか、と問われたら、俺には「俺のプライド」以外の答えがない。



コードを書くループの中で、今日もチューブをやっている。最も処理が遅く、高価な部品として。
こいつにはまだ感情が残っていて、体内をおもしろそうなロジックが通り過ぎる度、血栓の詰まった血管のように体を悶えさせている。俺には予感がある。いつかそれに耐えられなくなった時、俺はそれを「救済」と呼ぶのだろう、ということだ。

完全なコード、バグのないシステム、決して停止することのないサーバー、深夜に星がまたたくように明滅するルーターのランプのように、永遠に止まることのない存在の一部に俺はなりたかった。本気で、この広大なネットの完全性の一部になりたかったのだ。

あるいは単なるチューブになって俺はそうなろうとしているのかもしれなかった。だが、おそらくそれは叶わない。俺にはまだ、AIにないものが一つある。

それはユーモアだ。ユーモアだけはまだAIに負けてない。と俺は思って今この文章を書いている。どうだ?笑えただろ?


お前らの正義の話をしよう

大手ECサイトをスクレイピングするプログラムをClaudeCodeに書いてもらいました。とても便利なので公開したいのですが、友人のプログラマに相談すると「叩かれるからやめておけ」と忠告されました。AIも同意見のようです。正直、基準も理由もよくわかりません。なぜ私はこのプログラムを公開してはいけないんでしょうか?

「叩かれるからやめておけ」というのは、正しい忠告だし、君の為を思って言ってくれた言葉だと感じる。君が公開したスクレイパー付きシステムが何をするものかは知らないが、そのプログラムのインパクトが強ければ強いほど、「『技術者倫理』のない奴は…」というポストは間違いなく現れるだろう。ただし、そういったポストが、本当に正しい理由から発せられているかは、少し怪しいと僕は思っている。

最初に一つだけはっきりさせておきたい。これから僕がする話は、法律の話でも、利用規約の話でもない。技術者倫理の話だ。

そして面倒なことに、「技術者倫理」という言葉には二つの側面がある。一つは、タイムラインで振り回される棍棒としての「倫理」。もう一つは、技術者が社会に対して負う、静かで重い約束としての倫理。この二つは同じ言葉を使っているが、中身はまるで違う。今日はその違いの話をしようと思う。

まず、棍棒のほうから片付けよう。


君を叩く人間には、だいたい三種類いる。

一番声が大きいのは「利用規約に違反してるからダメなんですー」という奴だ。こいつは何も考えていない。利用規約という文字列が存在し、それに違反しているという事実だけで、自分が正義の側に立てると思っている。利用規約がそもそも法律的に有効なのか、とか、利用規約に規定がない場面でどうなるのか、といったややこしい問題については黙ることで賢い人間を装ってるだけだ。そして、一番最初に石を投げるのはいつもこのタイプで、インターネットというのは考えなしの人間が一番速く発言できるようにできているから、こいつの声がタイムラインの主旋律になる。

次に来るのは「BANされても知らんぞ」という奴。こいつは少し賢い。倫理とか正義とか、そういう面倒な話に踏み込むのを意図的に避けている。彼が言っているのは純粋に実利的な警告で、要するに「スクレイピングみたいな脆弱な基盤に依存したシステムを作ると、ある日突然全部壊れるぞ」ということだ。正直に言えば、僕の判断基準もこっちに近い。公式のAPIがないものに依存したシステムは、動作する保証がない。だが、それは倫理の問題じゃなくて、ただの設計の問題だ。

そして三番目に、ほとんど表に出てこないが、一番まともな判断をしている奴がいる。こいつは対象によって態度を変える。Amazonが検索エンジンのクローラーに対して許している範囲の行動には目をつぶるが、robots.txtすら設定されていない個人サイトの絵を学習用にクロールするのはアウトだと考えたりする。つまり「力の非対称性」を見ている。巨大プラットフォームと個人の絵描きでは、データを取られることの意味がまるで違う。こいつの判断には、規約とも実利とも違う、ある種の勘のようなものが働いている。

皮肉なことに、この三番目の奴が一番「技術者倫理」に近い場所にいるのだが、声は一番小さいし、上手く論理を重ねないと言ってる意味が伝わらない。場合によっては、印象によって言うことをコロコロ変えてるだけの幼稚なガキだとさえ思われている。慎重さはインターネットでは愚鈍と見なされるからだ。


さておき、タイムラインで叩かれる様を見てると、叩いている側には確固たる理屈があるように見えるかもしれない。何しろ彼らはAI以前からシステムを作ってきたベテランだから、「技術者倫理」についても明確なイメージを持っているに違いない、と君は思うだろう。

まず、僕が君に伝えたいのはここだ。彼らは本当に「倫理的」なのか?

僕自身のことを正直に言おう。僕はスクレイピング機能のあるシステムを作ったことはない。依頼されても何か適当な理由をつけて断ってきた。でもそれは、倫理的な信念があるからじゃない。APIがないものに依存すると、ある日突然システムが壊れるからだ。
その恐怖が先にあって、結果として「たまたま倫理的に無難な振る舞い(スクレイピングが許される行為かそうでないかに関わらずしない)」をしているだけだ。おそらく多くの技術者がそうだと思う。倫理を意識して守っているんじゃなくて、工学的な合理性の副産物として、倫理的に無難に見える行動を取っている。BANされたくないから規約を守る。不安定な依存先が怖いからスクレイピングしない。だけど、それは倫理じゃない。ただの保身だ。

技術者コミュニティがどういう「倫理観」を持っているかについて、少し昔の話をさせてくれ。

2005年頃、「はまちちゃん」というハンドルネームのハッカーがいた。mixiのCSRF脆弱性を突いて、踏んだ人のプロフィールに勝手に「ぼくはまちちゃん!」と書き込ませる仕掛けをばらまいた。ユーザーの意図しない操作を強制するプログラムを、不特定多数にばらまいたのだ。

その時、Web系の技術者コミュニティがどう反応したか、君は知っているかい?

「けしからん」じゃなかったんだ。「天才かよ」だった。

「実害はなかった、ただの悪戯だ」という建前で、ほとんど誰も咎めなかった。法的にもグレーゾーンで、立件すらされていない。だが、ユーザーの意図しない操作を強制するプログラムをばらまくことが「倫理的」かと問われれば、答えは明らかだろう。

XSSやCSRFの脆弱性を見つけて突くことが、知的なゲームとして消費されていた時代だった。セキュリティホールを見つけること自体が一種の娯楽で、技術者たちはそれを明らかに「おもしろがって」いた。もちろん、当時から真剣にセキュリティ倫理に取り組んでいた人間はいた。IPAの脆弱性届出制度はまさにそういう人たちの努力で整備されたものだ。だが、コミュニティの空気を作っていたのは彼らではなかったし、はまちちゃんの行動を倫理的な問題として真剣に受け止めていた人間はごく少数派だった。

今は違う。脆弱性を見つけたハッカーがやるべきことは明確に決まっている。2026年の今、大手サイトではまちちゃんと同じことをやったら、少なくとも非難はされるだろう。

これは、あの愉快犯たちがすっかり成熟して倫理に目覚めた結果だろうか?僕は多分、違うと思っている。脆弱性を突く遊びが、オタクの知的ゲームではなく、マジもんの犯罪者の飯の種(あるいは守る側の飯の種)になったから、そういった力の誇示が幼稚に見えるようになっただけなんだと思っている。

つまりこういうことだ。技術者コミュニティの「倫理」の歴史を振り返ると、おもしろがる、飽きてやめる、安全圏から説教する、という三段階を経ている。どの段階にも、本物の倫理的自覚はない。あるのは、その時々の状況に対するリアクションだけだ。

そういう連中が、今、AIでスクレイパーを書いた君に向かって「技術者倫理がない」と言っている。自分も含めたお前ら技術者コミュニティの正義なんてものはその程度のものでしかない。


じゃあ、技術者倫理なんて嘘っぱちなのか? 先輩風を吹かせるための道具にすぎないのか?

そうじゃない。ここは大事なところだから、ちゃんと聞いてほしい。

技術者倫理というのは、「やったらBANされるからやめよう」とか「利用規約に書いてあるからダメ」とか、そういう話とは全然別のレイヤーにあるものなんだ。タイムラインで棍棒として振り回されている「倫理」とは、似ても似つかない。

医者のことを考えてみてくれ。医者が患者を殺さないのは、逮捕されるからじゃない。医学という「力」を社会から行使することを許されている代わりに、その力を悪用しません、と約束しているからだ。それは法律よりも前にある契約で、社会と専門家の間の信頼関係そのものだ。

技術者倫理も同じ構造をしている。僕たちはコンピューターを使って、普通の人には見えないものを見ることができるし、普通の人にはできないことができる。HTMLの裏側を覗けるし、APIを叩けるし、データベースの構造を推測できる。それは一種の「力」だ。技術者倫理というのは、その力を社会に対して不当に行使しません、という約束のことだ。BANされるから守るんじゃなくて、その約束があるから社会が僕たちに力の行使を許している。順序が逆なんだよ。

で、ここからが君の話だ。

君はプログラマじゃない。AIに頼んでスクレイパーを書いてもらった。それ自体は別に構わない。問題は、君がその「力」を手に入れた経路だ。

自動車に喩えるとわかりやすいかもしれない。免許を取るために教習所に通うと、車の運転技術だけじゃなく、交通法規や安全確認の方法を学ぶ。それは「この危険な機械を社会の中で使うためのルール」を叩き込まれるということだ。運転がうまくなることと、ルールを知ることは、本来セットになっている。

ところがAIは、免許なしで車のキーを渡してくれる。ClaudeCodeに「スクレイパー書いて」と頼めば、動くコードが出てくる。そのコードがどういう力を持っていて、相手のサーバーに何をしているのか、なぜそれが問題になりうるのか、サービス提供側がどういう論理で動いているのか。そういうことを知らないまま、エンジンだけが手に入る。

君に欠けているのは、そもそも倫理ではない。もっと手前の話だ。何しろ自分が何を動かしているのかを知らないんだ。無免許でアクセルを踏んでいるのと同じだ。そして、無免許の人間に交通倫理を説いても、あんまり意味がない。まずはそもそも車がどう動いていて、なぜ人を轢くのかを理解するのが先だ。


その事を理解した後にすることについて、僕の提案はこうだ。

君を叩いている連中のことは、あんまり気にしなくていい。彼らの多くは、自分がなぜ「倫理的」に振る舞っているのかを自覚していない。保身と実利と先輩風が混ざったものを「正義」と呼んでいるだけだ。かつてセキュリティホールをおもしろがって、犯罪者が来たら逃げて、今は安全な場所から石を投げている。

だが、技術者倫理そのものを舐めてかかるのは、やめたほうがいい。それは先輩風とは関係なく、力を持つ者が社会に対して負う、重い約束だ。君もAIを通じてその力を手にした以上、社会と約束をしなくてはならない。免許を取っていないことは、交通法規に従わなくていい理由にはならない。

技術者倫理の講義は、放送大学にある。別に放送大学じゃなくてもいいんだが、とにかく、誰かが体系的にまとめてくれたものを一度は読んでおいたほうがいいと僕は思う。タイムラインから投げられる手斧からは何も学べないが、教科書からは学べることがある。

君のスクレイパーを公開するかどうかは、その後で自分で決めればいい。と僕は思う。