2026年2月28日土曜日

コーディングスキルは不要になる?

 毎度のことながら久々に記事を書きます. 私事ですが昨年4月に副学部長という役割を与えられ, 雑用学内業務が増えました. 一口に言えば忙しいわけです. 前職(民間企業の研究所)時代もそうでしたが, 同じ場所で長く働いていると, マネジメント的な役割がだんだん増えて, 仕事そのものが, 本来自分がやりたかったものから変質してしまいます. まあマネジメントは誰かがやらないと組織が立ち行かないので, やれる人がやるしかないわけですが. 大学教員としては, 研究と教育に専念できるに越したことはありません.

金沢八景キャンパスのシンボル, 美しく色づいた晩秋の銀杏並木(2025年12月1日朝). 2020年9月にここに来たので, この景色を見るのはもう6度目. 

さて, 今回のテーマはAIコーディング, すなわち生成AIを活用したプログラミング. 今や皆さんもPythonのコードを書く際に多かれ少なかれGeminiなりCopilotなり, あるいはCursor, Calude Code, Antigravityなどのお世話になっていることでしょう.

バイブコーディング誕生から早1年

1年前, Andrej Karpathyがバイブコーディングなる概念を提唱したのが, AIコーディングの一つの転換点だったように思います.

意訳:バイブに100%身を委ね, コードの存在すら忘れ, キーボードにはほとんど触れず, 言葉でコンピュータに指示を出す … エラーメッセージが出てもただそれをコピペするだけ, うまくいかなければランダムに変更させてみてもよい … 意外と悪くない

まさにvibe (雰囲気・ノリ), 巧いネーミングだな~と感心するわけですが, 1年前の状況ではまだそこまでコーディングが変わると想像する人はいなくて, その辺がKarpathyの非凡なところかと.

ものすごい速さで進化

もう1年さかのぼった2年前(2023年末~2024年はじめ)はどんな状況だったかというと, 当時はChatGPTが誕生してまだ1年少々. コーディングが得意ではないうちの学生がChatGPTに指示してPythonのコード(Q-learning: 古典的な強化学習のアルゴリズム)を書かせていましたが, まったく使い物にならないという印象でした.

  • 値は入るが一度も参照されない変数があったり
  • 絶対に発動されない(常にFalseな) if文があったり
  • でもコードの大枠(行動価値Qの更新式やその反復ループ)はまあまあ正しい
こんな具合なので, 人間(= 指導教員😭)がコードをすべてチェックしてバグ取りをして, ようやく動作するという代物でした. ただし, 大枠をAIが考えてくれるというのはそれなりに助けになるので, AIを使うご利益は少しありました.

それから2年が過ぎた現在, 人間が正しい指示さえすれば, ちょっと大掛かりなコードでもほとんど誤りなく生成してくれます. また, 私が書こうと思ったコードを先回りして書いてくれたり, エラーが出たら原因を調べて修正案を提示してくれたり, 本当に今のAIは賢くて気が利きます.

今年1月には, あのLinus Torvaldsがバイブコーディングを使ったというニュースがありました. Torvaldsといえば1990年代, 当時商用OSだったUNIXと互換のオープンソースOS, Linuxのカーネルコードを書いた伝説的エンジニア. そんな達人ですらAIを使う時代になったということです. 

前出のKarpathyは, Anthropic社のClaude Codeの能力について最近のポストで, 11月から12月の数週間で劇的に変わったと述べています. 現在はコードの80%をAIが書き, 人間は残りの20%の手直し程度だとか. 彼も間違いなくコーディングの達人なのに….

Claude Codeの能力向上の核心は, 昨年11月, Google DeepMindのGemini 3とほぼ同時期にリリースされたClaude Opus 4.5と思われますが, そのすごさはAGI界隈も注目するほどでかなりヤバい感じ💦

人類は確実にAGIに近づいています.

ただ現実は甘くない

