AI時代に生き残るのは、AIを止められるエンジニアだ
自分の書いていないコードが目の前に積まれていて、これを通してよいかを決めなければならない。書いた本人に理由を聞けば、必ず筋の通った答えが返ってくる。その答えが正しいかどうかは、答えを聞いても分からない。
私はこの状況で、ほとんどいつも通している。止めた記憶がない。
承認だけしている自分に気づいた日
自分のブログの公開までを自動化したとき、私は自分の役割を「拒否権を持つ人間」として設計に残した。機械が記事を書き、機械が検査し、機械が公開日を決める。人間は、出す前に止められる。そう設計したので、私はその設計を信じていた。
しばらく動かして気づいたのは、私が一度も止めていないという事実だった。記事が悪くなかったからではない。止めるための根拠を、私が持っていなかったからだ。
止めるには「これは違う」と言えなければならない。言うには、どこがどう違うのかを指させなければならない。指すには、その記事が何をどう確かめたのかを自分で追い直す必要がある。私はそれをしていなかった。読んで、筋が通っていて、検査が通っている。だから通す。これは判断ではなく、追認である。
拒否権は、行使できる根拠とセットでなければ、設計図の上にしか存在しない。
棄却には根拠が要る。承認には要らない
ここに非対称がある。
承認は、何もしなくてもできる。黙っていれば通る。理由を述べる必要もない。棄却は違う。止めるには理由が要る。理由には、それを支える具体が要る。「なんとなく怪しい」で止め続けられる人は、組織の中にそう長くはいられない。
だから、承認と棄却を同じ「審判」という言葉でまとめると、大事なところが落ちる。審判者になれ、という言い方はよく見かける。私もその方向は正しいと思う。ただ、審判が何によって可能になるのかを、その言い方は説明していない。審判できる状態と、承認しかできない状態は、外から見ると区別がつかない。どちらも「通す」からだ。
一度、AI に調べ物を任せて、返ってきた報告に実在しない出典が混ざっていたことがある。形式は完璧だった。引用の作法も、ファイル名の付け方も、隣に並んでいる実在の出典と見分けがつかない。私が気づいたのは、その出典を自分で開こうとしたからだ。開かずに読んでいたら、それはそのまま私の記事の根拠になっていた。
読む力では気づけなかった。開く手を動かしたから気づいた。棄却の根拠は、読解からではなく再現から出てくる。私はこの一件でそう考えるようになった。
機械に降ろした判断は、黙って開く
ここで当然の反論が出る。人間が毎回再現する必要はない、機械に検証させればいい、と。
私もそう考えて、自分の判断を機械に降ろしたことがある。Claude Code のフックに「これは通すな」という規律を書いた。書いたので、効いていると思っていた。
そのフックが本当に効いているかは、 Claude Code のフックが黙って効かなくなる経路の記事で確かめた。結果をここへ並べ直すことはしない。この記事に持ち込みたいのは、確かめる前の私が何を信じていたか、のほうだ。私は、判定のロジックが正しければ規律は効いていると思っていた。 そこが違った。効くかどうかは、判定に届くかどうかで決まる。届かない道があるかどうかは、ロジックを読んでも分からない。
似た思い違いをもう一度した。毎朝走らせている収集の処理を、私はずっと動いていると思っていた。ログを開けば成功と読める行が並んでいたし、失敗を知らせる仕組みも静かだった。集めたはずのデータを別の目的で開いて、中身が空だと分かったのはずっと後になってからだ。設定が足りずに処理が飛ばされていたのだと、私はそのとき理解した。飛ばしたことと落ちたことは、私が見ていた画面では区別が付かなかった。
監視は動いていた。私が監視に見せていたのが「落ちていないこと」だけだった、というだけの話である。
機械に降ろした判断は、それ自体がもう一つの成果物になる。成果物である以上、それも棄却の対象になる。前の節で書いた条件は、ここにもそのまま掛かる。検証を自動化しても再現の必要は消えず、掛かる場所が一段上に移るだけだ。
それでも再現は高くつく
反対の立場を、私は弱く書きたくない。
任せる目的は時間を浮かせることだ。出力のたびに人間が手元で追い直すなら、浮いた時間は消える。それなら最初から自分で書いたほうが速い。投資として成立していない。再現にこだわるのは、手を動かす快楽を仕事だと言い張っているだけではないか。
この立場は、エンジニアのキャリア論として広く流通している「上流へ移れ」という助言の前提でもある。実装はもう任せられる、だから判断のほうへ移れ、という筋だ。転職や採用の文脈でよく語られるし、言われている内容そのものは間違っていない。実装だけを続ける人の市場価値が上がりにくいのは、その通りだと思う。
そして私自身、追い直すことに時間を使いすぎて、任せた意味が消えた日が何度もある。全部を再現していたら、自動化は趣味になる。
だから私は、全部を再現しろとは考えていない。線を引くとしたら、こうなる。戻せない領域と、他人に影響が及ぶ領域では、棄却の根拠を自分で持つ。 それ以外は通す。公開してしまったものは取り消せない。他人の環境を壊したものは謝って済まない。そこだけは、承認機のままでいるわけにいかない。
そして、その線の内側にいるためには、再現できる状態を保っておく必要がある。使わない筋力は落ちる。落ちてから「今日は棄却しよう」と思っても、根拠が出てこない。上流へ移ること自体が悪いのではない。移った先で再現能力を手放すと、判断しているつもりで追認だけをする人になる、という話だ。
この主張が外れるとき
私の考えが成り立たなくなる条件を、自分で書いておく。
一つは、生成物が自己検証可能な形で出るようになったときだ。出力に、その正しさを機械が独立に確かめられる反例なり再現手順なりが必ず添付され、検証する側が生成する側と同じ速さで強くなるなら、再現の負担は人間から機械へ移る。そうなれば、私がここで書いたことは古い心配になる。
もう一つは、失敗しても戻せて、被害が自分に閉じる領域だ。そこでは承認機で回してよい。試して壊して直せばいいものに、いちいち根拠は要らない。
私が言いたいのは「AI を疑え」ではない。任せる範囲は広げていい。ただ、任せた先で何かを止めなければならない日は来る。その日に何を根拠に止めるのかは、止める日ではなく、その前の平常時に決まっている。
AI 時代に生き残るエンジニアの条件を1つだけ挙げろと言われたら、私はここを挙げる。速く作れることでも、上手く指示できることでもなく、止める根拠を手元に残していることだ。それは肩書きでも工程でもなく、日々の手の動かし方で決まる。