AIにコードを書かせることは、もう珍しい話ではなくなりました。エージェントに実装を任せる話題は、毎日のように流れてきます。ただ最近、少し毛色の違う議論を見かけるようになりました。技術の話ではなく、気持ちの話です。コードを自分で書かなくなることを、エンジニアはどう受け止めればいいのか。しかもこの議論、思いがけない人が口火を切っていました。
「感情的につらい」— OpenAI会長の告白
OpenAIのトップと聞いて思い浮かぶのは、CEOのサム・アルトマンだと思います。ですが、取締役会には議長——いわば会長——がいます。Bret Taylor。Googleマップの立ち上げに関わり、Salesforceの共同CEOを務め、いまはAIエージェント企業Sierraを率いる、生粋のエンジニアです。
そのTaylorがポッドキャストで、AIにコードを書かせることについてこう語っていました。「感情的につらい、と言えば伝わるでしょうか。気にしないでいるのが難しいんです」(公式の書き起こし)。自分が書くコードの優雅さが誇りだった。でも、その成果物に執着しすぎたら、これからの時代のソフトウェアエンジニアとして先へ進めない気がする。だから「気にしないよう、自分に強いている」のだと。AIを推し進める側の中心人物が、誰よりも率直に、手放す痛みを語っていたわけです。
悩んでいるのは、彼だけではない
同じ時期、あるエンジニアのエッセイも話題になりました。書いたのはAndrew Diamond。20年以上のキャリアを持ち、小説も書くという、少し変わった経歴の人です(Diamondのエッセイ)。
彼の話は具体的です。数ヶ月AIに頼ってみたら、自分の開発スキルが落ちた実感がある。だから今は使いどころを絞っていて、技術情報の調べものには使うけれど、コードは自分で書く。そして文章には、いっさいAIを使わないと言います。理由がこの一文に凝縮されています。「書くことは、自分の考えを整理し、明確にする行為そのものだ」。編集することは、創ることではない——AIの出力を直す作業と、ゼロから考えて書く行為は別物だ、というわけです。生産性の前借りには「ツケはやがて回ってくる」とも書いていて、この言葉が議論に火をつけました。
このエッセイを載せたHacker Newsでは、議論がきれいに割れました(スレッド)。任せる派の声はたとえばこうです。「型エラーの修正やインポートの解決といった泥臭い作業はノイズ。任せて、設計やビジネスロジックに頭を使うほうがいい」。ワークフローを確立した人からは「10年前なら1ヶ月かかった作業が、1週間で終わる」という報告もあります。
一方の慎重派も、体験に根ざしています。「AIのコードは動くように見えて雑」——彼らはこれをslop(スロップ)と呼びます。「要求の95%までは速い。でも残りの複雑な5%でつまずく。結局、人間がAIのコードを深く理解して直すことになり、そのレビューが精神的に疲れる」という声も目立ちました。
面白いのは、同じ「AIを使う」でも流儀が割れていることです。大部分をAIに書かせて人間がレビューする流儀と、構造や足場は人間が組んで、AIには壁打ち相手やエラーチェッカーに徹してもらう流儀。後者の人たちは、そのほうが結局速くて品質も高い、と主張します。
そして議論は、目の前の生産性を越えて、先の心配にも及びます。実装の反復練習をAIが代替したら、ジュニアはどうやってシニアに育つのか。コードを書き上げる楽しさが失われて、プログラマーはAIのマネージャーやQA担当のようになってしまうのか。印象的だったのは、「将来のプログラミングは、AIが吐き出す大量のコードを盆栽のように剪定して形作る仕事になる」という考察です。これを嘆きと受け止めるか、新しい職人芸と受け止めるかは、人によって分かれそうです。
技能は、使わないと消える
慎重派の根っこにあるのは、「使わない技能は消える」という感覚です。先のエッセイには面白い例えがありました。米海軍は、いますぐ必要でなくても空母を造り続ける。一度造船の技能が途切れると、二度と取り戻せないからだそうです。
日本には、もっと身近な実例があります。紙幣です。日本の紙幣はおよそ20年ごとに刷新されていますが、その目的は偽造防止と、偽造を防ぐ印刷技術を継承するためだと言われます(解説記事)。技能は、組織であっても意識して使い続けなければ保てない。では、個人の「コードを書く技能」はどうなのか——ここが、この議論の分かれ目です。
私はコンパイラで、同じことをしていた
Taylorは同じポッドキャストで、こうも言っています。「コンパイラがループをどう展開したかを覗いて、その出来栄えを確かめたりはしない。なのにコードに対しては、なぜかそういう気持ちになる」。
コンパイラは、人間が書いたコードを機械が実行できる形に翻訳するプログラムです。実は昔は、その翻訳結果を人間が覗くことがありました。私にも覚えがあります。どう展開されるかを確認してから、コンパイラの最適化スイッチを切り替えていた時代があるのです。いまはどうかといえば、まったく気にしなくなりました。正直に言えば、手放せてせいせいしたくらいです。
似たことは、いまも形を変えて起きています。ORMが生成するSQLを毎回読む人は少ないでしょうし、フレームワークが吐き出すHTMLを確認する人もまれだと思います。一段上の層で書くようになると、人は下の層の出来栄えを確認しなくなる。そして、いつの間にか不安でもなくなる。「コードを書く」という行為も、その階段の途中にあるだけなのかもしれません。
まとめ
AIにコードを任せることへのざわつきは、推進する側のトップから現場のスレッドまで、同じ形で広がっていました。スレッド全体を眺めると、いちばん恩恵を受けているのは、AIを魔法の杖と盲信する人でも、全否定する人でもなく、限界を理解して、適切な枠を与えながら道具として使う人たちのように見えました。
私自身は、コンパイラのときと同じように、いずれ「気にしなくなる」日が来る気がしています。ただ、ひとつだけ残る気もします。「書くことは、考えることだ」という側面です。コードを書く作業は任せられても、考える行為まで手放すかどうかは、また別の話でしょう。
答えはまだ誰も持っていません。OpenAIの会長ですら悩みながら、自分に「気にするな」と言い聞かせている。だとすれば、私たちがコードへの思い入れに戸惑うのも、ごく健全なことだと思います。
参考: Cheeky Pint「Bret Taylor of Sierra」公式トランスクリプト/Andrew Diamond「Reflections on software engineering in the age of AI」/Hacker Newsスレッド/久保田博幸「新1万円札が登場…」(Yahoo!ニュース)