ここまで書くと, 本稿の問いである「コーディングスキルは不要?」の結論はYESになるように思われます. しかし注意すべきは, 上述の事例はすべて(TorvaldsにしろKarpathyにしろ), 「コーディングのプロがAIを使ったら劇的に生産性が向上した」としか言っていない点です. コーディングの素人がAIを使うと, 状況は逆になります. まさに大学教育において, この逆の状況があちこちで発生しています.

この1年で, 大学の卒論や修論でもAIコーディングの利用が当たり前になりました. そうでない研究室もあるかもしれませんが, 少なくともうちでは, AIの研究室がAIコーディングを利用しないのは自己否定に等しいので😆, 積極的な利用を推奨しています. ただ悲しいことに, AIコーディングを正しく利用できているケースは稀です. ぶっちゃけイケてないです😞

イケてないポイントは以下の2点です.

  1. AIに正しく指示できない
    何をコードしたいのかよくわからないまま, なんとなくプロンプトを書いている. ソフトウェア開発の基本たる設計が甘く, 仕様が不明確.
  2. 生成されたコードを評価できない
    AIがちょっと高度なコードを生成すると理解できないので, そのコードが正しいのかどうか判断できない. 要するにコードレビューができない.

1はまだいいとして(よくないけど), 2は致命的です. 人間がAIのアウトプットに責任をもてないということなので, だったらその人間は必要ないということになります.

コードレビューができない…まさにこんな状況 (Vibe coding memesより)

上述のKarpathyの事例を挙げるまでもなく, AIが80%の仕事をしたとしても, 残りの20%を人間がやらなければ100%になりません. コーディングで80%の仕事はゼロと同じです.

AIは能力格差を増幅する

AIコーディングは能力の高いエンジニアの生産性を何倍にも高める一方, 上で述べたようなイケてないエンジニアの生産性はあまり向上しません. 生産性が能力に比例するのがAI以前だとすると, AI時代の生産性は能力の高い人により有利に働きます. 能力の高い人と低い人の「貧富の差」は拡大し, エンジニアにとって過酷な世界がやってきます.

AI時代の生産性は能力の高い人により有利に働く.

「能力」の質も変わります. AI時代により必要とされるのは, ソフトウェアの仕様を明確化してAIに正しく指示する言語化能力です.

AIに仕事を奪われるということ

AIが人間の仕事を奪うと言われています. ソフトウェアエンジニアは危ないということもよく言われます. 多くの人々にとってまだイメージが湧いていないと思いますが, たぶん下図のイメージです. 従来は1つのプロジェクトに3人のエンジニアがアサインされていたとします. AIの出現により, 能力の高いエンジニアがAIを使って3人分の仕事をこなす生産性を得ます. そうすると, 能力で劣る他の2人は仕事を失います.

1人がAIを使って3人分の仕事をこなすと, 残りの2人は仕事を失う.

ソフトウェア開発という仕事自体はしばらくはなくならないでしょうし, 人間のコーディングスキル(+言語化能力)も不要にはなりません. ただ, 必要な人数が減ります. 能力が低く, AIを使ってやっと一人前というようなエンジニアは必要とされないので, 負け組になります.

コーディングスキルが本当に不要になる日

そうは言っても, 今年の大学入学テストでAIが得点率96.9%を達成したというニュースもあり, AIはすでに一般人の学力をはるかに超えています. コーディングにおいても, 私の実感では平均的な学部生のレベルはすでに超えており, 遠くない将来には人間のエキスパートをも超越する能力を獲得するでしょう. 

もしそうなったら, いよいよコーディングスキルは不要になる? 答えはYES. そりゃそうでしょう. 人間よりAIがずっと優れているんだから, 能力で劣る人間が手を出す余地はありません. 情報系・データサイエンス系の学生がコーディングを勉強する必要もなくなります. 

でも, これが現実に起こった場合, コーディングスキルがどうのこうのという以前のもっと大変なことが起こりますね. 汎用人工知能(AGI)の誕生です. なぜなら, AIが自身のコードをより良いものに書き換えて自己改善できるからです. 

近頃テック業界のリーダーたちは, AIが自身を書き換えて少し改善して…をひたすらくり返すプロセスを自己改善のループ(self-improvement loop)などと呼んでいて, このループが行きつくところまで行けば(ループが閉じれば) AGIが生まれる, つまりシンギュラリティに至ると考えられています.  

今年も1月に開催されたダボス会議のこの対談は非常に興味深い. Anthropic社のDario AmodeiはAIの「自己改善ループ」が1~2年で閉じると予想. Google DeepMind社のDemis Hassabisはより保守的だが予想の方向は同じ.

「もうコーディングの勉強しなくていいんだ!」などと喜んでいる場合ではありません. シンギュラリティの定義上, それより先の未来は予測不能.  AI悲観論者たちが主張する「人類がAIに支配される」のようなSF的な言説は横に置いておくとしても, エンジニアの大量失業とは比べ物にならない巨大なインパクトが人類に降りかかり, 長期的にはわかりませんが少なくとも短期的には世界が混乱状態に陥るでしょう.

結局コーディングの勉強は必要?

まとめると, AIのコーディングスキルが人間を超越するタイミングをシンギュラリティとすると,

  • シンギュラリティ以前: AIの誤りを正すために人間の高度なコーディングスキルが必要
  • シンギュラリティ以後: コーディングスキルはおそらく不要だが, 代わりに何が必要になるかは予測不能

問題はシンギュラリティがいつ到来するかですが, 今はいろんな人がいろんなことを言っていて,

  • 1~2年で到来する説: 前出の動画のDario Amodeiや, 昨年4月にAI2027を発表したDaniel Kokotajloら
  • 10年以上かかる説: 前出の動画のDemis Hassabis (50% chance by the end of the decade)や, 本稿で再三登場するAndrej Karpaty (AGI is still a decade away)
  • それらの中間: 5年以内, 2030年までになど. 今のKokotajloらはここ?

というような状況なので, 誰にもわかりません. だったら, いつ来るかわからないものを当てにして勉強を怠けるよりは, 確実な目標に向かって勉強して, 限られた時間を有益に使った方がいいと思いませんか?

コーディングを楽しむ

コーディングは本来楽しいものです. 授業で先生から課題を与えられてやっているうちはそんな気分ではないかもしれませんが, どうやったらコンピュータが自分の思った通りに動いてくれるかを考えてコードを書き, 検証し, 改良する作業は, 思考力を鍛える良いエクササイズです. コードの書き方次第で, 処理速度が著しく低かったり, ちょっと想定外のデータが入るとあっさり落ちたり, 実装のちょっとした違いで意外と差がつくのが面白いところ.

私はこの世界に入ってから実に30年以上, C/C++ (第1言語), Python (第2言語)などでコーディングをしてきましたが, いまだにコーディングは楽しいです. 授業で配るサンプルコードくらいでも, 自分で問題を考えて自分で解くという作業をしていると, あっという間に時間が過ぎる感覚があります. 

そんな私のような人種にとって, AIコーディングは一長一短です. AIの活用によって, 確かに生産性がずいぶん上がりました. が, 自分でコードを書かなくてもほぼ完成してしまいます. 例えるなら料理と似ています. 自分で作った料理は, 途中で多少の失敗があっても, そのプロセスも含めて間違いなく美味しいです. AIコーディングで書いたコードはスーパーで買ったお惣菜の味です. 以下のツイートは多くのコーディング好きの心を代弁しています(笑)

そう遠くない将来(早ければ1~2年後, 遅い場合は10年以上の後), AIコーディングが人間を凌駕する時代が来るでしょう. それまでは, まだ人間がコードを書く意味があるということです. 一方その先の未来では, コーディング以外のどんなスキルが人間に求められるか, 誰にもわかりません. 当面は, コーディングスキルを養う努力を続ければよいのではないでしょうか?

0 件のコメント:

コメントを投稿